2023年值得學(xué)習(xí)的六種小眾編程語言
譯文譯者 | 布加迪
審校 | 重樓
51CTO讀者成長計(jì)劃社群招募,咨詢小助手(微信號(hào):TTalkxiaozhuli)
2023年可謂是變革之年,對(duì)編程界來說也是一樣。從日漸式微的編碼語言到新崛起的編碼語言,面對(duì)開發(fā)界不斷擴(kuò)大的技術(shù)范圍,您可以繼續(xù)成長和發(fā)展。
如果您想提高技能,學(xué)習(xí)一門未來的語言,何不把精力花在一門新興的編程語言?下面列出的幾種語言可能不是很有名,但它們正在引起人們的注意。
以下是2023年值得學(xué)習(xí)的六種不同尋常的開創(chuàng)性編程語言。
一、F#

F#是大名鼎鼎的Python的有力競(jìng)爭(zhēng)者,其簡(jiǎn)單性和簡(jiǎn)潔性繼續(xù)為這種語言增添獨(dú)特的風(fēng)味。由于F#與Python一樣都是開源語言,這種注重性能的跨平臺(tái)語言得到了廣泛的關(guān)注。
F#最初由微軟于2005年開發(fā),從Haskell、Python和Scala等其他語言汲取了明顯的設(shè)計(jì)靈感。作為一種編程語言,您可以使用F#進(jìn)行數(shù)據(jù)分析、統(tǒng)計(jì)推理、科學(xué)研究、游戲設(shè)計(jì)、桌面應(yīng)用程序構(gòu)建和設(shè)計(jì)以及人工智能。
一些值得注意的特性包括輕量級(jí)語法、快速執(zhí)行、一流函數(shù)、模式匹配以及豐富的數(shù)據(jù)類型。
二、Elixir

像Ruby和Python這樣的語言可能已老氣橫秋,但這些語言繼續(xù)支持其他語言的發(fā)展。Elixir深受Ruby on Rails的影響,但其強(qiáng)大功能源自Erlang。
José Valim是Elixir語言的發(fā)明者,發(fā)明它的初衷是為了解決Ruby的缺點(diǎn),同時(shí)恪守其鼻祖Erlang。盡管Elixir的語法與Ruby非常相似,但它與Erlang的VM、BEAM和Erlang生態(tài)系統(tǒng)之間的兼容性繼續(xù)為用戶提供這兩種語言的最佳特性。
當(dāng)您開始使用Elixir時(shí),會(huì)注意到它的可擴(kuò)展性和容錯(cuò)特性對(duì)于構(gòu)建廣泛的分發(fā)系統(tǒng)必不可少。以下是Elixir的一些主要特性:
? 用于并發(fā)編程的開放電信平臺(tái)(OTP)庫。
? 可以選擇與眾多云平臺(tái)兼容。
? 遠(yuǎn)程調(diào)試、動(dòng)態(tài)類型和結(jié)構(gòu)整齊的語法。
? 支持一系列廣泛的Web應(yīng)用開發(fā)工具,比如Mix、IEx和Phoenix。
三、Julia

作為技術(shù)界的一支新軍,Julia有望成為一種改變游戲規(guī)則的編程語言。盡管Julia已經(jīng)存在了十年,但它仍是強(qiáng)有力的競(jìng)爭(zhēng)者,有助于機(jī)器學(xué)習(xí)、科學(xué)計(jì)算,甚至數(shù)據(jù)處理/挖掘。甚至有人說,Julia正憑借與生俱來的功能和強(qiáng)大的特性,與Python爭(zhēng)奪頭把交椅。
作為一種語言,Julia具有真正的三面性:它集C語言的速度、Python的編程能力和R語言的統(tǒng)計(jì)能力于一體。據(jù)Julia的開發(fā)人員聲稱,以下幾項(xiàng)特性讓它有別于與之競(jìng)爭(zhēng)的編程語言:
? 處理速度快。
? 動(dòng)態(tài)類型,非常適合交互式編程。
? 配備預(yù)先構(gòu)建的二進(jìn)制文件,讓您只需要點(diǎn)擊一下按鈕即可重現(xiàn)環(huán)境。
? 鑒于其同步I/O、元編程和調(diào)試功能,便于構(gòu)建整個(gè)微服務(wù)和應(yīng)用程序。
? 多級(jí)并行處理,可生成原生GPU代碼。
? 多用途庫,有些庫是Julia特有的。您可以從Fortran、Python、Java、C++及其他諸多語言導(dǎo)入和使用外部庫。
四、Crystal

實(shí)際上有一種編程語言旨在滿足各種形式的應(yīng)用程序開發(fā)。如果您是前端開發(fā)人員,就應(yīng)該學(xué)習(xí)JavaScript。同樣,Java、Go、Elm和Rust適用于后端編程。
市面上還有很多其他的編程語言。您可以根據(jù)自己的使用情況和當(dāng)前的需要,選擇最適合需要的那種語言。但Crystal在哪里有其一席之地呢?
就像Elixir一樣,連Crystal的速度也來自C、流暢性來自Ruby,這使得它得以專注于提高性能和改善用戶體驗(yàn)。如果您以前用Ruby編寫過代碼,可能會(huì)喜歡Crystal。它汲取了前者的語法易讀性和結(jié)構(gòu)。由于它是一種靜態(tài)類型檢查編程語言,因此不太容易出現(xiàn)錯(cuò)別字和語法錯(cuò)誤。
為了改進(jìn)使用,并添加很少從其他語言體驗(yàn)到的功能上的優(yōu)勢(shì),您可以使用其固有的宏系統(tǒng)來輔助基本模板和運(yùn)行外部程序。
五、Red

Red的靈感來自基于相對(duì)表達(dá)式的對(duì)象語言(REBOL)。與本文介紹的其他一些語言一樣,這種語言解決了其基礎(chǔ)語言REBOL的缺點(diǎn)。
Red是一種首創(chuàng)的全棧開發(fā)語言,它試圖實(shí)現(xiàn)一個(gè)工具滿足所有需求這個(gè)概念。
它是一種單一的可執(zhí)行語言,沒有額外的依賴項(xiàng),整個(gè)大小不到1 MB。下面是使用Red來滿足編程需求的一些好處:
? 易于使用的語法。
? 具有同像性(homoiconic),因?yàn)樗性脑Z言和數(shù)據(jù)格式。
? 它是一種符號(hào)編程語言,支持對(duì)象支持、宏系統(tǒng)和豐富的數(shù)據(jù)類型。
? 這種交叉編譯語言的大小不到1 MB,為并行性、并發(fā)性和低級(jí)系統(tǒng)編程能力提供無限支持。
六、Kotlin

Jet Brains創(chuàng)建了Kotlin,并通過其世界級(jí)IDE將其推廣給了最終用戶。由于Kotlin是一種通用的面向?qū)ο笳Z言,它得到了谷歌的贊助,也是安卓的官方應(yīng)用程序開發(fā)語言。它是一種靜態(tài)類型語言,有一組規(guī)范定義的數(shù)據(jù)類,因此使用起來簡(jiǎn)潔又安全。該語言可在Java虛擬機(jī)(JVM)上順暢運(yùn)行。
一些額外的好處包括如下:
? 精心創(chuàng)建的高階函數(shù)、表達(dá)式和計(jì)算方法。
? 表達(dá)性強(qiáng)、簡(jiǎn)潔,只需較少的樣板代碼。
? 由于支持可空性的類型系統(tǒng)和NullPointerExceptions,該語言使用起來很安全。
? 其多平臺(tái)功能允許您在各種平臺(tái)之間共享應(yīng)用程序邏輯,包括Web、移動(dòng)、臺(tái)式機(jī)和筆記本電腦。
? Kotlin越來越龐大的社區(qū)驅(qū)動(dòng)的庫增強(qiáng)了其功效和有效性,特別是當(dāng)您在開發(fā)中遇到困難時(shí)。
原文鏈接:https://www.makeuseof.com/programming-languages-to-learn-in-2023/


































