我為什麼減少使用C++ (轉)

amyz發表於2007-08-17
我為什麼減少使用C++ (轉)[@more@]

選用那種語言作開發是一個非常複雜的問題。有時開發者是沒有選擇餘地的,比如客戶可能出於某種原因規定專案必須採用某種語言,或者有決定權的經理因為自己有過使用某一種語言的經歷而要求自己所管理的開發人員使用這種語言開始專案。拋開這些情況,當你作為一個開發者,有權利選擇自己所使用的語言時,你會基於什麼原則做出選擇?

在這個問題上的爭論非常多。經常有C++的擁護者提出學會了C++,就可以應付各種領域的問題。或者的使用者宣稱C++已經過時了。最近又看到有人倡導使用Lisp,因為其優美。

作為一個C++的長期使用者,我曾經用C++完成幾乎一切工作,從專案的開發,到一些很小的,但需要寫來完成的工作,如一些格式的轉換。長期積累的使我瞭解C++語言的很多細節,我同樣熟悉C++的標準類庫,因此在對語言的掌握上不存在大的障礙。但我感到即便如此,開發仍舊比較低。

我的開發平臺一直主要是DOS,後來是。Windows對開發者不夠友好的一點是它沒有提供一個好的。如果你想使用一個批處理檔案來完成稍為複雜一點的任務,比如一個專案的build,都將是一個挑戰。後來我了cygwin,開始使用一些工具,如tr,sed,lex,yacc等,我發現有些任務不再需要使用C++了。因為用其他的工具更方便。

語言進一步減少了我對C++的使用。儘管對我來說,Python是一門新的語言,但我發現,即便是把熟悉它所需要的時間算在內,有時用Python還是比C++效率要高。其中的一個原因在於Python有更多現成的庫。

同Java相比,C++在庫方面的弱點更加明顯。從處理到圖形介面,Java都提供了功能強大的類庫。而C++儘管在某些方面有一些對應的庫,但C++語言的複雜性導致了編寫類庫的難度和使用類庫的難度。而類庫的缺乏就意味著必須要作一些重複性的工作,除非你編寫一些供自己使用的類庫。

開發工具的支援?,liJ a,JBuilder,beans,這麼多優秀的IDE使我不再想念Visual C++的IDE帶來的方便。更重要的是,Java的IDE通常提供了較強的Refactoring功能。 而Ant也使我減輕了對Shell的依賴。

但我仍然要使用C/C++。最近我參與了一個跟有關的專案,硬體的firmware只能用C來寫(還好,不需要太多)。

現在我對程式語言的選擇標準是:根據開發需要,選擇效率最高的。當然,維護的工作是要考慮在“效率”中的。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-963789/,如需轉載,請註明出處,否則將追究法律責任。

相關文章