採用一門新編程語言,或不採用

我大致上對編程語言感興趣。特別低,我一直對另外一門編程語言 如何可以提供給我表達程序的新特性以及容許我成長爲一名程序員 感到好奇。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
文章首發:臘八粥

相關文章
相關標籤/搜索