你應該學習哪種編程語言?
學習一門新的編程語言是在你的職業生涯中繼續前進的好方法,但是應該學習哪一門呢?
-- Marty Kalin
如果你想要開始你的編程生涯或繼續前進,那麼學習一門新語言是一個聰明的主意。但是,大量活躍使用的語言引發了一個問題:哪種編程語言是最好的?要回答這個問題,讓我們從一個簡單的問題開始:你想做什麼樣的程序?
如果你想在客戶端進行網路編程,那麼特定語言 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中國 榮譽推出
點擊「了解更多」可訪問文內鏈接
※每日安全資訊:BGP 路由表即將突破 768k,可能會引發網路故障
※小白觀察:Google 的 Stadia 是否會殺死實體遊戲機?
TAG:Linux技術 |