我大致上对编程语言感兴趣。特别低,我一直对另外一门编程语言 如何可以提供给我表达程序的新特性以及容许我成长为一名程序员 感到好奇。html
我在校时学到了第一门语言。那儿的电脑------一屋子都是PET 2001,那时候他们是新潮的------只有BASIC,很快就让我失望了。在大学,我开始了一门Pascal的课程,闲暇作了不少编程。Pascal很快填补了我在BASIC发现的恼人的不足。程序员
带着兴趣我学习了FORTRAN基础,可是历来没有真正用过。Modula 2 出现了,甚至有更大的编程分配,可是没有真正引发个人兴趣。我发现Ada更有意思,不过在进程控制课程以外不多有机会使用。我接触了一点儿Forth,可是再一次没有真正的应用程序来实践。shell
当我接触C时,最终被吸引住了。那是,最终的,“真正的语言”,在某种程度上,我能够彻底掌控的一门语言,不只在技术情景------对于个人大部分专业生涯,它是让我过得很好的主要因素之一。编程
我在大学还学了其它有意思的语言,好比,Tcl,不是最伟大的语言,但它是一个很是易于嵌入的解释器。很快,我把它嵌入了我写的每个主要程序。我学了一点儿Prolog,但还不够,我很遗憾。编程语言
可是我对函数式语言产生了极大兴趣,并在那个领域取得了更多进步------主要是Lisp、Hope、ML,Lisp是我本身构建实现的惟一语言------或者,不止一个。起初对于一项任务,和一名合做学生一块儿,在Modula 2上。咱们不喜欢那门课程里的某些要求,没有如此多的实现语言,所以随后,咱们用C作了一个类似的。数年后,我用Java作了一个Lisp解释器,后来还用C作了另外一个Lisp解释器。全部这些都不是真正彻底的------特别是后面的垃圾回收有点儿着急,回收了它不该该回收的东东,可是二者都实现了一个小型但“真正”的Lisp,可以使用递归和高阶函数,有可用的基本内建命令。在此期间我用Go写了一个,它是它们当中最完整的,尽管还在我收藏的玩具语言分类、而不是有用的编程环境。函数式编程
正如前面提到的,C对于个人大部分专业工做是有帮助的,也是我目前在用的。可是其余语言进入了视野,主要是Perl。当我想尝试某个东东或不得不仅实现一点儿功能时,Perl甚至变成了个人默认语言。这不是由于我对Perl的技术有点有着高度评价,不过它随处可用,每一个人了解它,所以和C比起来,不少事情用Perl不能否认地更加容易,因此Perl已经变成了一种习惯。虽然我不是Perl的最大粉丝;我发现它到处不雅和粗野,总在试图鼓励其它语言的有疑问的编程习惯。还有,它用相对较少的努力就能把事情搞定。函数
在此过程当中还有其它语言我发现有意思,可是没有找到足够时间(或实践机会)去真正学习它们------LUA、SNOBOL,APL(或J)浮如今脑海。我早晚不得不要用JavaScript工做,可是我认为它很是无聊。学习
而后我看了愈来愈多的Go。Rob Pike的一篇文章最终让我深刻进去,关于我一直想去作的东东。如今它貌似是一门好的语言,内建了伟大思想,还有继承了与C和其后代语言一块儿成长的程序员的习惯。Go有潜力把我带回20年前我脑子里充满C的那种愉悦,结合了一门最终的优雅语言(虽然不如Lisp或更加现代的函数式语言优雅)的温馨和实用(像Perl)。我将拭目以待;如今除了一些简单程序和用Go实现的上面说起的Lisp解释器,我没有作更多。.net
后来有了Haskell。我在90年代早期就对Haskell感到好奇,当时我作为一名学生(参考上面)接触了其它函数式语言。有人给我一篇关于在ACM SIGPLAN Notics上面的Haskell的文章。Haskell那时候仍是新的,可是它已经成长了数十年,它仍然存在,我认为这是好的信号。因为我老是喜欢函数式编程,这或许是我一块儿成长的语言。htm
如今对我来讲,采用一门新语言的最大障碍不是学习的难度和为了实际任务的加速学习,而是其余人。让我遗憾的是,个人工做场全部一种文化,人们大部分在独立地作他们的开发项目,当原做者在度假、或者原做者离开后作进一步开发时,其余人可以修复问题,这仍然被认为是重要的。固然我赞成这一点。可是当其余人只是对一样事情不感兴趣时,才会使得采用一门新语言变得困难。哎,他们好像不是这样。
除了使用shell脚本,咱们工做时用C,差很少也用Perl,不过我爱用Go或Haskell工做。我愿意在工做中使用,来让个人工做更加简单和有趣。可是因为没有人可以接手用这些语言作的项目,我还不能那样作。(有我的对Go有足够的兴趣,我猜的,但他是名学生,一两年后会离开咱们。)太让人失望了。或许我应当尽可能发起 下一步咱们应当采用哪一种语言的 某种共识------不过我担忧兴趣不够而剩下C和Perl的老路。毕竟,他们已经采用Perl作为一门新语言甚至不到20年,那么,为何一样的情景这么快就再来一次呢?
原文地址:http://jyrgenn.dreamwidth.org/30953.html
文章首发:腊八粥