日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

想自学一种编程语言,各种编程语言都有什么区别?

發(fā)布時間:2025/3/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 想自学一种编程语言,各种编程语言都有什么区别? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

?

C:1973年的貝爾實驗室中,Ken Thompson和Dennis Ritchie在做UNIX系統(tǒng)內核移植開發(fā)時,感覺使用匯編語言很難實現(xiàn),于是使用BCPL開發(fā),并對其改進推出了B語言,但B語言開發(fā)的UNIX內核無法達到預期要求,而后又在此之上開發(fā)了C語言,并用C語言重新編寫了UNIX內核。此外,Linux和Windows內核也是用C語言編寫的。
  • 應用領域:操作系統(tǒng)、編譯器、嵌入式硬件、網絡服務器;
  • 優(yōu)勢:接近底層,跨平臺和可移植性良好;簡潔小巧,靈活可靠,運行效率高;幾乎所有編程語言都脫胎于C,直接或間接借鑒了C的概念,掌握C語言有助于了解其他語言;
  • 弊端:開發(fā)效率低,周期長;
C++:1979年4月,Bjarne Stroustrup在貝爾實驗室開始分析UNIX內核,設法將其分布到由局域網連接的計算機網絡上。由于缺少現(xiàn)有工具,為了便于描述內核的模塊化和通信模式,Bjarne Stroustrup開始設計一門新語言,設計目標是既能保持Simula的程序組織功能,又能兼顧C語言的效率和靈活性。1979年10月,一個名為Cpre的預處理程序誕生,它是一個帶類的C(C with Classes)。1983年,C with Classes改名為C++,并開始引入虛函數(shù)、重載、引用等新特性。1998年,C++標準委員會發(fā)布了C++的首個國際標準——ISO/IEC 14882:1998,簡稱C++98。C++仍處于不斷發(fā)展中,特性越來越復雜,至今經歷了C++11/14/17等標準,C++20也即將到來,C++11及其之后的標準被稱為Modern C++。
  • 應用領域:操作系統(tǒng)、虛擬機、瀏覽器、數(shù)據(jù)庫、編譯器、桌面應用、圖像處理、流媒體、高頻交易、區(qū)塊鏈、軍工軟件、搜索系統(tǒng)、游戲引擎、服務器、虛擬現(xiàn)實、其他語言的庫;
  • 優(yōu)勢:C++幾乎可以使用C的所有特性,并提供了大量新特性;C++保留了C的優(yōu)點,靈活可靠,運行效率高,又有比C更高的開發(fā)效率;掌握C++能更深入地了解Java、Python的內存管理機制,并能快速上手其他編程語言;
  • 弊端:規(guī)模龐大,蘊含多種編程范式,學習曲線陡峭;C++幾乎提供了解決一切問題的組件,但幾乎沒有人能完全掌握,而只需要選用一部分子集;C++嘗試適用所有場景,反而導致對大部分場景的支持都不夠突出;必須兼容舊標準,歷史包袱重;
  • 如果大家對C/C++感興趣的話,可以加一下我們的學習交流Q群:637 ?935 ?295,免費領取一套學習資料和視頻課程喲~
C#:1995年,Sun發(fā)布Java,Java良好的跨平臺性使其逐漸成為企業(yè)開發(fā)的首選。為了對抗Java,微軟公司的首席架構師Anders Hejlsberg著手研發(fā)了一種名為Cool(C-like Object Oriented Language)的編程語言,并于2000年在PDC(微軟專業(yè)開發(fā)者會議)上以C#(C Sharp)的名稱公布。
  • 應用領域:桌面應用、游戲客戶端;
  • 優(yōu)勢:全面集成.Net庫,文檔豐富,易于上手;
  • 弊端:捆綁微軟,國內不如Java應用范圍廣泛;
Objective-C:1983年,Stepstone公司的Brad Cox和Tom Love發(fā)明了Objective-C,它遵循ANSI C的標準,基于Smalltalk改進,在C的基礎上加入了面向對象特性。1985年,被趕出蘋果的Steve Jobs創(chuàng)辦了NeXT公司,NeXT獲得了使用Objective-C來開發(fā)NeXTSTEP Toolkit的授權,這個工具包就是Cocoa的前身。1996年,蘋果收購NeXT,Steve Jobs重回蘋果,并使用Objective-C重新設計了Mac OS。2007,iPhone問世,3G/4G通信技術日趨成熟,2011年正式進入移動互聯(lián)網時代,Objective-C火爆一時。
  • 應用領域:iOS、Mac OS開發(fā);
  • 優(yōu)勢:開發(fā)蘋果程序的首選;能與C/C++/Swift混合編程;
  • 弊端:使用范圍有限,只能用于開發(fā)蘋果的程序;2014年WWDC(蘋果全球開發(fā)者大會)上,蘋果發(fā)布了新的編程語言Swift,Objective-C未來可能被Swift取代;
Java:1991年,Sun公司為了開拓消費類電子產品市場,開始啟動由James Gosling領導的Green項目。James Gosling在研發(fā)過程中發(fā)現(xiàn),消費類電子產品要求高可靠、費用低、標準化、使用簡單,用戶不關心CPU型號,也不欣賞昂貴的RISC處理器。為了使整個系統(tǒng)與平臺無關,項目從改寫C編譯器開始著手。在此期間,小組發(fā)現(xiàn)C語言經常被開發(fā)者錯誤使用,C缺少垃圾回收、多線程、移植安全性、分布程序設計等特性。最終Sun的創(chuàng)始人Bill Joy決定開發(fā)一種集C和Mesa搭成的新語言,提議在C的基礎上開發(fā)一種面向對象的環(huán)境。起初James Gosling嘗試修改和拓展C的功能,并稱為C--,后來他注意到辦公室窗外的一棵橡樹(oak),于是決定將新語言命名為Oak。James Gosling的設計中,編譯后產生的代碼運行在操作系統(tǒng)的虛擬機解釋器上,從而實現(xiàn)平臺無關性和可移植性。項目起初用于機頂盒領域,但由于市場不成熟,初戰(zhàn)告敗。1994年,團隊決定將技術用于萬維網,正好趕上了互聯(lián)網時代的浪潮。由于Oak的商標已經被注冊過了,在命名征集會上,排名第一的名字Silk被James Gosling強烈反對,排名第二和第三的仍有商標問題,最終排名第四的Java得以采用。Java是印度尼西亞爪哇島的英文名稱,爪哇島盛產咖啡,因此Java中的許多類庫與咖啡豆有關,如JavaBeans、NetBeans、ObjectBeans,Java的logo就是一杯冒著熱氣的咖啡。1995年5月23日,Java正式發(fā)布。1996年1月,JDK1.0誕生。2010年10月24日,Oracle以74億美元收購了Sun Microsystems。ASF(Apache軟件基金會)呼吁JCP(制定Java規(guī)范的組織)反對Oracle提出的Java 7和Java 8路線圖,除了Google無人響應。ASF和Google反對的理由與技術無關,而是與Oracle的應用范圍和許可授權限制有關。2010年11月,ASF退出了JCP。
  • 應用領域:Android、Web應用、服務器、大數(shù)據(jù)、企業(yè)應用;
  • 優(yōu)勢:易于學習,開發(fā)效率高,市場需求旺盛;垃圾回收機制安全可靠,不容易出現(xiàn)問題;依賴于JVM,跨平臺性良好;庫豐富,并在不斷發(fā)展,社區(qū)資料完善;
  • 弊端:靈活性差,不能隨心所欲地控制內存;依賴于JVM,運行效率受其影響;除了語言本身外需要學習過多框架;
JavaScript:互聯(lián)網開始流行時,網頁變得越來越復雜,然而大部分因特網用戶還只能通過 28.8 kbit/s 的調制解調器連接到網絡。用戶填完一個表單,點擊提交按鈕,等待了30秒的服務器處理后,看到的可能只是某個地方填錯了的提示。為了解決這個問題,Netspace公司計劃開發(fā)一種能在客戶端完成基本驗證的技術,當時Brendan Eich正著手為將于1995年發(fā)行的Netscape Navigator 2.0開發(fā)一個名為LiveScript的腳本語言,為了趕在發(fā)布日期前完成,Netscape與Sun成立了一個開發(fā)聯(lián)盟。此時Java正被媒體熱炒,Netscape為了蹭Java的熱度,臨時將LiveScript改名為了JavaScript。隨著Node.js和React的出現(xiàn),JavaScript的應用領域也越來越廣泛。
  • 應用領域:Web前端、后端、移動應用、內嵌腳本語言;
  • 優(yōu)勢:解釋型語言,反應快速,可立即運行;依賴于瀏覽器,與操作系統(tǒng)環(huán)境無關;
  • 弊端:代碼在用戶計算機上執(zhí)行,可能被惡意活動利用,存在安全性問題;在不同瀏覽器上解釋方式不同,可預測性差;
PHP:PHP繼承自一個名為PHP/FI的老工程,PHP/FI由Rasmus Lerdorf于1995年創(chuàng)建,最初只是一套用來跟蹤訪問他主頁的人們的信息的Perl腳本,這套腳本名為Personal Home Page Tools。隨著更多功能需求的增加,Rasmus寫了一個更大的C語言的實現(xiàn),它可以訪問數(shù)據(jù)庫,可以讓用戶開發(fā)簡單的動態(tài)Web程序,并發(fā)布了源代碼,以便每個人都可以使用并改進。最初PHP指的是Personal Home Page,如今PHP的含義是PHP: Hypertext Preprocessor。
  • 應用領域:Web后端、移動應用后端;
  • 優(yōu)勢:易上手且功能豐富,開發(fā)效率高;開源,社區(qū)龐大活躍,解決方案充足;跨平臺性良好;與各類數(shù)據(jù)庫、文件系統(tǒng)協(xié)作順暢;
  • 弊端:學習門檻低,存在大量經驗不足的開發(fā)者的開源代碼;大量古老的開源代碼仍被使用;命名規(guī)范混亂;
Python:1989年圣誕節(jié)期間,在荷蘭首都Amsterdam的Guido von Rossum為了打發(fā)時間,決定開發(fā)一個新的腳本解釋程序,做為ABC語言的一種繼承。Guido是喜劇團體Monty Python的愛好者,因此將電視劇《Monty Python's Flying Circus》名字中的Python作為了新語言的名字。1991年,第一個Python編譯器誕生,它由C語言實現(xiàn),并能調用C的庫文件。由于大量深度學習框架被封裝為Python庫,伴隨人工智能的興起,加上自身簡單易學的特點,Python成為了當下最受歡迎的語言之一。
  • 應用領域:Web、科學計算、機器學習、爬蟲、數(shù)據(jù)分析、量化交易、云計算、運維;
  • 優(yōu)勢:抽象度高,簡單易學,開發(fā)快速;開源,強大豐富的庫;代碼強制要求縮進,整潔規(guī)范;
  • 弊端:解釋型語言,運行效率差;代碼不能加密;縮進過多導致可讀性下降;
Ruby:松本行弘認為編程應該專注于人而非計算機,要讓程序員感到編程是一件快樂的事,于是在1995年開發(fā)了一種更人性化的編程語言。最初的目標只是想實現(xiàn)Perl所具備的功能,因此松本行弘從Perl借鑒了很多內容,也因為受Perl的影響,他決定用一種寶石來命名新語言,最終使用了一位同事的生肖石——代表七月的Ruby(Pearl代表六月)。Rails框架的出現(xiàn)使得Web的開發(fā)更為簡單快速,因此Ruby on Rails常被作為初創(chuàng)公司的技術選型。
  • 應用領域:Web;
  • 優(yōu)勢:語法糖豐富,易于上手,開發(fā)快速;
  • 弊端:解釋型語言,運行效率差;小眾,常用于初創(chuàng)公司;
Lua:Lua是一個簡潔、輕量、可擴展的程序設計語言,由巴西里約熱內盧天主教大學的Roberto Ierusalimschy、Waldemar Celes和Luiz Henrique de Figueiredo所組成的研究小組于1993年開發(fā)而成,其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定制功能。Lua由標準C編寫而成,幾乎在所有操作系統(tǒng)和平臺上都可以編譯,運行,它還有一個同時進行的JIT項目,提供在特定平臺上的即時編譯功能,但Lua并沒有提供強大的庫,所以不適合作為開發(fā)獨立應用程序的語言使用。
  • 應用領域:游戲、插件、配置文件;
  • 優(yōu)勢:小巧簡潔;支持協(xié)程;
  • 弊端:應用領域局限;
Go:程序員常常要在開發(fā)效率和性能中做出選擇,C/C++性能高但開發(fā)周期漫長,Python和Ruby適合快速開發(fā)但性能不足,谷歌首席軟件工程師Rob Pike說:“我們之所以開發(fā)Go,是因為過去10多年間軟件開發(fā)的難度令人沮喪。”2007年,包括開發(fā)過C語言的Ken Thompson在內的一批Google工程師,開始將本職工作外時間的20%投入于Go項目。2008年5月,Google發(fā)現(xiàn)了Go的巨大潛力,開始全力支持這個項目,讓員工全身心投入Go的開發(fā)。2009年11月,首個Go版本以開源方式向全球發(fā)布。2012年3月28日,首個正式版本Go 1發(fā)布。Go在開發(fā)效率和性能之間架起了橋梁,它可以在不損失應用程序性能的情況下降低代碼的復雜性,編譯后Go代碼的運行速度與C語言非常接近,而且編譯速度非常快。
  • 應用領域:云計算、大數(shù)據(jù)、分布式系統(tǒng)、Web后端、區(qū)塊鏈;
  • 優(yōu)勢:Google支持且開源;簡單易學;編譯快且運行快;支持并發(fā);
  • 弊端:誕生時間晚,市場仍處于實驗階段;
Kotlin:Kotlin基于JVM,由JetBrains開發(fā),于2010年首次推出,次年開源。2016年2月,Kotlin 1.0正式版發(fā)布。2017年5月18日,Google I/O全球開發(fā)者大會上,Google宣布Kotlin正式成為Android開發(fā)的官方支持語言。
  • 應用領域:Android;
  • 優(yōu)勢:兼容Java,且更加簡潔現(xiàn)代;
  • 弊端:誕生時間晚,市場仍處于實驗階段。

?

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的想自学一种编程语言,各种编程语言都有什么区别?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。