HTML HTML HTML HTML
本人一共学习了四种语言,按照在个人心目中的重要性排序,依次为C#,JAVASCRIPT,Python,PHP。
C#:
编程语言虽然种类很多,但由于本人不涉及系统级开发,因此C语言,汇编之类的,不在本人学习的考虑范围之内,因此只会选择高级语言。
虽然高级语言的种类非常多,其实从用途与效能来看,主要就分两个大类——动态语言和静态语言。
动态语言就像自行车,学习简单,语法简洁,不用配置一大堆东西,随便拿个编辑器就能写,写起来又简单又舒服,还不需要编译,保存一下就能用。去菜市场买个菜,去小卖部买盒烟,没有比自行车更好的选择了,蹬起来就走,还不用担心堵车。
静态语言就像汽车。写代码前,先要配置IDE,语法强类型,语言结构复杂,如果不用IDE,还真有点写不出来。写完代码还要编译,程序大了,一编译就是几个小时。就像汽车一样,启动贼慢,油门,离合,脚刹,手刹,方向盘,大灯,尾灯一大堆。不仅要注意交通规则,一不小心就被扣分,而且一出门还各种堵。
但如果问你,是自行车重要,还是汽车重要?你会怎么回答?任何人初学的时候,怎么比都觉得自行车好。但走个远路,想法立刻就变了。
编程语言也是一样。初学的时候,怎么看都是动态语言好,声明变量不用写类型,直接$a=1,var a=1或者直接a=1就行了,声明函数也不用考虑类型,直接function Hello(a,b)或者def Hello(a,b)就行了。
而静态语言呢?又是public int a=1;又是public Void Hello(string a,int b) 这种写法怎么看怎么罗嗦。怎么比都是觉得动态语言好。前面说了,就像车一样。出趟远门想法就变了。写个大点的程序,就明白静态语言为什么重要了。
所以,为了证明自己是实际工作过的,心目中的第一语言当然必须是静态语言了。而主流的静态语言,也就C++,JAVA,C#三种。本人没有学习C++的必要,前面已经说过了。于是就只有JAVA和C#了呗。
为啥没选Java呢?尽管JAVA比C#的工作数量要多,但全都集中在互联网行业。虽然互联网行业很火,但任何行业都会有不火的那一天。把饭碗完全押在一个行业,我觉得是一种风险。
C#适用的行业,其实比JAVA要多得多,除了互联网行业,还有很多别的行业可以搞。比如游戏开发、工业机器人开发、医疗设备开发、GIS开发等等。
这里奉劝一下迷信动态语言的初学者,静下心来去学一门静态语言吧,JAVA也好,C#也罢。否则你只是喜欢车,而并无法成为一名真正的司机。。。。自行车骑的再溜,就算可以撒把骑,倒着骑,出趟远门,还是会被虐成渣的。
JavaScript:
本人一点也不喜欢这门语言,我相信绝大多数在职程序员,都不喜欢它,它就像个半成品一样,各种不严谨,面向对象各种奇葩。。。但为什么把它排第二?因为只要搞web,就没得选。虽然后来出了Typescript能解决大部分JS的缺陷。但本人已经实在不想再去学一门新语言了。。年过三十不学艺,33岁的我却已经丧失了学习的动力。。同样奉劝初学者,如果你未来的工作中需要编写大量的JS代码,那可以考虑从一开始就学一下TypeScript,初学时费事儿,是为了将来工作之后可以偷懒儿。。。
Python:
十几年前,刚上大一,打算学一门动态语言做热更新。在室友的忽悠下,学了一个非常冷门的语言——Python。很意外的是,十几年后,它竟然成了网红。。。不过我初学Python的时候,它可一点也不红。那时候我还太年轻,没意识到维护代码的重要性。就觉得Python语法好爽啊。由于同样动态是动态语言,爽归爽,程序稍微写大一点点,照样各种晕。后来工作了几年,想法相对成熟了一些,逐渐开始觉得Python只能算是一门平庸的语言吧,跟PHP差不多。正值当时Python刚开始在网上“打广告”,看到网上一群人狂吹Python,觉得十分可笑。
如果可以重新选择的话,我的选择会是Lua。脚本语言本就是用来打杂的,并不需要做太多事情,我觉得Lua才是最适合的打杂工具,小而精,能做的事情不多,但恰到好处。Python太臃肿了,脚本语言根本不需要那么多内置函数,更不需要那么多包和模块。喧宾夺主,只会让程序越写越糟糕。。不过也无所谓,不用即可。
PHP:
学这个只是因为赶上有一段时间,招聘PHP的岗位比较多,而且用来搭个简单的小网站,PHP也确实比较方便一点。那时候学它也算是迫于生计吧,不过现在这股劲头过去了。反而显得有点多余。。。