當前位置:編程學習大全網 - 編程語言 - 計算機的語言有哪些?

計算機的語言有哪些?

C

雖然C語言在內存管理方面存在嚴重缺陷,但在壹些應用領域仍然占據主導地位。對於那些要求效率最高,實時性好,或者與操作系統內核密切相關的程序,C仍然是壹個不錯的選擇。

c良好的可移植性也為其加分。但是現在很多其他語言的可移植性越來越強,C在這方面的優勢可能會逐漸喪失。

很多現有的程序可以產生很棒的C代碼,比如解析器、GUI Builder等。這時候C語言也有吸引力,因為妳需要寫的代碼只是整個程序的壹小部分。

再者,當然要認識到C語言對於程序員有著不可替代的價值。就我這裏討論的每壹種語言來說,只要妳挖掘的足夠深入,最後妳會看到它們的內核都是用純可移植的c寫的。

在壹天中的這個時候,我們最好把C看作是UNIX虛擬機上的高級匯編語言。

即使其他高級語言完全可以滿足妳的工作需求,抽出時間學習C語言還是有好處的,可以幫助妳在硬件系統層面進行思考。

即使在今天,最好的C語言課程是K & amp發布於1988。r第二版C語言程序設計。

總結:C最好的地方是高效,接近機器,最差的地方是內存管理地獄。

C++

C++在1980年代中期首次發布,當時面向對象語言被認為是解決軟件復雜性問題的靈丹妙藥。C++的面向對象特性使其全面超越C。支持者認為C++會迅速把上壹代語言擠進展廳。

但歷史並非如此。原因至少部分歸因於C++本身。為了與C兼容,C++被迫做出許多重大的設計妥協,導致語言過於華麗和復雜。為了兼容C,C++沒有采用自動內存管理的策略,從而失去了糾正C最嚴重問題的機會。

另壹部分原因,恐怕是面向對象。看來OO沒有達到人們的預期。我曾經調查過這個問題,發現OO方法的使用導致了組件之間很厚的粘合層,帶來了嚴重的可維護性問題。今天,我們來看看開源社區。妳會發現C++的應用還是集中在GUI、遊戲、多媒體工具包上,其他地方很少用到。要知道,面向對象只是在這些領域被證明非常成功,開源社區的選擇很大程度上體現了程序員的自由意誌,而不是公司管理層的隨意指揮。

可能C++實現OO的方式有問題。有證據表明,C++程序在整個生命周期中的成本高於相應的C、Fortran和Ada程序。但是,不清楚這是否應該歸功於用C++實現的OO。

這幾年C++加入了很多非OO的思想,變態的思想類似Lisp,STL的出現非常了不起。

事實上,C++的根本問題在於,它基本上只是另壹種傳統語言。STL中的內存管理比之前的new/delete和C的方案好多了,但還是沒有解決問題。對於很多應用來說,它的OO特性並不明顯,與C相比,除了增加復雜度,並沒有獲得多少好處。

總結:C++的優點是作為壹種編譯語言,它將效率與泛型和面向對象的特性結合在壹起,但它的缺點是過於華麗和復雜,並且傾向於鼓勵過於復雜的設計。

Java 語言(壹種計算機語言,尤用於創建網站)

Java的設計非常巧妙,它采用了自動內存管理,這是最大的改進。雖然支持OO設計帶來的好處不是那麽突出,但也是非常值得稱道的。與C++相比,它的OO設計小巧簡單。

與Python相比,Java有壹些明顯的錯誤。有些地方設計還是太復雜,甚至有缺陷。Java的類可見性和隱式作用域規則太復雜。接口機制是為了避免多重繼承帶來的問題而設計的,但是理解和使用起來還是比較困難。內部類和匿名類會導致代碼混亂。缺乏有效的析構函數使得管理內存以外的資源變得困難,比如互斥體和鎖。Java線程不可靠,其I/O機制非常強大,但是讀取文本文件非常麻煩。

Java沒有管理庫版本的機制,從而在形式上重蹈Windows DLL hell的覆轍。在像應用服務器這樣的環境中,這會導致很多問題。

總的來說,除了系統編程和要求高效率的程序,我們可以說Java在大多數領域都優於C++。經驗表明,Java程序員要像C++程序員那樣構造壹個過度的OO層並不容易,但在Java中仍然是壹個嚴重的問題。

Java是否優於Perl、Python等語言?我們還不知道,而且似乎很大程度上和節目的規模有關。它的專業領域基本類似於Python,在效率上比不上C/C++,在大量使用模式匹配和編輯的小規模項目上也比不上Perl。在小項目中,Java太強大了。我們猜測Python更適合小項目,而Java適合大項目,但這並沒有得到有力的證明。

計算機編程語言

Python是壹種可以和C緊密結合的腳本語言,可以和動態加載的C庫模塊交換數據,也可以作為嵌入式腳本語言從C調用。它的語法類似於C和模塊化語言的混合,但是它有壹個獨特的特點,就是通過縮進來確定句子塊。

Python語言非常幹凈,設計優雅,具有優秀的模塊化。它提供了面向對象的能力,但不強制用戶進行面向對象的設計。它的類型系統提供了強大的表達能力,類似於Perl,帶有匿名的lambda表達式,讓Lisp黑客感到親切。Python依靠Tk來提供方便的GUI界面開發能力。

在所有的解釋語言中,Python和Java最適合多個程序員以漸進的方式開發大型項目。在很多方面,Python都比Java簡單,而且非常適合快速原型化,這使得它對於Java來說有著得天獨厚的優勢:Python非常適合不是很復雜,對效率要求不高的程序。

Python的速度無法與C/C++相提並論,但在今天的高速CPU上,合理使用混合語言編程策略可以有效彌補Python的上述弱點。事實上,Python幾乎被認為是最慢的主流腳本語言,因為它提供了動態多態性。在大量使用正則表達式的小項目中,不如Perl。對於微項目,shell和Tcl可能更好,Python太強大了。

總結:Python最棒的壹點是它鼓勵清晰易讀的代碼,這特別適合以循序漸進的方式構建大型項目。它的缺陷在於效率低,速度慢,不僅和編譯語言相比慢,和其他腳本語言相比也慢。

  • 上一篇:編程是學些什麽東西壹
  • 下一篇:樂高玩具跟其他玩具有什麽區別?
  • copyright 2024編程學習大全網