exploreXin
2020-03-10 21:30:50 +08:00
如果条件允许,时间和精力足够充裕,正统的学习流程应该是:C 语言,之后 C#, Java, C++三选其一学一个,其中如果学 C++请选择一个适合自己工作背景的最小的特性集学习,之后脚本语言 php , python,ruby,perl,这几个脚本语言学下来基本上去中小型企业找工作都十拿九稳了,再之后想学就是返回来学习 C 语言的前辈,汇编语言,再加上一点硬件知识和计算机体系结构的学习,这时你会发现万能的 C 其实也不是能力最强大的,C 只是汇编的高层抽象与封装,汇编的世界里是很神奇和强大的,几近可以为所欲为。到这里,学了一圈回到 C,现在命令型和面向对象语言基本已经了解的差不多了,再想学的话,接下来就是突破范式的壁垒,去研究一下函数范式,JavaScript 可以当做入手语言,注意 JavaScript 只是具有函数特性的命令范式语言,并不算是真正的函数范式,之后可以尝试学习 Lisp 及其方言,Coljure,Scheme 等真正的函数式编程语言,或者如果想体验纯函数式不掺杂一点杂质的学术性语言 Heskell, 也是可以的。如果到这里还有精力,可以了解逻辑范式的编程语言,prolog 是其中的代表,如果不想深入人工智能领域的工作岗位,可以点到为止,尝尝鲜就好了。至此,四大范式:命令型,面向对象,函数式,逻辑式,已经全部有所领略。这时的你,会发现已经获得了七天精通任何一门编程语言的能力,虽然编程语言总共有数千种,并且还在一直增加,但是大体的范式与特性在常见编程语言当中都有所实现,重要的不是学会全世界所有的语言,重要的是领悟编程语言背后共通的编码原则与设计哲学,这些看似神仙般原则与哲学,才是回报收益率最高的。另外提一下,接触的语言越多,学习的速度会越快,并且会指数倍的向上提升,那种融会贯通,高屋建瓴的领悟能力,是自己领略之后,才能体会到其中的乐趣与震撼的,不要被上面一大堆语言吓倒,只要喜欢编程,不管是谁都是可以去学习与探索的。