天天看點

程式設計學習初體驗(3. 語言的選擇)

程式設計語言的選擇應該說是學習程式設計時碰到的第一個問題,并且這個問題會在今後相當長的一段時期(一年到幾年)内一直萦繞在你身上。根據我自己的認識, 對于這個問題,沒有人能給你一個确定的答案,但是你會發現身邊的人一直在為這個問題在論戰。至于我, 我也同樣沒辦法給出一個放之四海而皆準的答案,我能說的隻有三點:

1. 每種現存的語言都有其存在的合理性;

2. 沒有任何一種語言是能夠包打天下的;

3. 程式設計入門應該根據自己以後的發展需要來選擇。

就第一點合理性而言,是很顯而易見的。 實際上, 在這個世界上曾經出現過的程式設計語言的種類遠遠超過目前依然存在的數目。語言本身就在經曆一個優勝劣汰的過程。 剩下的語言本身就具有其不可替代性,是以具有其一大批使用者和信衆。是以武斷地認定某種廣為流行的語言是否時髦是沒有意義的。

其次, 從我自己對各種語言的嘗試經曆來看,的确是沒有任何一種語言能夠一統江湖的,現在沒有,以後也沒有。 我想,其原因在于不同的語言的設計和與之想對應的應用領域是相關的。例如彙編語言多用于硬體相關的開發, C語言和彙編語言多用于作業系統底層相關的開發以及C++,Java和C#用于應用程式開發三個不同的領域。 這三個不同應用領域有着不同特征和對語言表達能力的相應要求,是以是沒辦法互換的。 硬體相關的開發注重的是性能和實時性,對于邏輯的複雜性沒有太大要求;作業系統的開發既需要考慮硬體問題,有需要對上層應用程式提供一個統一,友善和有效 的接口界面;而應用程式的開發往往需要包含複雜的邏輯和體系結構。 是以,如果你說java比彙編好,因為java語言清晰快捷;或是彙編語言比java好,因為彙編語言是所有語言的基礎支援,那麼你說的都是正确的,但是 都是沒有意義的。因為誰也不可能取代誰,他們之間的關系是:各司其職;而非誰吃掉誰。

最後回到語言的選擇這個問題上,初學入門應該學什麼語言。我覺得總體而言,不同領域的初學者應該選擇不同的語言。電子工程專業出身的人,應該以彙編和C語 言的學習作為入門,因為這兩個語言和今後的工作最為密切相關,也是以後賺錢的“金剛鑽”的所在。而計算機專業出身的初學者就相對複雜一些,如果是學系統結 構專業的,應該主攻C和C++語言。如果是學習軟體工程的,則Java和C#是不二之選。 當然,這這裡我不讨論個人興趣問題,學電子的對java有興趣也沒什麼錯。

     本文轉自nathanxu 51CTO部落格,原文連結:http://blog.51cto.com/nathanxu/110073,如需轉載請自行聯系原作者