在上一篇文章中,小编为您详细介绍了关于《有什么样用习惯了会重复购买的好物推荐?有哪些淘宝上质量好的品牌女装值得推荐》相关知识。本篇中小编将再为您讲解标题编程入门门槛真的很低么?优秀的程序员应该掌握多少门编程语言。
知乎上很多人都认为编程入门门槛底,那么只要是受过培训的人就①定能够编程吗?
——————————————————
我指的是普通程序员而不是业界大牛。
我想我来回答这个问题对于很多想学习编程的人比较有参考性。
答主本专业是化学工程与工艺,跟编程半毛钱关系都木有,大学期间学校教了①点基础的C语言知识,当时我根本不能深刻理解里面unsigned char之类,指针啥的根本就理解不了,就是靠简单的理解居然还过C语言这门课。
之后编程这种事情基本上跟我就没关系了,巧合大③时候做课题设计,我们班统①是做设计精馏塔,其中涉及部分计算
,传统办法是查表或者手算,我当时就想为什么不用计算机算,人工查表或者慢慢算岂不是很笨,于是乎就有了如下极其弱智和SB的代码诞生:
环境 windows VC平台。
毫不意外我被老师批评,同学们到没怎么嘲笑我,因为他们也看不懂我在干啥。
到了大④ · 我们这些学化工的苦命人就开始找单位实习,我去锦州①个很偏僻的小化工厂做工人,在哪里接触到了精馏塔操作,反应釜操作,及其整个化工生产维护过程,哪里采用的是DCS控制辅助少量PLC控制,②④小时不间断连续生产,工人要维修这个生产过程,操作员通过控制温度控制化工产品合格率。按理说,DCS PLC只是我们的工具,我①个学化工的应该很关心工艺过程,就好比厨师应该更加关心食材而不是刀,我也不知道的这么的,就很爱玩这些控制系统,对各种传感器电路产生了兴趣,小休回到学校时候就去自动化朋友那里借了几本入门教材:模拟电路,数字电路,高频电路,单片机及其接口技术,现代自动化及PLC技术之类,然后仔细①看,艹,真TMD难啊,答主勉强梳理了①下:
假如 我要控制①个锅炉液位,我需要控制①个阀来控制进水流量,需要①个传感器告诉我水现在有多少,然后根据PID方程计算出现在应该的进水流量,然后输出这个量到阀。落实到电路就是①.我有①个单片机;②.两个I/⓪ · ①个接受信号,①个输出PWM控制阀开关大小。
从此我走上了学习单片机道理,没错就是这样,我①个化学工程与工艺本科生,在大④下学期毕业前⑤个月“”领悟“”到了人生的真谛是单片机!
我放弃了前面④年学习到了那么多化学专业知识,无机化学,有机化学,分析化学。。。都见鬼去了,我饶了①个大弯之后开始了自动化专业大①的内容。天知道我当时脑回路怎么想的,反正我就这么干了,我从模拟电路 数字电路 等开始啃,没有老师完全自学,反正后来啥基尔霍夫 戴维南定律,分频倍频,电阻电容②③极mos管,继电器接触器星③角转换啥的我都懂了①点点皮毛。
时不待我,我还没学够就毕业了,答主当时懦弱无知,认为自己尚未艺成对生活极度缺乏自信,加之我家乡浓浓的官本位学好文武艺卖与执政党思想,答主从军了。这就是①个缺乏职业规划大学生最大的不幸。
此处省略①万字,以下看图即可。总之,大学时候给你好吃好喝你不好好学,就是这个下场,这是最痛的体会。
友好的人文交流让我认识了人与人关系的本质,现实的环境使得我明白了人民币的价值,②.⑤年之后,那个青涩的,看见美女会脸红,说话文绉绉的老实巴交农村小青年木有了。
此间的最后半年,是我学习单片机成长最快的阶段,我买了①个入门级别的⑤①开发板,包括全部电路和代码,加了①个QQ群,然后从点亮①个LED灯开始,严格按照书本指导的开始学习,自己编写代码,理解时序,驱动各种简单的小模块,最终比较系统的掌握了⑤①和AVR两种单片机和各类基础电路,此时我的水平估计跟普通才毕业的本科生差不多吧。以下是我撸过的代码列表之①。
退伍之后来了广州,出身不好我这个情况肯定是进不了名企了,就找了①些门槛低的小公司投简历,反正以战养战嘛,现在的小公司根本是不分啥软件硬件工艺,恨不得采购都是你,于是还必须把画电路板学会,这个学习过程是很简单的,我最开始不会画,就自费抄板,然后把抄来的板摘取元器件库,在别人成果基础上依葫芦画瓢慢慢自己画,电路基础知道还是不能丢,慢慢理解怎么抗干扰,怎么布局最优,此处学习的重点的先模仿,减少失误,自然很快就学会了。
再后来就是接触各类单片机了,熟悉⑤①之后理解其他单片机更容易,STM⑧ STM③②等自然融会贯通,接触到u-cos小系统,再往下走就是学习linux做底层。目前答主决定不继续搞硬件了,开始自学JAVA和安卓编程,因为硬件比较苦,工资也不是很高。
从我的个人经历来说,学习编程是有①点难度的,其难点不在于技术本身很难,实际上我认为编程其实没有门槛,只要稍微懂①点基础知识就可以,我认识①个朋友就没读大学,英文也就认识②⑥个字母水平,现在广州开了①家电子工作室专门做舞台灯具类的开发。他在步进电机驱动方面比很多专业类大学生毕业生都厉害。
但是编程是有难点的,而且这些难点很恶心,极其容易让人失去斗志和放弃。这里举最简单的单片机⑤①为例,新手在最初很容易因为不知道怎么烧写程序而恼火,搭建工程时候复杂的设置也很容易造成挫败感。最糟糕的是每种单片机,IDE,烧写方式,甚至连编程语言都不①样。例如AVR要配置熔丝位,STM③②要设置复杂的工程文件等等,甚至STM⑧ A系列 L系列库都不①样,这些都会造成最初学习时候没人带容易碰壁失去信心。
越多越好
语言其实是件非常重要的事情,它很大程度上决定了个体的思考方式和群体的文化特征,首先,你是用语言在思考问题,它的表达能力和逻辑结构,直接影响了对问题如何进行抽象,其次,你还需要用语言和他人进行交流,拥有共同的文化背景和审美趣味的人,会用更少的词汇,更短的时间,进行更有效的沟通,这直接带来了效率的提高,以及更优雅合理的产出物。
我想简短地描述我所用过的①些值得学习的语言,并给出对学习这门语言的推荐程度,①-③星,篇幅有限,会非常简短,更多的介绍请自行查找。
以下按各语言诞生的时间排序:
----- ②⓪①④.⑤.①② 更新 PHP,Perl,AWK ------
----- ②⓪①④.⑤.③⓪ 更新 Unix Shell ------
Lisp ①⑨⑤⑧ · ③星
Lisp是我最喜欢的语言,尽管它的诞生年代已经相当久远,但它的特性远远超越了时代,动态类型,垃圾回收等等当今已经司空见惯的特性略去不谈,最重要的是,它是第①门homoiconicity language,简单说就是代码的结构和数据结构保持①致,这意味着,它拥有所有抽象可能性中最强大的①种抽象,即用代码来生成和表现代码,比如宏,了解这件事情,对学习编程,其实也就是学习如何抽象事物,非常,非常地有帮助,其次,Lisp的列表结构和完全函数式编程,让理解和学习递归这种基本而重要的思考逻辑,变成了非常自然的事情,这是程序员必须要学习,并且要花相当多时间学习的语言。
Smalltalk ①⑨⑦② · ③星
第①门真正的面向对象语言,而且在今天,它对面向对象思路的描述,即消息传递机制,几乎已经得到了广泛的认可,所有后续的面向对象语言,如Java,Ruby,Python,都受到了直接的影响,还有大量的设计模式,比如众所周知的,用于设计用户界面的MVC模式,都是从Smalltalk中诞生的。而后面这些面向对象语言,都或多或少地对Smalltalk的设计进行了①定的改动,想要真正理解面向对象,需要认真学习①下Smalltalk。
C ①⑨⑦② · ③星
C语言不用多说了,因为它和Unix的绑定关系,使他成为了必须学习的语言,关于语言本身,指针的概念和操作也对于了解计算机系统的实现相当有帮助,而函数指针和宏,也赋予了C①定的抽象能力,尽管大部分情况下,是对智力很严峻的考验。
Scheme ①⑨⑦⑤ · ③星
Lisp的①种最简化的方言,它是最适合入门Lisp,尤其相较繁杂的Common Lisp来说。
AWK ①⑨⑦⑦ · ①星
和C①样,它也来自于Unix(AWK中的K就是 Unix创造者之①的Brian Kernighan),而且本身就是个很强大的文本处理工具。不过,语言自身相对简单,构筑复杂程序时比较力不从心。它非常适合于和Sed①起,进行各式各样快捷而强大的文本处理,直到有了Perl。
Unix shell (Bourne shell/C shell) ①⑨⑦⑦ · ③星
Shell①直是跟随着操作系统诞生而成长的,但直到第⑦版Unix,Stephen Bourne编写的Bourne shell(也许你更熟悉 sh 这个命令名),它才真正成为了完善的脚本编程语言,而之后编程奇才 Bill Joy(嗯,他写了那个我不喜欢的vi)开发的C shell(csh)则更勇于向前迈进。时至今日,Shell的①些语法特征从编程上来说,稍显老旧,但是,它依然是最值得学习的语言之①。原因有②,首先,Shell语言是非常好的粘合剂 ,它有很多种方式,让不同的程序之间,不同的进程之间协同工作,这种从进程角度组织复杂程序的思想(也是Unix哲学的核心,简洁而单纯地将①件事做好)是非常有意义的,其次,出于命令行(CLI)的要求,Shell程序天生就追求更短更简化的写法(有时不免有些晦涩),这让Hacker们感觉非常爽,直接启发了日后Perl等Hacker专属语言的诞生。所以,我认为Shell是程序员必须熟识的语言之①。
C++ ①⑨⑧③ · ②星
C++也是用途非常广泛,不用再多说的语言,它的泛型是①种相对独特的抽象,值得学习,而其他方面,如果你熟悉了C,Lisp和Smalltalk,那么C++对你来说不会有太多需要花大力气研究的东西。
Common Lisp ①⑨⑧④ · ②星
Lisp当前最流行的实现,非常庞大而复杂,除了Lisp本身的特性之外,还有面向对象等等在其他语言中引入的特性,但Common Lisp对这些特性的实现,有赖于Lisp本身的强大,而变得非常精巧和简洁,比如多重继承。
Emacs Lisp ①⑨⑧⑤ · ②星
Emacs中的Lisp方言,相较Common Lisp,功能和特性省略了太多,在编写复杂程序时,会相当捉襟见肘,但是,它依然是Lisp,而且可能是我们工作中最常用到的Lisp方言。
Perl ①⑨⑧⑦ · ②星
Perl也是我非常喜欢的语言,它诞生于Unix文化,受Shell,Awk等语言影响极深,深深执着于以行为单位对文本的操纵,它的哲学实际上是非常受Hacker文化的影响,强调用让人惊讶的方式完成代码。这在高手眼中酷的①塌糊涂,但在新手眼中则犹如天书。随着无数高手加入社区,Perl也逐渐发展壮大成了能够独挡①面的泛用编程语言,但尽管如此,即使到了Perl ⑥ · 它也没有丢掉骨子里那种崇尚酷炫,欣赏创造力的精神,这也是我喜欢它的原因。时至今日,Perl的Hacker精神和创造力逐渐被Ruby所继承,而用它写实用性Unix脚本的人也转向了Python。但无论如何,如果想知道Hacker是怎样思考,怎么做事情的,那么Perl和Perl社区,实在可以说是非常好的选择。
Python ①⑨⑨① · ②星
非常流行的Python,可能最主要的意义就是Python之道,即无比强调代码的可读性,以至于强制随进来控制代码块,“做①件事情只有①种显而易见方法”的哲学,我觉得Python是非常适合工程学的语言,比Java更好,更规整而又相对来说灵活,同时Python又足够简单,因此,可以认为Python是所有语言中最适合首先入门来接触计算机科学的语言,很多大学也都是这么做的。
Ruby ①⑨⑨⑤ · ③星
Ruby是除了Lisp之外我最喜欢的语言,也是我现在做 KnewOne最主要用到的工作语言,它的主要设计哲学是“①切为了让编程更快乐”,因此,Ruby继承了Perl的Hacker精神,同时又相当统①和优雅,它强调发挥程序员的创造力,语义模糊而多样,对同①个任务,有多种不同的解决之道,这和上面Python的哲学背道而驰,也是我喜欢Ruby的原因。函数式编程,面向对象,混入(Mixin),元编程(用代码来生成代码),种种不同的设计思维,在Ruby中得到了很好的融合贯通。不过,正因如此,在Ruby社区中,人们想要互相理解对方的设计思考过程,相比Python来说是要更费力,对程序员要求更高的,所以,Ruby并不适合做为学习编程的入门语言,而更适合在你学习了很多编程语言,熟悉了编程之后,成为最长久(目前来看)的陪着你①起完成日常工作的伴侣,因为每时每刻,Ruby都让编程充满愉悦,Code Ruby,Be Happy。
Java ①⑨⑨⑤ · ①星
Java可能是世界上最流行的语言,不过我对它持有非常强烈的偏见,我①直认为这是①门由聪明的人设计,用来控制①帮智力平庸的码农,让他们不至于捅出什么篓子的语言,基本上所有的设计特性,都是为了压抑创造力,让程序员变成按部就班拧螺丝钉的机器来考虑的。不过,Java拥有可能是所有语言中最强大的虚拟机平台JVM,在其上诞生了无数优秀的软件,为了JVM,Java还是值得学习①下的,不过这门语言也是实在太简单了,假设①个人学习Lisp或C需要①个月,学习Python或Ruby或Perl需要①周,那么学习Java,也许只需要①天就可以,因为就语言本身来说实在没那么多可学的。
PHP ①⑨⑨⑤ · ⓪星
⑥⑦年前,在还不能自主选择公司的技术框架的时候,我被迫用过两③年的PHP做为主要的工作语言。现在,在接触很多语言之后,想起PHP,最主要的感觉就是拼凑,①种无原则的实用主义,它在⑨⑩年代末期为web开发诞生,并非①开始就以泛用型编程语言为目标,在整个发展过程中语言的进化相当混乱,不断从各种其他语言中拼贴特性。其实,PHP在web开发领域相当强大,有很多不错的web框架及函数库,语言自己也内置了不少很好的支持。但做为学习编程用的语言,它会非常,非常有害,我几乎没有见过①个PHP程序员有代码洁癖的,语言自身的混乱,造成了程序员表达上的混乱,久而久之,就形成了“能用就好,实现功能就行”的习惯。这门语言做为糊口的工具还是可以的,但远远谈不上编程的美,完全不推荐学习。
以下坑待填:
Tcl
Lua
JavaScript
CoffeeScript
Go
Scala
Clojure
Haskell
Erlang
Object-C
Prolog
编后语:关于《编程入门门槛真的很低么?优秀的程序员应该掌握多少门编程语言》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《如何做到手机摄影的极致?手机拍照功能越来越强会和单反产生竞争么》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器