我為什麼減少使用C++ (轉)
選用那種語言作開發是一個非常複雜的問題。有時開發者是沒有選擇餘地的,比如客戶可能出於某種原因規定專案必須採用某種語言,或者有決定權的經理因為自己有過使用某一種語言的經歷而要求自己所管理的開發人員使用這種語言開始專案。拋開這些情況,當你作為一個開發者,有權利選擇自己所使用的語言時,你會基於什麼原則做出選擇?
在這個問題上的爭論非常多。經常有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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- (轉)Oracle為什麼不使用我的索引?Oracle索引
- 我為什麼使用 JavaJava
- 為什麼沿著梯度的反向函式值減少的最多梯度函式
- 我為什麼要使用Webpack?Web
- 我為什麼從php轉go?PHPGo
- 為什麼我還在使用JavaEE?Java
- 【React】為什麼我不再使用setState?React
- 為什麼我不再使用MVC框架?MVC框架
- GC是什麼?為什麼我們要去使用它GC
- 使用MVVM減少控制器程式碼實戰(減少56%)MVVM
- 為什麼我從 Angular 轉向 ReactAngularReact
- C++是什麼意思,為什麼叫C++?C++
- 我為什麼不推薦使用BeanUtils屬性轉換工具Bean
- 為什麼我停止使用Spring?Spring
- 為什麼我在使用Linux桌面?Linux
- 為什麼遊戲DLC的精品那麼少?遊戲
- 什麼是介面?為什麼使用介面? 什麼時候使用介面?(轉)
- 我為什麼從python轉向goPythonGo
- 為什麼我棄用Angular,轉向ReactAngularReact
- 使用rownum減少函式呼叫函式
- 我為什麼要做IT
- 在 Go 語言中,我為什麼使用介面Go
- 為什麼我們做分散式使用Redis?分散式Redis
- 我們為什麼要使用CRM系統?
- 我為什麼要使用谷歌瀏覽器谷歌瀏覽器
- 我們為什麼要使用GO語言?Go
- 為什麼我反對過度使用TypeScript?TypeScript
- 我為什麼使用Linux做開發Linux
- 我們為什麼要從 HTTPRunner 轉向 MeterSphereHTTP
- 專案管理為我們贏得什麼(轉)專案管理
- 減少C++程式碼編譯時間的方法C++編譯
- 減少ORACLE中的磁碟I/O(轉)Oracle
- 為什麼女程式設計師會這麼少?程式設計師
- C++中為什麼使用指標比使用物件本身更好?C++指標物件
- 為什麼我希望用C而不是C++來實現ZeroMQC++MQ
- 轉:我們到底為了什麼鑽研技術?
- 為什麼我的.htaccess檔案會被忽略(轉)
- “少踩坑”,拿到offer後,我們可以做什麼?