淺談幾種主要編程語言


     經常聽到有人在抱怨這個語言哪里哪里不好,那個語言又是如何的優秀。對於這樣的牢騷,我只是一笑而過。

     就我而言,語言只是工具,沒有好壞之分。只要你采用相應的語言,完成對應的工作,那你的目標就完成了。我們無需抱怨這種語言的缺點,而是應該抱有接受的態度。任何語言的存在都有它的合理性,如果不合理是不會經受住時間的考驗的。世間之物都具有雙面性,只是看利多還是弊大。如果一個東西是十全十美的,那我毫不猶豫的告訴你,一種情況是它不存在,另一種情況是你還沒發現它的缺點。

      每種語言都有自己得天獨厚的優勢,當然缺點同時伴存。C語言是計算機界的常青藤。C語言執行效率高,用於寫底層的驅動那是再適合不過。指針是C語言的精華。而C++是很強大的,只要你是個高手,你幾乎可以利用C++完成任何事情。當然虛函數是C++的精華。Java取消了指針,這是應該喜還是憂。喜的是,沒有C或者C++那種對內存繁瑣的操作,而且也降低了很多致命性的錯誤發生的概率。憂的是,效率大打折扣,采用虛擬機的方式使得Java有跨平台的特性,必然會使得效率降低。另外一個方面,你借別人的東西使用(內存),是不是應該還回去呢?從這一方面考慮,C或者C++的設計思想更有意義。經常關注TIOBE世界編程語言排行榜,Java已經有很久排名第一,我覺得這樣的排名只是看看而已,無需過多的信奉。下面看看幾種主要語言的優缺點。

C語言

C語言的優點:

1.簡潔緊湊、靈活方便

2.運算符豐富

3.數據結構豐富

4. C是結構式語言

5. C語法限制不太嚴格,程序設計自由度大

6. C語言允許直接訪問物理地址,可以直接對硬件進行操作

7. C語言程序生成代碼質量高,程序執行效率高

8. C語言適用范圍大,可移植性好

9. C語言有一個突出的優點就是適合於多種操作系統,如DOS、UNIX,也適用於多種機型

10.有效地將一個較復雜的程序系統設計任務分解成許多易於控制和處理的子任務,便於開發和維護

C語言的缺點:

1. C語言的缺點主要是表現在數據的封裝性上,這一點使得C在數據的安全性上做的有很大缺陷,這也是C和C++的一大區別。

2. C語言的語法限制不太嚴格,對變量的類型約束不嚴格,影響程序的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。

3.可重用性差

4.數據安全性差

5.難以開發大型軟件和圖形界面的應用軟件

6.把數據和處理數據的過程分離為相互獨立的實體

7.當數據結構改變時,所有相關的處理過程都要進行相應的修改

8.每一種相對於老問題的新方法都要帶來額外的開銷 9.圖形用戶界面的應用程序,很難用過程來描述和實現,開發和維護也都很困難

C++

C++優點:

1.可擴展性強

2.高效 簡潔 快速

3.可移植性

4.面向對象的特性

5.強大而靈活的表達能力和不輸於C的效率

6.支持硬件開發

7.程序模塊間的關系更為簡單,程序模塊的獨立性、數據的安全性就有了良好的保障

8.通過繼承與多態性,可以大大提高程序的可重用性,使得軟件的開發和維護都更為方便

C++缺點:

1.比較底層,易用性不是很好

2.多重繼承和友元機制

3.標准庫涵蓋范圍不足

4.開發周期長

5.非並行

6.掌握有難度

7.粒度封裝不夠

Java

Java的優點:

1.簡單性

2.面向對象性(面向對象的程度可以達到95%)

3.健壯性

4.跨平台性

5.高性能(自動垃圾回收機制)

6.多線程

7.動態性

8.安全性

Java的缺點:

1.效率低(毋庸置疑)

2.跨平台是它最大的優點也是最大的缺點

3.復雜性(做一個項目需要很多的知識,涉及面廣)

     很多時候,一種語言的優點很可能是它的缺點,缺點又可能是它的優點。這主要看你是從哪方面去考慮。這就印證了那句話,凡事沒有必然。

     不管是哪種語言,就像文章開頭所言,只要你采用他達到你想要的,那就成功了。無需過多在意它的缺點,更無需贊揚它的優點。所以網上那些關於哪種語言更好的口水仗,我只能說這樣的爭斗毫無意義。

      語言只是工具,沒有好壞之分。

 

      注:此文來自筆者CSDN博客,是前段時間由我發表在CSDN博客上的。我的CSDN博客地址:http://blog.csdn.net/Wentasy

  注:CSDN博客原文:http://blog.csdn.net/wentasy/article/details/7425698

參考資料:

http://www.mscto.com/C/07626105.html

http://topic.csdn.net/u/20081014/09/a38a71e5-78ad-4fda-867d-8628344575a1.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM