愛伊米

每個程式設計師都應該學的5門程式語言

程式設計師書庫(ID:OpenSourceTop) 編譯

編譯自:O’Reilly書籍介紹

程式設計師用各種通用程式語言編寫程式碼。大多數使用企業軟體的程式設計師在退休之前通常只使用一種程式語言。然而,有些程式設計師日常工作中有機會使用多種程式語言,例如,如果程式設計師使用Flutter原生模組,那麼就有機會使用Dart、Kotlin(或Java)、Objective-C(或Swift)、C/C++等。

每個程式設計師都應該學的5門程式語言

但是,大多數程式設計師由於幾十年來只使用一種語言而限制了他們的技術技能。我們經常遇到。net和Java專家。但是,我們很少看到掌握多種語言的程式設計師。習多種程式語言會帶來更多好處。但是,學習每一種流行的程式語言確實不是一個明智的選擇。

今天,就和大家分享每個程式設計師應該學習的5種程式語言:

C/C++

C程式語言是幾乎所有低階軟體元件的基礎語言。C的抽象更接近於硬體,與其他現代流行的程式語言相比,C語言的語法更接近組合語言。因此,C編譯器可以有效地將C原始碼轉換為機器語言,並生成輕量級、快速的二進位制可執行檔案。

C++是C語言的擴充套件,所以你可以用C++的特性來代替C語言缺失的現代語言特性(例如:類、名稱空間等)。簡而言之,學習C/C++對任何程式設計師都有很多好處,C/C++會激勵你編寫最佳化的程式碼,因為C/C++不提供自動垃圾回收,C語言可以提高你解決問題的能力和基本的計算機科學技能,因為它不提供預構建的資料結構和全功能的標準庫。同樣,學習C/C++對提高計算機科學知識和技能有很大的幫助。

Bash

Bash是為類Unix作業系統構建的命令語言和命令列直譯器。幾乎所有類Unix作業系統都預先安裝了Bash直譯器程式,此外,許多GUI終端軟體通常使用Bash作為預設命令直譯器,因此,我們可以為不同的類Unix作業系統編寫可移植的Bash指令碼。

程式設計師遵循不同的實踐來提高他們的日常程式設計效率,許多程式設計師通常為重複的過程編寫自己的Bash指令碼。例如,我編寫了一個簡單的Bash指令碼來構建和複製TypeScript專案的輸出。學習Bash無疑是學習過程自動化的第一步。過程自動化確實是提高生產力的方法。透過Bash可以非常快地編寫自動化指令碼,以提高程式設計效率。

JavaScript

WORA (Write Once Run Anywhere)現在是JavaScript而是Java,現在你也可以JavaScript構建任何東西,你可以使用JavaScript構建網站、Web服務、桌面應用程式、移動應用程式、CLI程式、物聯網解決方案、機器人相關程式和智慧電視應用程式。如果你學習了JavaScript,那麼你將得到一個與各種軟體專案合作的絕佳機會。

學習JavaScript為使用一種現代程式語言構建任何東西打開了一條新的道路。面向網際網路的企業軟體公司主要使用JavaScript,或者維護至少幾個用JavaScript構建的子專案。毫無疑問,世界上每個程式設計師每天都使用瀏覽器。程式設計師通常喜歡學習內部知識。JavaScript確實是理解Web瀏覽器內部的必備技能。

Python

Python是一種開發人員友好的、簡單的、動態型別的解釋性程式語言。許多Web開發人員、資料科學家、機器學習工程師和系統管理員在日常程式設計任務中使用Python。有時候,編寫Python原始碼比編寫虛擬碼來實現特定演算法要快。

Python提供了許多內建函式來處理資料結構。而且,Python是處理資料記錄最簡單的程式語言之一。學習Python對所有程式設計師都有好處。Bash非常適合自動化,如果你的自動化變化,如果你的自動化指令碼想要處理資料,那麼Bash並不適合—因為它是一種命令列語言。另一方面,Python可以用最小的語法處理資料,並像Bash一樣用最小的語法呼叫其他程序。因此,如果學習Python,你可以編寫乾淨的、功能齊全的自動化指令碼。

此外,Python對於線上編碼挑戰和快速解決問題的技術面試非常有用。例如,在Python中刪除列表的副本是多麼容易,甚至不需要使用任何import語句。

Go

Go是一種靜態型別的通用程式語言,使用類似C語言的語法設計。它具有許多其他現代程式語言所具有的特性,比如垃圾收集、記憶體安全和併發支援。Go程式語言具有開發人員友好的語法,但與其他流行語言相比,它的效能依然深受青睞,Go語言的設計給我們所有程式設計師提供了很多寶貴的經驗。

Go提供了構建任何軟體系統所需的所有功能,大多數程式語言都添加了大量的語言特性,使開發人員的工作更加輕鬆。但實際上,新的語言特性很快就會使程式碼庫過時。而且,許多有經驗的程式設計師通常不關心語言的最新語法技巧。