你應該學習哪種程式語言?

Marty Kalin發表於2019-04-24

學習一門新的程式語言是在你的職業生涯中繼續前進的好方法,但是應該學習哪一門呢?

你應該學習哪種程式語言?

如果你想要開始你的程式設計生涯或繼續前進,那麼學習一門新語言是一個聰明的主意。但是,大量活躍使用的語言引發了一個問題:哪種程式語言是最好的?要回答這個問題,讓我們從一個簡單的問題開始:你想做什麼樣的程式?

如果你想在客戶端進行網路程式設計,那麼特定語言 HTML、CSS 和 JavaScript(看似無窮無盡的方言之一)是必須要學習的。

如果你想在伺服器端進行 Web 程式設計,那麼選擇包括常見的通用語言:C++、Golang、Java、C#、 Node.js、Perl、Python、Ruby 等等。當然,伺服器程式與資料儲存(例如關聯式資料庫和其他資料庫)打交道,這意味著 SQL 等查詢語言可能會發揮作用。

如果你正在為移動裝置編寫原生應用程式,那麼瞭解目標平臺非常重要。對於 Apple 裝置,Swift 已經取代 Objective C 成為首選語言。對於 Android 裝置,Java(帶有專用庫和工具集)仍然是主要語言。有一些特殊語言,如與 C# 一起使用的 Xamarin,可以為 Apple、Android 和 Windows 裝置生成特定於平臺的程式碼。

那麼通用語言呢?通常有各種各樣的選擇。在動態指令碼語言(如 Perl、Python 和 Ruby)中,有一些新東西,如 Node.js。而 Java 和 C# 的相似之處比它們的粉絲願意承認的還要多,仍然是針對虛擬機器(分別是 JVM 和 CLR)的主要靜態編譯語言。在可以編譯為原生可執行檔案的語言中,C++ 仍在使用,還有後來出現的 Golang 和 Rust 等。通用的函式式語言比比皆是(如 Clojure、Haskell、Erlang、F#、Lisp 和 Scala),它們通常都有熱情投入的社群。值得注意的是,面嚮物件語言(如 Java 和 C#)已經新增了函式式構造(特別是 lambdas),而動態語言從一開始就有函式式構造。

讓我以 C 語言結尾,它是一種小巧、優雅、可擴充套件的語言,不要與 C++ 混淆。現代作業系統主要用 C 語言編寫,其餘部分用匯編語言編寫。任何平臺上的標準庫大多數都是用 C 語言編寫的。例如,任何列印 Hello, world! 這種問候都是透過呼叫名為 write 的 C 庫函式來實現的。

C 作為一種可移植的組合語言,公開了其他高階語言有意隱藏的底層系統的詳細資訊。因此,理解 C 可以更好地掌握程式如何競爭執行所需的共享系統資源(如處理器、記憶體和 I/O 裝置)。C 語言既高階又接近硬體,因此在效能方面無與倫比,當然,組合語言除外。最後,C 是程式語言中的通用語言,幾乎所有通用語言都支援某種形式的 C 呼叫。

有關現代 C 語言的介紹,參考我的書籍《C 語言程式設計:可移植的彙編器介紹》。無論你怎麼做,學習 C 語言,你會學到比另一種程式語言多得多的東西。

你認為學習哪些程式語言很重要?你是否同意這些建議?在評論告知我們!


via: https://opensource.com/article/19/2/which-programming-languages-should-you-learn

作者:Marty Kalin 選題:lujun9972 譯者:MjSeven 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章