最受歡迎的編程語言排名,趕超 Python 與 Java,JavaScript 問鼎最受歡迎的編程語言

 2023-10-22 阅读 20 评论 0

摘要:現實世界中,作為程序員,選擇哪一門編程語言并不會如生死攸關那般重要。畢竟大多數常見的編程語言的基本概念都大同小異,且對于編程新手來說,大多數編程語言看起來都差不多,它們可以讓你獲得近乎相同的結果。最受歡迎的編程語言排名、但從

640?wx_fmt=gif

現實世界中,作為程序員,選擇哪一門編程語言并不會如生死攸關那般重要。畢竟大多數常見的編程語言的基本概念都大同小異,且對于編程新手來說,大多數編程語言看起來都差不多,它們可以讓你獲得近乎相同的結果。最受歡迎的編程語言排名、但從開發人員的角度來看,編程語言不僅是一種工具,而且選擇正確的編程語言將會影響一個人的職業生涯、錢途以及未來生活的幸福指數。

在此,本文將基于 2018 年的開發者生態系統報告,剖析當前主流編程語言的趨勢,探索在新的一年中,最具潛力、最值得學習的編程語言。

640?wx_fmt=png

作者 |?Rafi Zikavashvili

譯者 |?安翔

責編 | 屠敏

出品 |?CSDN(ID:CSDNNews)

選擇編碼語言需要進行各方面權衡。對于初學者來說,需要在學習代價和收益之間找到平衡點。此外,還需要清楚編程語言的長期前景。對于 21 世紀初的 Web 開發人員來說,PHP 和 Ruby on Rails 很顯然是提升自己職業發展的最佳語言。而如今的市場條件已經發生了巨大的變化,PHP 和 Ruby 不再是我們首推的選項。

本文提供了一份我們在 2019 年最應該學習的編程語言指南。我們會一一介紹這幾種語言,并且探討其用途和長期前景。我們還會列舉幾個用于專業特定領域的編程語言。為了顯示每種語言的市場份額及占有率,我們參考了? Stack Overflow 2018 年開發者調查報告中的編程語言排名。

學習一門新語言的關鍵原因之一是能夠利用它增加開發者的就業機會。編程面試是雇主了解開發者對該編程語言了解程度的重要途徑。為了更好地幫助開發者通過編程面試,本文會提供一系列在面試中可能涉及的問題。

我們參考了 Stack Overflow 調查,并根據推薦力度對這幾種編程語言進行了排名。此外,我們將這份榜單的編程語言限制為命令式語言,而不包括聲明性語言,比如 HTML、CSS 和 SQL,以及 shell 腳本語言,比如 Bash。


640?wx_fmt=png

第 1 名:JavaScript


在 2015 年,有 54.4% 的開發人員將 JavaScript 列為最受歡迎的技術。而 2018 年的 Stack Overflow 開發者調查報告顯示,JavaScript 位居榜首,有高達 71.5% 的專業開發人員將?JavaScript?評為最受歡迎的編程語言,增長幅度非常大。

640?wx_fmt=png

這種大幅增長的重要原因在于 JavaScript 幾乎無處不在。針對客戶端領域,你可以使用諸如?Angular、React?和?Vue?等 JavaScript 前端框架來構建基于瀏覽器的 Web 應用程序。而?Node.js?能夠讓開發者使用與前端一樣的編程語言來開發后端程序。使用 Node,開發者可以編寫 Web 服務端程序,用來管理物聯網(IoT)項目,或者進行機器學習實驗。在眾多編程語言中優先選擇 JavaScript 的另一個重要原因在于,它得到了整個軟件行業的廣泛支持,Google、Facebook、微軟以及亞馬遜等科技巨頭都在大力使用 JavaScript。開發者可以找到有關 JavaScript 的各種各樣的學習資源,比如收費或者免費的課程、網站、書籍、視頻以及博客,這些資源涵蓋了該語言的方方面面。

在大部分時間里,JavaScript 一度被認為是編程語言領域的丑小鴨。盡管它至今未能變成美麗的天鵝,但在 JavaScript 社區齊心協力的努力下,它已經從基于瀏覽器的腳本語言變成了現代的多功能語言。隨著時間的推移,JavaScript 的缺點越來越少。

640?wx_fmt=png

值得注意的是,關于 JavaScript,許多雇主將在編程面試中通過候選人對JavaScript 特殊功能的了解程序來評估候選人能力。常見的編程面試問題會涉及到變量范圍、閉包、回調以及條件運算符。任何從事 JavaScript 相關工作的開發者都應該熟知類似的面試問題。此外,我們還建議開發者去了解自己心儀的公司,研究其使用的技術棧,并熟悉相關的框架(例如 React、Angular 或者 Vue),從而能夠在面試中展示自己的能力。


640?wx_fmt=png

第 2 名:Python


Stack Overflow 調查顯示,Python 受到了 37.9% 的專業開發者的親睞。在過去五年中,Python?的發展速度比其它任何語言都快。如今 Python 的影響力非常巨大,就連很少涉及開發者相關主題報道的著名雜志經濟學人也在最近的一篇文章中提到了 Python 語言(https://www.economist.com/graphic-detail/2018/07/26/python-is-becoming-the-worlds-most-popular-coding-language)。

640?wx_fmt=png

Python 受到熱捧的一部分原因在于它擺脫了很多其他語言的惱人慣例,比如它舍去了用來表示語句結束的分號。正是因為其簡潔,Python 才得以取代 Java 作為計算機科學教學的主要語言,不僅大學,而且高中和小學的編程課程都優先選擇 Python 來教學。在學術界,Python 已經成為機器學習和數據科學領域最流行的通用語言。事實上,Python 目前已經在這些領域占據了主導地位,在數據科學領域提出了 Python 與?R?語言結合使用的方案。

Python 與其他編碼語言相比既有相似也有不同。Python 開發人員在面試時,首先會被考察對編程語言基本知識的理解,例如數據類型、模塊化、函數和類。此外,候選人還可能會被問及如何編寫 Python 腳本、如何使用 Python 進行面向對象編程或者如何使用 Python 進行函數式編程等問題。更進一步,開發者還需要了解 Python 特定的數據類型和功能,例如元組、列表推導、字典和裝飾器。


640?wx_fmt=png

第 3 名:Java


Java?在這份榜單中排名第三。根據 Stack Overflow 2018 年的調查,有45.5%的專業開發人員青睞 Java。

640?wx_fmt=png

Java 能夠持久地對開發者產生吸引力的一個重要原因是?Java 虛擬機(JVM)。JVM 使得用 Java 編寫的程序能夠在不同的硬件平臺和設備上運行。Java 還能夠幫助開發者處理數據類型和內存管理相關的讓人頭疼的任務。Java 簡化了應用程序的開發,并且同一 Java 程序可以部署在不同的操作系統上,這使得 Java 成為大公司的首選語言。如此一來,只要你學好 Java,就很容易在大公司謀得一份不錯的開發職位。Java 的另外一個重要用途是編寫原生 Android 應用程序。隨著 Android 操作系統在智能手機領域的遙遙領先,這促發了更多的開發人員學習 Java,從而投身 Android 應用開發大潮之中。

近年來,為了廣泛利用 Java 的生態系統,有很多編程語言被創造,或者移植到 JVM。這些語言在特定領域中熠熠生輝,比如 Scala、Closure 和 Kotlin。Kotlin 有許多有趣的用途,比如編寫?Android 應用程序和使用?Corda?框架開發區塊鏈。

Java 開發人員在面試時,理解語言的范圍非常重要。面試內容可能會涉及任何與Java 相關的主題。作為一名企業級軟件 Java 開發者,你需要具備對 Java 基礎結構的深刻理解,比如?JDK、JRE 和 JVM。Android 開發人員將被問及與 Android 相關的問題,包括 SDK 版本管理、intent、設備模擬以及應用程序部署過程。假如你面試的公司使用的是基于 JVM 的其他編程語言,那么你需要證明自己對該語言足夠了解。


640?wx_fmt=png

第4名:C#


在參加 Stack Overflow 2018 年調查的開發者中,有 35.5% 的專業人士是微軟 C# 的粉絲。盡管很多開發者對微軟的所作所為有些反感,但是在這份榜單中,僅有 JavaScript、Python 和 Java 的排名高于 C#。當然,Bash?腳本語言 40.4% 的支持率也比 C# 高,但是腳本語言不在本文的討論范圍內。

640?wx_fmt=png

目前 Java 的支持率的確比 C# 高,但是從長遠來看,種種跡象表明這種現狀會發生改變。Java 提供新功能的步伐已開始放緩,而微軟一直在積極為 C# 增加新的特性和功能。微軟為了擺脫自身對 Windows 操作系統的依賴,一直法力與其他新的領域,包括購買?Xamarin?及其跨平臺開發環境,發布多平臺?.NET Core?,以及對?Azure?持續投資。C# 在未然的企業戰略中扮演著重要角色,微軟也在努力確保 C# 可以同時使用微軟技術和開放的行業標準。

與 Java一樣,C# 語言同樣擁有強大的生態系統。這意味你在面試 C#職位時,需要對雇主的未來市場有一定程度的了解。與 Java 一樣,大多數 C# 面試都包含了與C#基礎架構相關的問題,包括?.Net 框架和公共語言運行時(CLR)。值得注意的是,CLR 還可以托管其他語言,例如 F# 和 VB.net。如果你面試的公司使用 C# 以外的 CLR 語言,那么你需要了解這門語言。


640?wx_fmt=png

第5名:C / C ++


雖然?C?和?C ++?是兩門不同編程模型的獨立語言,但它們之間的聯系非常緊密,本文將把它們一起討論。

對于通用和專用任務,例如應用程序開發、用戶界面、移動應用程序和機器學習,C 語言都完全不擅長。但是,在嵌入式系統和操作系統領域,C 仍然占據絕對的主導地位。Linux 就是最好的例子。Linux 是有史以來最流行的操作系統,它既可運行在大型設備上,也可運行在小型的移動設備上。Linux 最核心的部分是 Linux 內核,而 Linux 內核就是用 C 語言編寫的。C 語言的另一個常見用途是編寫其他編程語言,比如榜單的第二名 Python 語言就是用 C 語言編寫的。

640?wx_fmt=png

C ++ 是更現代的并且面向對象的 C 語言版本。C ++ 通常用在對性能要求很高的領域。例如,許多涉及金融業務公司的后端系統中就會選擇使用 C ++。C++ 以高性能著稱,因此它是圖形密集型應用程序的首選語言,比如游戲開發、圖形引擎、虛擬現實和增強現實。

在參加 C 或者 C ++ 的面試時,面試官可能會提出一些適用于這兩種語言的問題。這包括編碼有關的數據類型、運算符、循環、條件語句、指針和內存管理等問題。開發者可能還會被要求定義和解釋鏈表,以及編寫實現和管理鏈表的簡短程序。由于 C ++是面向對象的語言,因此與面向對象有關的對象、類、方法、屬性等問題都有可能被問到。


640?wx_fmt=png

其他語言


本文榜單中前五的語言都是通用型的。除此之外,在某些特定領域,同樣有很多相對小眾的編程語言,我將列舉如下。

這其中,蘋果的?Swift?應當是關注度最高的語言。Swift 是蘋果公司推出的新型通用語言,旨在取代 Objective-C。Swift 可用于編寫 iOS 和 Mac 桌面應用程序,蘋果公司將其開源,希望它能夠成為服務器語言。遺憾的是,希望暫時落空。

640?wx_fmt=jpeg

在 Web 開發領域,PHP?仍然十分盛行。盡管 PHP 語言存在很多局限性,并且市面上有很多針對它的替代品,但是 PHP 如今仍然被許多大型網站使用,例如 Facebook 和維基百科。Facebook 甚至創建了自己的 PHP 改良版,名為Hack。PHP 也是許多大型開源平臺使用的語言,例如?WordPress?和?MediaWiki。這些平臺得到了廣泛的應用,PHP 用于為它們創建插件。Facebook 仍然熱衷于使用 PHP,甚至還創建了自己的現代化版本的 PHP:?Hack?語言。Ruby?就是一個PHP 的完美替代品,它更加現代并且設計得更好。Ruby on Rails?Web 開發框架得到了廣泛的部署,并擁有有龐大而活躍的社區。

640?wx_fmt=jpeg

在一些更加專業的領域,比如系統編程領域,谷歌的?Go?和 Mozilla 的?Rust?看起來都很不錯。兩種語言都旨在構建高并發的系統。在函數式編程領域,Elixir?是?Erlang?的替代品,Clojure?是一種在 JVM 上運行的新型的 Lisp,而?F#是一種在 .NET 上運行并具有許多主流功能的函數式語言。最后,如果你對快速增長的智能合約和基于以太坊的加密貨幣領域感興趣,你可以了解一下?Solidity。


640?wx_fmt=png

結論:選擇正確的語言


在榜單的五種語言中,你應當如何選擇適合自己的語言呢?根據當前趨勢,具有最廣泛應用的最通用語言是 JavaScript。你可以在大多數設備上運行它,并使用它來構建客戶端、服務器和無服務器應用程序。在過去的十年中,JavaScript 已經被不斷改造,它現在與 C# 和 Lisp 等現代語言有很多共同之處。是的,它仍然有一些不足之處,但這些缺點已經得到了很大改善。

我們的第二選擇是 Python,從開發者職業生涯長期來看,Python 是非常好的選擇。正如我們提到的那樣,Python 已經廣泛應用到科研和教育領域。它也是機器學習、人工智能和數據科學相關領域的主導語言。在構建用戶界面時,JavaScript 比 Python 具有明顯的優勢。但隨著時間的推移,這種優勢可能會不再顯著。對于初學者來說,Web Assembly 標準使得其他高級語言來編寫基于瀏覽器的應用程序變成可能。此外,如果語音交互得到大眾認可,那么圖形用戶界面將變得不再那么重要。亞馬遜采用 Python 來開發 Echo 語音助手,因此 Python 已經在該領域占據了先機。

在企業級應用領域,你需要在 Java 和 C#之間進行選擇。這兩種語言在語法、功能和基礎結構方面都非常相似,你可以根據個人偏好、工作可用性或者擲硬幣的方法來做出選擇。正如我們指出的那樣,Java 比 C#歷史更為久遠、更受歡迎,并且提供的職位更多。而另一方面,微軟的積極支持及其使 C#成為真正的跨平臺解決方案的動力又為 C#的未來奠定了更好的前景。Java 仍然是 Android 的編程語言,但微軟的 Xamarin 允許開發者使用 C#編寫 Android、iOS 和 Mac 應用程序。需要知道的是,C#在創業社區聲譽不好,在硅谷非常不受歡迎。在這些圈子中,C#開發人員通常被視為二等公民。

此外,開發者還需要注意的是,在申請 Java / C#企業級開發職位時,面試官將會考察你構建后端應用程序的能力,而不會局限某種語言。在解決實際問題時,你需要為解決方案編寫具體的代碼,這樣你就可以在解決實際問題的同時展示自己對語言功能的了解程度。

最后,C 和 C ++都算作通用語言,但在實踐中,它們主要用于特定領域。C 語言主要用于系統和嵌入式編程,C ++ 則擅長高性能以及資源密集型應用程序,比如實時圖形應用程序。它們兩者在各自的領域中很少有替代者,你應該在需要構建這些類型的應用程序時選擇學習這些語言。

最重要的是,在參加編程面試時,請確保自己了解這門語言的方方面面。通過面試并非易事,你需要對編程語言的優勢以及局限性足夠了解,以便讓自己的求職之路變得輕松。

原文:https://hackernoon.com/best-coding-languages-to-learn-in-2019-b49b49250a25

本文為?CSDN 翻譯,如需轉載,請注明來源出處。

640?wx_fmt=jpeg

?熱 文?推 薦?

??Facebook 十五年,扎克伯格回到了工程師的原點

??iPhone 大降價;谷歌再爆丑聞;京東云金山云回應合并傳聞 | 極客頭條

??從 C++98 到 C++17,元編程是如何演進的? | 技術頭條

??剛剛!程序員集體榮獲2個冠軍,這份2018 IT報告還說這些!

??代碼“大換血”,以太坊能耗將減少99%背后的故事

??“微信之父”張小龍:我沒去過龍泉寺!

??Spark+Alluxio性能調優十大技巧

??春運搶票靠加速包?試試這個Python開源項目吧


print_r('點個好看吧!');
var_dump('點個好看吧!');
NSLog(@"點個好看吧!");
System.out.println("點個好看吧!");
console.log("點個好看吧!");
print("點個好看吧!");
printf("點個好看吧!\n");
cout?<<?"點個好看吧!"?<<?endl;
Console.WriteLine("點個好看吧!");
fmt.Println("點個好看吧!");
Response.Write("點個好看吧!");
alert("點個好看吧!")
echo "點個好看吧!"

640?wx_fmt=gif點擊“閱讀原文”,打開 CSDN App 閱讀更貼心!

640?wx_fmt=png喜歡就點擊“好看”吧!

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/163289.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息