作者丨DDI development
譯者丨核子可樂(lè)
策劃丨小智
在軟件項(xiàng)目與具體實(shí)現(xiàn)層面,我們需要考慮眾多具體因素。但無(wú)論從哪種角度出發(fā),技術(shù)棧的選擇永遠(yuǎn)是決定項(xiàng)目成功與否的核心因素之一。根據(jù)您的實(shí)際應(yīng)用需求、站點(diǎn)或者產(chǎn)品設(shè)計(jì)思路,不同的編程語(yǔ)言往往能夠帶來(lái)不同的效果甚至左右項(xiàng)目的最終命運(yùn)。
更重要的是,當(dāng)下針對(duì)不同需求側(cè)重的出色編程語(yǔ)言多種多樣。無(wú)論市場(chǎng)如何變化,實(shí)際要求似乎永遠(yuǎn)能夠在某些語(yǔ)言、特別是新興編程語(yǔ)言當(dāng)中得到滿(mǎn)足。在今天的文章中,我們將縱覽行業(yè)中的開(kāi)發(fā)新趨勢(shì)、對(duì)五種新興編程語(yǔ)言做出點(diǎn)評(píng),同時(shí)概括其強(qiáng)大功能。
Elm 在今天的榜單上名列首位當(dāng)然不是偶然,而是憑借自身出色的功能與核心優(yōu)勢(shì)。作為函數(shù)編程的支持者,Elm 一直強(qiáng)調(diào)面向 JavaScript 代碼的轉(zhuǎn)換能力,因此非常適合大部分實(shí)際需求。這款編程語(yǔ)言專(zhuān)注于可用性,且能夠在配合或者無(wú)需 JavaScript 的前提下構(gòu)建 Web UI。除此之外,您還能夠通過(guò) Elm 獲得以下收益:
用于前端編碼的函數(shù)式高速編程語(yǔ)言基元。
自動(dòng)執(zhí)行的語(yǔ)義版本控制機(jī)制。
不存在運(yùn)行時(shí)異常。
效果出色的編譯器。
提供多種強(qiáng)大工具,其中 elm-format 允許開(kāi)發(fā)者在文本編輯器內(nèi)點(diǎn)擊“保存”即獲得代碼美化效果;elm-test(單元 / 模糊測(cè)試);elm-css 確保將代碼編譯為.css 文件,從而簡(jiǎn)化應(yīng)用程序與樣式表之間的同步。
利用龐大的 JavaScript 生態(tài)系統(tǒng)顯著降低 Elm 社區(qū)的重復(fù)工作量。
Kotlin 在我們今天的榜單中位列第二。Kotlin 的目標(biāo)非常簡(jiǎn)單:希望替代 JavaScript 與 JVM,最終發(fā)展為 Android 開(kāi)發(fā)領(lǐng)域的頭把交椅。目前,至少有十余種 JetBrains 產(chǎn)品已經(jīng)開(kāi)始采用這款靜態(tài)類(lèi)型編程語(yǔ)言;此外,Kotlin 也得到了 NBC Digital、Amex 以及其他一些知名企業(yè)的青睞。Kotlin 在設(shè)計(jì)上強(qiáng)調(diào)簡(jiǎn)潔、安全以及 Java 的絕對(duì)互操作性,其具備以下特點(diǎn):
簡(jiǎn)潔性:盡量減少樣板代碼。
安全性:語(yǔ)言編譯器會(huì)盡可能減少非經(jīng)常性工程(NRE)。
多功能:Kotlin 適用于 Web/ 桌面 / 移動(dòng) / 服務(wù)器端應(yīng)用程序的開(kāi)發(fā)。
可與當(dāng)前的 Java 代碼庫(kù) / 庫(kù) / 框架襪互操作。
多種工具選項(xiàng):確保開(kāi)發(fā)工作在效率、效果以及自動(dòng)化程度方面更上一層樓。
表達(dá)性與約定。
前三甲的最后一個(gè)位置留給了 Rust。這款編程語(yǔ)言在 Web 開(kāi)發(fā)人員群體中極具人氣,特別是在 Mozilla 火狐瀏覽器上有著無(wú)可比擬的優(yōu)勢(shì)。Rust 的核心訴求在于安全性、速度以及并發(fā)性。靜態(tài)類(lèi)型加上內(nèi)存控制、類(lèi)型推斷以及其他函數(shù)特性的共同結(jié)合,使得 Rust 擁有了幾乎能夠與 C 語(yǔ)言比肩的執(zhí)行效率。如果大家聽(tīng)說(shuō)過(guò) Rust,肯定對(duì) Rust 與其他編程語(yǔ)言之間的區(qū)別有所了解。下面來(lái)看具體優(yōu)勢(shì):
Borrow chcker 可以說(shuō)是 Rust 當(dāng)中最具典型性的代碼審查工具。它會(huì)持續(xù)讀取代碼并不斷編譯,直到發(fā)生內(nèi)存錯(cuò)誤為止。除此之外,該功能還可以利用同一套規(guī)則集處理數(shù)據(jù)爭(zhēng)用問(wèn)題。
組合超越繼承( composition over inheritance)支持的模塊化編程允許開(kāi)發(fā)人員僅靠屬性實(shí)現(xiàn)類(lèi)型定義。
更多無(wú)與倫比的工具(包括跨平臺(tái) API 以及出色的軟件包管理器)可幫助開(kāi)發(fā)人員節(jié)約大量工作時(shí)間。
Elixir 同樣在努力為開(kāi)發(fā)人員的日常工作帶來(lái)福音,對(duì)這一目標(biāo)的堅(jiān)持也讓它成功進(jìn)入我們的這份評(píng)選榜單。Elixir 直接采用大量來(lái)自 Ruby 的優(yōu)秀語(yǔ)法,但同時(shí)又能提供 C 語(yǔ)言的編碼優(yōu)勢(shì)。截至目前,Elixir 主要通過(guò)全函數(shù) Web 應(yīng)用生態(tài)系統(tǒng) Phoenix 以及歷史悠久的 HTTP 服務(wù)器 Cowboy 用于 Web 應(yīng)用開(kāi)發(fā)。Elixir 語(yǔ)言在設(shè)計(jì)層面主要強(qiáng)調(diào)可擴(kuò)展性、實(shí)用性以及可持續(xù)性,其核心特征包括:
監(jiān)督;
堅(jiān)持使用數(shù)據(jù)結(jié)構(gòu);
無(wú)剝離效應(yīng);
模式匹配;
無(wú)共享并發(fā);
熱交換代碼。
目前,Pinterest 等眾多重要企業(yè)已經(jīng)成功將 Elixir 引入自家產(chǎn)品。
“像 Ruby 一樣流暢,像 C 語(yǔ)言一樣迅捷?!睕](méi)錯(cuò),今天我們要盤(pán)點(diǎn)的最后一款高人氣編程語(yǔ)言就是 Crystal。完全面向?qū)ο?、編譯化、靜態(tài)類(lèi)型等等,都是 Crystal 最重要的基本特性。如何選擇它作為您的編程語(yǔ)言,大家還將獲得以下一系列重要優(yōu)勢(shì):
類(lèi) Ruby 式語(yǔ)法;
Fibres 用以實(shí)現(xiàn)并發(fā)以及無(wú)阻塞 / 異步操作;
性能損失?樣板代碼?Macros 表示完全不存在;
Crystal 命令配合實(shí)用默認(rèn)工具,可幫助大家輕松運(yùn)行測(cè)試套件以及編譯等功能;
默認(rèn)提供代碼格式化功能;
Crystal play 可通過(guò) irb 形式實(shí)現(xiàn)快速原型設(shè)計(jì);
出色的代碼可理解性、可讀性以及表達(dá)性使得語(yǔ)言學(xué)習(xí)變得簡(jiǎn)單快捷。
開(kāi)發(fā)需求與業(yè)務(wù)取向一直在不斷變化。如果說(shuō) C++、Java、PHP、Ruby 以及 Python 等一系列編程語(yǔ)言代表著對(duì)以往市場(chǎng)傾向的迎合與突破,那么本文中提到的五款編程語(yǔ)言(及其他一些新興語(yǔ)言)有望快速開(kāi)拓并占領(lǐng)市場(chǎng)份額,甚至給整個(gè)開(kāi)發(fā)行業(yè)帶來(lái)變革。
這些新興語(yǔ)言為特定問(wèn)題、需求與任務(wù)帶來(lái)了更強(qiáng)大的解決方案、更簡(jiǎn)單的語(yǔ)法、更豐富的類(lèi)型以及更輕松的檢查 / 測(cè)試手段。雖然它們不可能在短時(shí)間內(nèi)完全替代原有編程語(yǔ)言選項(xiàng),但年輕一代確實(shí)擁有光明的發(fā)展前景,并有望幫助企業(yè)在市場(chǎng)競(jìng)爭(zhēng)當(dāng)中占據(jù)獨(dú)特的優(yōu)勢(shì)地位。
End
聯(lián)系客服