2020年TOP7的程式語言和框架,它們至少還能風靡全球5年以上
在本文中,我們將看一看由我推薦的程式語言和框架列表,我相信在接下來的5年至10年中,對於開發者來說,這份列表中的語言和框架仍然會有用。同時考慮到我不希望該列表僅是另一個備受好評的程式語言推薦,儘管這過程由於每個人的偏好不同而帶來困難,我仍然會 精心挑選,收窄範圍。同時,為了應對日新月異的程式發展,在記下想法時,我也 不斷思考程式設計正規化和創新是如何隨著時間演變的。
回 顧
回顧2020年,過去的五年我們發生了很多變化,諸如區塊鏈,機器學習、深度學習和量子計算等新趨勢正在湧現。對於剛開始學習程式設計甚至是經驗豐富的開發人員的人,最好是反思一下自己的位置和想要做的事情,以便在這個瞬息萬變的動態領域保持專業。過時是一個永恆的現實,一直潛伏在我們的肩膀上。因此馬上出發,開始新的知識之旅並習得新技術然後新增到您的工具欄中。
為什麼對開發者來說,選擇並學習正確的語言或框架很重要?
雖然,學習新的語言和框架對您而言是一筆不少的時間投入,無論是金錢還是工作時間,您都無法從中直接獲得回報。但幾乎每一年技術總是在變化,所以與時俱進的想法是很重要的,而選擇正確的語言和框架甚至能改善生活,徹底改變您的業務方式,並且會極大地幫助開發及長期戰鬥能力。因此,您自然希望您所選擇的語言和框架,是有價值並且不會過時的事物。
Rust是一種系統程式語言,旨在替代C和C ++開發。Rust具備了C和C ++的效能,可以更有效地幫助開發人員。對於那些使用C / C ++進行程式設計的人來說,一定能明白我這句話的意思。進入這個領域的新開發人員已經相當多。 Rust具有不斷增長的使用者基礎。現在,有數百家公司將Rust用於開發語言 ,例如Dropbox,Yelp和Cloudflare。像Amazon最近宣佈的虛擬化技術Firecracker之類的產品都是用Rust建立的,在StackOverflow的2016年開發者調查中,Rust也被評為“最受歡迎的”技術(這意味著它擁有最多的使用者希望繼續使用它)。
儘管與幾十年來的其他語言相比,它相對較新,但令人驚訝的是,它具有大量可用庫的清單,可用於加快開發工作。您可以在crates.io或GitHub上找到大部分您想要的內容。
Rust的一些關鍵功能:
速度和記憶體效率 :由於它沒有runtime或garbage collector,它可以全力為關鍵效能服務提供支援,也可以在嵌入式裝置上執行,並且可以輕鬆地與其他語言整合。未來的5年和10年,因為我們將遇到硬體的限制,而Rust語言將更快,記憶體佔用更少,能提高速度和響應能力,能使我們編寫更節能的程式碼。
可靠性 :Rust的豐富型別系統和所有權模型可確保記憶體安全性和執行緒安全性,並使您能夠在編譯時消除許多類的錯誤。
生產率 :Rust擁有出色的文件,使用者友好的編譯器提醒哪裡出錯了。相較之下,眾所周知,C ++程式碼的編譯器訊息很難解密。Rust的編譯器更好,更有用。如果您想學習系統程式設計,以“ rustc”編譯器作為指南將使您不必擔心儲存器安全性以外的其他問題。
這些年來,Python的流行度一直在穩步上升,尤其是在過去10年中, 急速躍升了Tiobe Index的前5名 。Python用途廣泛,它是一種非常實用的語言,非常適合許多實際場景。對於初學者來說,它是一種指令碼語言,這意味著入門非常迅速,沒有像Java這樣麻煩的編譯執行週期。本質上就是物件導向的語言,也就是說,您選擇以物件導向的方式程式設計。 Python已取代Java,成為在大學許多學術課程中預設的首選語言 。對於初學者來說,開始安裝python 直譯器執行非常容易:
$ print (‘hello world this is my. First program’)
就是這樣,您的第一個程式是用Python編寫的。
Python為未來鋪平了道路。因此,它在未來5年或以後的意義必然是重大的。Python裡配備諸如TensorFlow,Scikit-Learn,Dask等成熟庫,這些庫中有大量程式碼關於機器學習,深度學習,人工智慧,大資料等新技術。可見, Python已經成為網際網路上所有流行的資料科學中的世界程式語言 。此外,Python還能實現分散式資料科學的大型可擴充套件計算,這可以用於量子計算。
Python已在企業和初創企業中廣受好評。這些巨大的進步是在過去5年中取得的,因此,Python現在比以往任何時候都更加強大。同時,我們現在擁有廣泛的平臺,例如Reddit,建立在Python之上的Google庫。我個人也常使用Python來編寫指令碼並快速自動執行許多平凡的任務,它是快速完成自由專案的寶貴語言。
如果您會使用Python,那就足夠了。因為Python可以訪問Django等網路框架,該框架是構建Web前端和後端應用程式的最好框架。其遵循DRY原理,以很少的程式碼和很少的程式設計經驗即可快速構建應用程式。
Ruby是另一種功能強大的高階程式語言,它可以使您輕鬆輕鬆地構建應用程式。Ruby作為一種物件導向的程式語言,對於那些有Python經驗的人來說,Ruby語法看起來與Python非常相似。 該語言還配備了構建複雜應用程式所需的所有工具 。
許多矽谷初創公司已經在Ruby之上建立了自己的業務,其中包括Airbnb,Twitch,GitHub和Twitter。執行Ruby的全棧Web應用程式框架Ruby on Rails進一步鞏固了其流行性。
Ruby的一些關鍵功能 :
-
Ruby提供了強大又簡單的程式碼庫
-
有助於快速進行開發原型設計
-
由於學習難度低,新程式設計師可以輕鬆地上手
-
它是一種物件導向的程式語言,因此您可以在該正規化的學習中必定會受益匪淺
Go(Golang)是Google所開發的一種相對較新的程式語言。最近它已經越來越流行。Go為多執行緒提供了出色的支援,由於,許多公司極度依賴於分散式系統,因此正在廣泛地使用它。Go的設計旨在解決Google面臨的緊迫問題。Google還將Go用作新專案的主要語言,並用Go替代其他語言。由於google與我們的日常生活息息相關,因此我們不可能否認它,因為它在可預見的未來仍將繼續存在。
我十分同意Go是一門漂亮的語言,帶有令人愉悅的語法。 它作為動態型別語言及解釋型語言,其在專業的易用性、效能、型別安全性與記憶體安全性之間取得了平衡 。
Go的一些關鍵功能:
-
Go的主要功能之一是透過Goroutine和Channels。由於Go在設計上具有併發性,因此使您可以有效地使用CPU功能,擅長於雲系統開發中的分散式系統,微服務。
-
輕量級,快速執行和快速開發,
-
較小的記憶體佔用空間和較小的二進位制檔案大小
-
自動的Garbage collection
-
沒有異常,Go自行處理錯誤。
等一下,您沒看錯。這對您意味著什麼?與其丟擲大量的try-catch異常並變得懶惰,不如讓Go處理這些錯誤。考慮一下吧
有趣的事實
-
全球Go開發人員平均工資:每年109,483美元。在美國,使用這種頂級程式語言的平均年薪為$ 136K;
-
在2019年Stack Overflow開發者調查中,Go是全球收入第三高的語言;
-
Go程式語言是GitHub上第四活躍的語言。
當我們回顧過去,與今天相比,Web API設計相對簡單,因為當時有REST表示狀態傳輸標準,可從伺服器檢索資料,該標準透過URL訪問資料。由於越來越多的移動裝置使用,API變得更加複雜且由資料驅動,因此必須設計新方法以實現更好的資料檢索。GraphQL資料不是靜態資料之前的樣子,所以建立這樣的 GraphQL會更加動態 。GraphQL是基於REST的體系結構的現代替代方案,旨在解決其缺點。與REST不同, GraphQL允許請求客戶端所需的特定資料,這與固定資料結構方法比起來更好 。 它的核心是從客戶端應用程式查詢資料庫的語言 。
在後端,GraphQL向API指定如何將資料呈現給客戶端。GraphQL重新定義了開發人員使用API的工作,這些API提供了更大的靈活性並可以投放市場。它使前者能夠發出精確的資料請求,並獲得更多更多的資料,從而改善了客戶端與伺服器之間的互動。GraphQL最初由Facebook於2012年建立,透過其特定的資料提取功能在內部用於其移動應用程式,以減少網路記憶體的使用量。從那時起,GraphQL規範成為開源的。現在,主要的程式語言(例如Python,Java,C,Node.js等)都支援它。由於生態系統的迅速擴充套件,這使其成為在可預見的未來中,具有重要意義及獨特的技術之一,GraphQL憑藉其不斷擴充套件的庫和強大的工具(如Apollo,GraphiQL和GraphQL Explorer)成為有用的語言。
GraphQL的一些關鍵功能 :
-
GraphQL速度更快,只需要選擇要查詢的欄位就能完成任務
-
透過在其API後面整合多個系統,非常適合複雜的系統和微服務
-
GraphQL非常適合構建微服務架構,可將多個位置的資料聚合到單個API中,並透過單個API呼叫來獲取資料
-
沒有over -fetching和under -fetching的問題
-
即套即用的驗證和型別檢查
-
自動生成的API文件使您無需擔心Swagger並可以直接到Github找出問題,尋找有關如何使用該規範的線索
-
沒有版本控制的API演變是REST的常見問題,因為API的更新迫使您要麼建立新的API要麼在URL上加上版本字首,並且常彈出不能刪除的提示。透過使用GraphQL,您可以擁有一個不斷自更新的版本,這使您的應用程式可以連續訪問新功能並一直使用更乾淨,更可維護的伺服器程式碼。
GraphQL並非試圖取代REST,而是試圖解決不同型別問題的兩種不同方式。隨著我們向大資料邁進,花一些時間來學習Graphql是很有意義的。
Angular是用於軟體開發的TypeScript完整框架,是用於構建Web和移動應用程式的著名開源框架之一。
由Google開發。Angular是AngularJS完全重寫的新版本。雖然從angularJS剛釋出開始,它的地位一些動搖,但如今, Angular已發展成為一個全面的開發框架,其中包括構建Web和移動應用程式所需的所有工具和元件。該框架的優點在於它遵循清晰的路線圖 ,每六個月釋出一次新的主要版本Angular,如果您對長期使用有所瞭解,便會知道這確實很重要。
Angular的一些關鍵功能 :
下面,我僅介紹Angular 9中已解決的功能,這些功能可能會解決您對效能的某些擔憂。
-
Google為該框架提供了長期支援並不斷對其進行改進。同時經常進行常規改進,以表明該框架具有強大的後盾,並且Google真的希望看到其成功。因此,瞭解Google對其進行的支援以及投資,就能知道該框架將在可預見的未來保持專業性和可用性
-
Angular 9的另一個主要功能是透過Ivy Compiler減少了大檔案包,從而減小了佔用空間。透過減小JavaScript包的大小,對於試圖加速應用程式啟動的開發人員來說,Ivy成為令人欣喜的改進
-
Angular9支援多種語言的應用程式,因此其國際化程度更高
Javascript是我真誠地向你推薦的語言,毫無疑問,這種語言將在未來幾年依舊流行。因此,投資時間在這種語言將在未來得到回報。 JavaScript不僅僅是一種客戶端指令碼語言,有了諸如Node JS,Angular和React之類的框架和庫,您就可以在伺服器端使用JavaScript以及進行使用者介面開發 。
JavaScript是Netflix,Facebook,Google等許多大型科技公司的心臟。因此,JavaScript作為一種語言與任何其他程式語言一樣相容。2020年是開始學習的一年,快使用您的業餘時間學習JavaScript。不信的話您現在想一想,是不是幾乎所有的網站都在某種程度上利用了JavaScript。
結論
請您細想,其實所有的程式語言和框架都可以構建複雜而強大的功能。因此選擇解決現實世界中緊迫問題的應用程式吧!沒有一種語言是適合所有人的,因此總是傾向於一種特定的語言幾乎是不可能的,因為 每種語言和框架都有其優點,也有其缺點,我們只能使用它有意義或不合理的地方。始終牢記並記住,任何程式語言或框架的目標都是完成工作,選擇最適合您的口味的技術 。
?原文連結:
以上資訊來源於網路,由“京東智聯雲開發者”公眾號編輯整理,
不代表京東智聯雲立場
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69912185/viewspace-2708980/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式設計師為什麼焦慮於程式語言和框架?程式設計師框架
- “下棋”風靡,為何我們都成了“雲”玩家
- FPS這趟順風車,我們還能搭得上麼?
- 80%的學校還在給新生上C語言,它們OUT了嗎?C語言
- 時尚的不僅僅是它們的服裝,還有它們的網站設計網站
- C語言和SH指令碼的雜交程式碼C語言指令碼
- 你還記得曾經風靡一時的中長尾市場嗎?
- 風靡全球的射擊遊戲有很多,但流行20年的,只有CS遊戲
- 聊聊 C 語言和 ABAP 這兩門程式語言的關係
- 程式語言和編譯器書單(1)編譯
- 小時候風靡的大富翁不僅沒死,還成了直播的調味劑
- 你有用過哪些css框架?說說它們的特點CSS框架
- 聊聊C語言和ABAPC語言
- 做到這點,運維至少80分以上運維
- 我們評測了5個主流跨端框架,這是它們的區別跨端框架
- “下棋”風靡:“自走棋”的大熱緣何而起?
- 全球風能理事會:2021全球海上風電報告(136頁)
- 我們能趕上“RTS復興”的風口嗎?
- 2022 年程式語言趨勢:Swift、Kotlin 熱度持續增長,收入最高的 5 種程式語言竟是它們SwiftKotlin
- 不要賤賣你的遊戲,它至少值20美元遊戲
- 短影片軟體開發的多種應用場景,短影片是如何風靡全球的
- [譯] 程式語言和平臺:對一條推特思路的評論
- 聊聊C語言和指標的本質C語言指標
- 發行新模式風靡全球,Unity中國遊戲發行成Unite焦點模式Unity遊戲
- 一款分散式爬蟲管理平臺,支援多種語言和框架分散式爬蟲框架
- 《健身環大冒險》風靡後再出NS健身新品,手遊能出同品類嗎?
- 使用Go語言和colly庫來下載指定網站圖片的程式Go網站
- 圖:程式語言的建立者們
- 風靡全球消除大作《花兒愛消除》安卓首發定檔1月16日!安卓
- 超級瑪麗啟示錄:曾風靡全球的FC小遊戲,為何能征服億萬人的心?遊戲
- 盤點 6 個被淘汰的 Java 技術,它們都曾經風光過!Java
- 國產ChatGPT機器人竟然是它,還能陪聊還會AI繪畫!ChatGPT機器人AI
- 16年之後,《牧場物語》它還香嗎?
- 兩年前慘痛教訓還不夠,CCG的風真的還能刮起來麼?
- 寵物經濟:細分市場更風靡?
- 學程式設計C語言和Python之間有什麼不同?程式設計C語言Python
- 愛美客上市 玻尿酸的風光還能持續多久?
- 都已經十歲的 Apache Dubbo,還能再乘風破浪嗎?Apache