反思自己用過的程式設計語言

來源:互聯網
上載者:User

       從高三用JavaScript編出第一個程式到現在已經有6年了,但靜下心來想一想自己正真精通的語言也幾乎沒有,只不過每種語言我都掌握了那麼幾個奇技淫巧,不足道也。     

     按接觸時間的早晚一一列出來數落一下吧:   

   1.JavaScript     

     我接觸的第一門語言竟然是JavaScript,那時候高中15天才放一次假,然後我就跑出去上網,覺得網頁裡面彈出的對話方塊和一些網頁特效很有意思,於是經常琢磨別人的網頁,收集代碼,最終的結果也只是會用JavaScript校正一下表單什麼的。      多年以後,Google的Gmail掀起的Ajax的大潮才讓我開始重新認識這個其實應該叫做EcmaScript的語言的強大,於是開始瘋狂迷戀,甚至曾經有段時間我連寫ASP都用JScript而不用VBScript 。     

    2.C語言     

    提起C語言,腦海裡閃過這麼幾個關鍵詞“譚浩強、電腦等級考試”。到現在為止我用純C語言寫的程式也沒有幾個,稍微拿得出手的只有這個多線程下載器:http://fxsjy.javaeye.com/blog/173325 。還有就是曾經搞過一段時間的ACM , 那段時間我非常偏執“效率”,連C++的STL都不想用,現在想想挺幼稚的。     

    3.C++語言     

     我其實對自己的C++一直沒有信心,每每聽到別人談論C++牛人,都佩服得不行。也曾經慢回信心的專研侯捷的《深入淺出MFC》,但發現還是一頭霧水,只在Class Wizard大哥的指引下寫過幾個小程式。於是一怒之下改用QT,發現真的很爽,唯獨一個缺點就是沒有好的IDE。但是由於種種原因,現在也沒研究QT了,遺留下一個小程式,是用來切換IP的。http://download.csdn.net/source/162303

    4.Delphi語言       

     第一次用Delphi語言是為了幫一個老師設計一個資訊管理系統,當我第一次面對這麼豐富的控制項時我驚訝於Borland的偉大了,還有飛快的編譯和運行速度,這一切都足以讓我拋棄VC了。相當長一段時間Delphi都是我的最愛,我用它寫過投票機、影像處理程式等等,到後來接觸到了“大富翁論壇”,才發現中國的Delphi 高手如雲,開始接觸到了很多駭客編程技術,比如Hook,RootKit,BHO等等。但現在想起來,這些是不是也屬於“奇技淫巧”呢?      

     5.C#及.NET Framework       

      大四的時候對搜尋引擎高度興趣,於是想寫個Spider玩玩兒,做個校內搜尋引擎,首先當然想到用Delphi,於是用Indy做下載網頁的工作,但是文文書處理和抽取麻煩了,Delphi沒有好的Regex模組而且對於什麼GBK,UTF-8字元轉換什麼也不是很方便。後來,聽說Delphi之父去了微軟,研究出C#,於是決定研究一下,好傢夥,太美了,不僅有優美的文法而且什麼庫都有。這不正是我需要的東西嗎,於是便用C#重寫了爬蟲,前端在加個Lucene.Net , 於是乎一個搜尋引擎誕生了。唯一讓我不爽的是,程式不是原生的,需要安裝巨大的.Net Framework。          

      6.Python      

      本科畢業後的暑假期間我無意之間接觸了Python,一口氣讀完了一個清華的學生寫的Python系列部落格,我驚訝於Python的美了,這不正是我這樣的“懶人”需要的程式設計語言嗎?list,dict,tuple,Guido只用一些簡單的玩意兒就搞定的所有資料結構的工作,還有bisect,sort等等涉及演算法的模組,My God,寫程式真的只需要idea而已了。下載網頁也只需要urllib2.urlopen(..).read()。通過Google,你幾乎能找到任何你需要的Python庫。於是乎,我又開始重寫我的搜尋引擎了,換掉了Lucene , 用bsddb做核心組件,自己開發了一個索引系統,這個系統目前已經用在www.zhimaa.com 。 而且,python寫的程式還可以用py2exe打包成exe,滿足了我的虛榮心:-) 。      

       7.Java      

       其實接觸Java很早了,早在高中就看過一些書,但是一直覺得Java 者玩意兒又慢又占記憶體,所以相當長一段時間都鄙視它。直到讀研後,由於實驗室天天用Java ,在實驗室的諸多Java高手的指導下,開始體會到Java 的美,體會到什麼叫設計模式。這才恍然大悟,原來自己以前學習程式語言的路線很有問題,老是偏執於小技巧,重來沒有考量過設計,以至於寫的代碼根本拿不出手,也沒有任何的重用性,不過那時候也根本不懂開源,重來沒想過把自己的代碼給別人看。後來開始學是各種架構和庫,Spring,Hibernate,WebWorks,Lucene,Axis,Commons系列等等,用MVC的思想設計網站。開始體會到這確實比ASP要美一些,但是每當等待Tomcat Reload 的時候我就在想,分這麼多層有必要嗎?我只是想做個網站。再後來接觸了正統的EJB體系,才開始慢慢明白企業軟體的一些道道,不是我想象的那麼簡單,抽象和分層都是很有必要的。只不過現在這些體會都還不清晰,也許過些時候我可以寫出來。     

       8.PHP, AutoIt, D語言     

       這三個語言我都使過,但是不多,基本上屬於邊寫邊查文檔的水平。對php的印像是要寫個website太tmd 方便了,配合mysql+apache,無敵了。 AutoIt是一個不錯的自動化軟體,可以用來寫發貼機、遊戲外掛等,而且寫出來的程式還可以編譯成很小的exe,很方便。D語言是去年下半年才接觸的,曾經對他瘋狂著迷,原生代碼、內建Regex、字典結構、記憶體回收等都是嚴重吸引我的地方,用它寫過一個小程式:http://fxsjy.javaeye.com/blog/131382 ,但是很快發現D還是不成熟,沒有像python,java那樣豐富和靠譜的庫,所以現在基本不用了。       

         小結:寫到這裡忽然感覺有些悲涼,我只是一個技術男,學了這麼多語言,卻沒有精通的,也沒有用他們創造出什麼偉大的東西。中國像我這樣的程式員應該不少,不知道是教育體制的問題還是個人的原因。路漫漫其修遠兮,吾將上下而求索……     

         小孫 (2008-5-21)        

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.