當(dāng)今最流行的編程語言對工程團(tuán)隊(duì)有何啟示?
軟件行業(yè)正在經(jīng)歷一些重大轉(zhuǎn)變。每家公司都必須事半功倍,同時(shí)還要以驚人的速度發(fā)展。結(jié)果是更多的工程團(tuán)隊(duì)選擇了有效的增長,而不是不惜一切代價(jià)的增長。在可擴(kuò)展性和效率中,安全性已成為開發(fā)人員在選擇編程語言和工具時(shí)的首要要求。這是我在分析了 CircleCI 上 25 種最流行的編程語言后觀察到的。
團(tuán)隊(duì)正在平衡產(chǎn)品市場匹配與可擴(kuò)展性和安全性,最終選擇允許他們有效協(xié)作的工具,同時(shí)啟用能夠防止盡可能多的錯(cuò)誤的護(hù)欄。
以下是我對過去三年中最重要的語言趨勢的看法,以及他們對開發(fā)人員不斷變化的優(yōu)先事項(xiàng)的看法。
Rust 躍居最受歡迎的 25 種語言
作為一種具有出色內(nèi)存管理的系統(tǒng)語言,Rust旨在取代像 C 這樣的語言,想要編寫安全代碼的開發(fā)人員喜歡它。它是一種語言,可以讓開發(fā)人員輕松協(xié)作并在短時(shí)間內(nèi)完成大量工作。當(dāng)團(tuán)隊(duì)想要一種既可以作為強(qiáng)大服務(wù)又可以擴(kuò)展的語言時(shí),他們會求助于 Rust。我認(rèn)為在未來幾年中,我們將開始看到越來越多的團(tuán)隊(duì)出于這些確切原因選擇 Rust,尤其是在系統(tǒng)工具領(lǐng)域
TypeScript 超越 JavaScript 成為最流行的 DevOps 語言
作為一種促進(jìn)協(xié)作和加速開發(fā)的可擴(kuò)展、人類可讀的語言,TypeScript的受歡迎程度表明,越來越多的工程團(tuán)隊(duì)通過使代碼更易于閱讀、重構(gòu)和共享代碼來優(yōu)先考慮跨項(xiàng)目的快速入職和協(xié)作。TypeScript 與 JavaScript 類似,但具有較少的不可預(yù)測性。它更容易驗(yàn)證且不那么混亂,讓開發(fā)人員更有信心。
主要工具已經(jīng)用 TypeScript 編寫,例如 React 和 VS 代碼——它們中的每一個(gè)都有許多協(xié)作者,并且使用類型化語言更容易進(jìn)行協(xié)作擴(kuò)展。TypeScript 沒有像 JavaScript 那樣頻繁地發(fā)布新框架,這使得開發(fā)人員不必頻繁地重新學(xué)習(xí)更新版本的所有內(nèi)容。最終,TypeScript 上的防護(hù)欄比 JavaScript 上的多。
我們自己的團(tuán)隊(duì)使用 TypeScript,并且最近創(chuàng)建了一個(gè)開源庫 CircleCI Config SDK,它允許開發(fā)人員使用更易于管理的語言(如 TypeScript 和 JavaScript)編寫和管理他們的 YAML 文件。這使團(tuán)隊(duì)更容易在運(yùn)行時(shí)動(dòng)態(tài)構(gòu)建他們的 CI 配置,并省去了很多麻煩。
HashiCorp 的配置語言進(jìn)入前 10 名
HCL 為團(tuán)隊(duì)提供了大規(guī)模配置和管理云環(huán)境所需的靈活性。HCL 對開發(fā)人員友好的語法與基礎(chǔ)設(shè)施即代碼工具的速度和標(biāo)準(zhǔn)化優(yōu)勢相結(jié)合,使工程團(tuán)隊(duì)能夠?qū)崿F(xiàn)難以置信的快速部署工作流程和調(diào)試。當(dāng)團(tuán)隊(duì)需要管理這種規(guī)模的變更時(shí),HCL 使他們能夠成功地做到這一點(diǎn)。
我們在 CircleCI 使用 HCL,因?yàn)樗麄冊?V2 中添加了各種護(hù)欄,使我們的團(tuán)隊(duì)更容易理解我們正在嘗試做的事情的預(yù)期結(jié)果。事實(shí)上,它與 TypeScript 甚至 Rust 共享許多好處——添加更多類型檢查和安全性使得貢獻(xiàn)和驗(yàn)證更加直接。使用像 HCL 這樣的語言,我們的持續(xù)集成變得更加可靠和有效,因?yàn)槲覀冎牢覀兛梢栽诹鞒痰脑缙诎l(fā)現(xiàn)任何問題。HCL 使我們能夠快速行動(dòng)而不會犯錯(cuò)誤,因?yàn)檫@些制衡機(jī)制已經(jīng)到位。
Gherkin 將行為驅(qū)動(dòng)開發(fā)帶入前 20 名
行為驅(qū)動(dòng)開發(fā)(測試驅(qū)動(dòng)開發(fā)的一個(gè)分支)通過圍繞產(chǎn)品行為建立共同的期望來打破產(chǎn)品所有者和開發(fā)人員之間的傳統(tǒng)障礙,而無需具體說明應(yīng)該如何在幕后實(shí)現(xiàn)功能。
Gherkin 的日益流行再次表明,越來越多的團(tuán)隊(duì)從開發(fā)過程的一開始就優(yōu)先考慮跨團(tuán)隊(duì)協(xié)作和用戶體驗(yàn)。Gherkin 使團(tuán)隊(duì)不僅可以了解最終產(chǎn)品的行為,還可以定義所需的行為。傳統(tǒng)上,大量的時(shí)間和精力都花在弄清楚軟件的行為方式上。在進(jìn)入重構(gòu)之前,您需要知道這一點(diǎn)。Gherkin 將這種心態(tài)放在首位。
安全行事
軟件行業(yè)的很大一部分正在走向成熟,這可能會因當(dāng)前的宏觀經(jīng)濟(jì)環(huán)境而加速。向具有明確防護(hù)(類型檢查、內(nèi)存安全)的編程語言的轉(zhuǎn)變與工程組織從單體到微服務(wù)的趨勢并無太大不同——兩者都允許更好的資源優(yōu)化和團(tuán)隊(duì)之間的協(xié)作。
越來越多的領(lǐng)導(dǎo)者開始明白,他們不能暫停一年的業(yè)務(wù)來改進(jìn)流程,但他們?nèi)匀恍枰扇☆A(yù)防措施。這些語言趨勢清楚地表明,團(tuán)隊(duì)正在研究如何有效地加速增長,同時(shí)保持必要的安全水平。