2023年值得學(xué)習(xí)的六種小眾編程語(yǔ)言
譯文譯者 | 布加迪
審校 | 重樓
51CTO讀者成長(zhǎng)計(jì)劃社群招募,咨詢(xún)小助手(微信號(hào):TTalkxiaozhuli)
2023年可謂是變革之年,對(duì)編程界來(lái)說(shuō)也是一樣。從日漸式微的編碼語(yǔ)言到新崛起的編碼語(yǔ)言,面對(duì)開(kāi)發(fā)界不斷擴(kuò)大的技術(shù)范圍,您可以繼續(xù)成長(zhǎng)和發(fā)展。
如果您想提高技能,學(xué)習(xí)一門(mén)未來(lái)的語(yǔ)言,何不把精力花在一門(mén)新興的編程語(yǔ)言?下面列出的幾種語(yǔ)言可能不是很有名,但它們正在引起人們的注意。
以下是2023年值得學(xué)習(xí)的六種不同尋常的開(kāi)創(chuàng)性編程語(yǔ)言。
一、F#
F#是大名鼎鼎的Python的有力競(jìng)爭(zhēng)者,其簡(jiǎn)單性和簡(jiǎn)潔性繼續(xù)為這種語(yǔ)言增添獨(dú)特的風(fēng)味。由于F#與Python一樣都是開(kāi)源語(yǔ)言,這種注重性能的跨平臺(tái)語(yǔ)言得到了廣泛的關(guān)注。
F#最初由微軟于2005年開(kāi)發(fā),從Haskell、Python和Scala等其他語(yǔ)言汲取了明顯的設(shè)計(jì)靈感。作為一種編程語(yǔ)言,您可以使用F#進(jìn)行數(shù)據(jù)分析、統(tǒng)計(jì)推理、科學(xué)研究、游戲設(shè)計(jì)、桌面應(yīng)用程序構(gòu)建和設(shè)計(jì)以及人工智能。
一些值得注意的特性包括輕量級(jí)語(yǔ)法、快速執(zhí)行、一流函數(shù)、模式匹配以及豐富的數(shù)據(jù)類(lèi)型。
二、Elixir
像Ruby和Python這樣的語(yǔ)言可能已老氣橫秋,但這些語(yǔ)言繼續(xù)支持其他語(yǔ)言的發(fā)展。Elixir深受Ruby on Rails的影響,但其強(qiáng)大功能源自Erlang。
José Valim是Elixir語(yǔ)言的發(fā)明者,發(fā)明它的初衷是為了解決Ruby的缺點(diǎn),同時(shí)恪守其鼻祖Erlang。盡管Elixir的語(yǔ)法與Ruby非常相似,但它與Erlang的VM、BEAM和Erlang生態(tài)系統(tǒng)之間的兼容性繼續(xù)為用戶(hù)提供這兩種語(yǔ)言的最佳特性。
當(dāng)您開(kāi)始使用Elixir時(shí),會(huì)注意到它的可擴(kuò)展性和容錯(cuò)特性對(duì)于構(gòu)建廣泛的分發(fā)系統(tǒng)必不可少。以下是Elixir的一些主要特性:
? 用于并發(fā)編程的開(kāi)放電信平臺(tái)(OTP)庫(kù)。
? 可以選擇與眾多云平臺(tái)兼容。
? 遠(yuǎn)程調(diào)試、動(dòng)態(tài)類(lèi)型和結(jié)構(gòu)整齊的語(yǔ)法。
? 支持一系列廣泛的Web應(yīng)用開(kāi)發(fā)工具,比如Mix、IEx和Phoenix。
三、Julia
作為技術(shù)界的一支新軍,Julia有望成為一種改變游戲規(guī)則的編程語(yǔ)言。盡管Julia已經(jīng)存在了十年,但它仍是強(qiáng)有力的競(jìng)爭(zhēng)者,有助于機(jī)器學(xué)習(xí)、科學(xué)計(jì)算,甚至數(shù)據(jù)處理/挖掘。甚至有人說(shuō),Julia正憑借與生俱來(lái)的功能和強(qiáng)大的特性,與Python爭(zhēng)奪頭把交椅。
作為一種語(yǔ)言,Julia具有真正的三面性:它集C語(yǔ)言的速度、Python的編程能力和R語(yǔ)言的統(tǒng)計(jì)能力于一體。據(jù)Julia的開(kāi)發(fā)人員聲稱(chēng),以下幾項(xiàng)特性讓它有別于與之競(jìng)爭(zhēng)的編程語(yǔ)言:
? 處理速度快。
? 動(dòng)態(tài)類(lèi)型,非常適合交互式編程。
? 配備預(yù)先構(gòu)建的二進(jìn)制文件,讓您只需要點(diǎn)擊一下按鈕即可重現(xiàn)環(huán)境。
? 鑒于其同步I/O、元編程和調(diào)試功能,便于構(gòu)建整個(gè)微服務(wù)和應(yīng)用程序。
? 多級(jí)并行處理,可生成原生GPU代碼。
? 多用途庫(kù),有些庫(kù)是Julia特有的。您可以從Fortran、Python、Java、C++及其他諸多語(yǔ)言導(dǎo)入和使用外部庫(kù)。
四、Crystal
實(shí)際上有一種編程語(yǔ)言旨在滿足各種形式的應(yīng)用程序開(kāi)發(fā)。如果您是前端開(kāi)發(fā)人員,就應(yīng)該學(xué)習(xí)JavaScript。同樣,Java、Go、Elm和Rust適用于后端編程。
市面上還有很多其他的編程語(yǔ)言。您可以根據(jù)自己的使用情況和當(dāng)前的需要,選擇最適合需要的那種語(yǔ)言。但Crystal在哪里有其一席之地呢?
就像Elixir一樣,連Crystal的速度也來(lái)自C、流暢性來(lái)自Ruby,這使得它得以專(zhuān)注于提高性能和改善用戶(hù)體驗(yàn)。如果您以前用Ruby編寫(xiě)過(guò)代碼,可能會(huì)喜歡Crystal。它汲取了前者的語(yǔ)法易讀性和結(jié)構(gòu)。由于它是一種靜態(tài)類(lèi)型檢查編程語(yǔ)言,因此不太容易出現(xiàn)錯(cuò)別字和語(yǔ)法錯(cuò)誤。
為了改進(jìn)使用,并添加很少?gòu)钠渌Z(yǔ)言體驗(yàn)到的功能上的優(yōu)勢(shì),您可以使用其固有的宏系統(tǒng)來(lái)輔助基本模板和運(yùn)行外部程序。
五、Red
Red的靈感來(lái)自基于相對(duì)表達(dá)式的對(duì)象語(yǔ)言(REBOL)。與本文介紹的其他一些語(yǔ)言一樣,這種語(yǔ)言解決了其基礎(chǔ)語(yǔ)言REBOL的缺點(diǎn)。
Red是一種首創(chuàng)的全棧開(kāi)發(fā)語(yǔ)言,它試圖實(shí)現(xiàn)一個(gè)工具滿足所有需求這個(gè)概念。
它是一種單一的可執(zhí)行語(yǔ)言,沒(méi)有額外的依賴(lài)項(xiàng),整個(gè)大小不到1 MB。下面是使用Red來(lái)滿足編程需求的一些好處:
? 易于使用的語(yǔ)法。
? 具有同像性(homoiconic),因?yàn)樗性脑Z(yǔ)言和數(shù)據(jù)格式。
? 它是一種符號(hào)編程語(yǔ)言,支持對(duì)象支持、宏系統(tǒng)和豐富的數(shù)據(jù)類(lèi)型。
? 這種交叉編譯語(yǔ)言的大小不到1 MB,為并行性、并發(fā)性和低級(jí)系統(tǒng)編程能力提供無(wú)限支持。
六、Kotlin
Jet Brains創(chuàng)建了Kotlin,并通過(guò)其世界級(jí)IDE將其推廣給了最終用戶(hù)。由于Kotlin是一種通用的面向?qū)ο笳Z(yǔ)言,它得到了谷歌的贊助,也是安卓的官方應(yīng)用程序開(kāi)發(fā)語(yǔ)言。它是一種靜態(tài)類(lèi)型語(yǔ)言,有一組規(guī)范定義的數(shù)據(jù)類(lèi),因此使用起來(lái)簡(jiǎn)潔又安全。該語(yǔ)言可在Java虛擬機(jī)(JVM)上順暢運(yùn)行。
一些額外的好處包括如下:
? 精心創(chuàng)建的高階函數(shù)、表達(dá)式和計(jì)算方法。
? 表達(dá)性強(qiáng)、簡(jiǎn)潔,只需較少的樣板代碼。
? 由于支持可空性的類(lèi)型系統(tǒng)和NullPointerExceptions,該語(yǔ)言使用起來(lái)很安全。
? 其多平臺(tái)功能允許您在各種平臺(tái)之間共享應(yīng)用程序邏輯,包括Web、移動(dòng)、臺(tái)式機(jī)和筆記本電腦。
? Kotlin越來(lái)越龐大的社區(qū)驅(qū)動(dòng)的庫(kù)增強(qiáng)了其功效和有效性,特別是當(dāng)您在開(kāi)發(fā)中遇到困難時(shí)。
原文鏈接:https://www.makeuseof.com/programming-languages-to-learn-in-2023/