干貨分享|為什么有這么多編程語言?
發(fā)布時間:2023-07-19 14:56:48
技術(shù)和編程語言的演變
我們擁有這么多編程語言的第一個也是最大的原因是技術(shù)一直在發(fā)展。隨著更多技術(shù)的出現(xiàn)和進步,我們需要更多的工具來為這些技術(shù)制作軟件。
由于語言能力的限制,我們目前擁有的編程語言可能無法處理出現(xiàn)的特定問題。這個問題可能非常獨特,以至于沒有現(xiàn)存的解決方案可以滿足它的需求,因此人們或公司決定自己創(chuàng)建一種新語言。
以下是根據(jù)特定需求開發(fā)的一些值得注意的編程語言示例:
C 語言——Dennis Ritchie 和貝爾實驗室于 1972 年創(chuàng)建了 C,以克服舊語言的問題。他們首先用它來運行 Unix 操作系統(tǒng)。今天,它幾乎可以在所有類型的軟件和硬件上運行。
C++——Bjarne Stroustrup 在 1985 年創(chuàng)建 C++ 主要有兩個原因。第一個原因是為了升級 C 語言的功能,第二個原因是為了讓每個人都可以在各個領(lǐng)域使用它。
PHP – PHP 由 Rasmus Lerdorf 于 1994 年創(chuàng)建,他最初將其用于個人項目,后來他改進了語言并將其發(fā)布給公眾,開發(fā)人員開始大量使用它進行 Web 開發(fā)。
Go 語言——谷歌在 2009 年創(chuàng)建了 Go 語言,因為他們當(dāng)時使用的語言對于某些任務(wù)來說太慢且不方便。此外,谷歌想要一種性能快速但仍然相對易于閱讀的編程語言。
JavaScript —— Netscape 在 1995 年創(chuàng)建了 JavaScript。他們最初為前端開發(fā)創(chuàng)建 JavaScript,因此 Web 開發(fā)人員和設(shè)計人員都可以在短時間內(nèi)學(xué)習(xí)和創(chuàng)建網(wǎng)站功能?,F(xiàn)在我們將它用于后端、前端和移動開發(fā)。
不同類型的開發(fā)人員工作需要不同的語言
我們擁有這么多編程語言的另一個原因是,有不同類型的開發(fā)人員工作需要不同的工具。
把它想象成一個醫(yī)生和他們的病人。醫(yī)生的工作是治療病人。有不同種類的疾病和傷害,每一種都足夠復(fù)雜,可以用不同的療法來治療。因此,醫(yī)生專注于某些領(lǐng)域,例如心臟病學(xué)、牙科、外科等。
對于程序員來說也是如此。由于有不同種類的軟件和平臺,每一種都需要自己的工具和功能,程序員可以像醫(yī)生一樣專攻。
以下是一些開發(fā)人員的工作以及他們使用的主要編程語言:
游戲開發(fā)人員使用 C++ 或 C# 為 PC 和控制臺制作視頻游戲。
Web 開發(fā)人員使用 HTML、CSS、JavaScript 和 PHP 來制作網(wǎng)站和 Web 應(yīng)用程序。
移動應(yīng)用程序開發(fā)人員使用 Java 和 Kotlin 制作 Android 應(yīng)用程序或使用 Swift 制作 iOS 應(yīng)用程序。
軟件開發(fā)人員使用 C++、C# 和 Java 來制作桌面應(yīng)用程序、業(yè)務(wù)應(yīng)用程序和系統(tǒng)軟件。
數(shù)據(jù)科學(xué)家使用 Python、R 和 MatLab 來分析用于科學(xué)研究和教育目的的數(shù)據(jù)。
這些不是你可以用來執(zhí)行這些任務(wù)的唯一語言,只是一些最常用的示例。
開發(fā)人員對他們的項目有不同的需求和目標
編程語言如此之多的第三個原因是,并非所有語言都能滿足開發(fā)人員或公司的目標。不同的開發(fā)人員有自己的目標和優(yōu)先級,有些編程語言比其他語言更適合某些類型的任務(wù)。
一些開發(fā)人員想要一種超級快速和高性能的編程語言,歡迎使用 Go 語言或 C++。這些語言支持對系統(tǒng)資源(如內(nèi)存和線程)進行非常精細的控制。
其他開發(fā)人員想要一種可以在幾天而不是幾周內(nèi)構(gòu)建程序的編程語言。向 JavaScript 問好!很難找到一種更通用的語言。你可以在從后端到 Web 和移動應(yīng)用程序的任何地方使用 JS。
然后,一些開發(fā)人員更喜歡針對特定任務(wù)的編程語言。2021 年,大量數(shù)據(jù)科學(xué)將使用 Python 交付。
最后,一些開發(fā)人員想要一種有趣的編程語言,試試 Haskell 或 Lisp,讓我知道它是怎么回事:)
如何選擇編程語言
既然你已經(jīng)了解了為什么有這么多編程語言,那么接下來你可能還會問一個問題:
我應(yīng)該學(xué)習(xí)哪種編程語言?
幸運的是,有一個非常簡單的答案:與其著眼于編程語言本身,不如考慮你的最終目標。
你想從事什么類型的編程工作?你想構(gòu)建什么?你所在地區(qū)的職位發(fā)布需要什么?一旦你查看了這些因素,你就可以選擇一種可以幫助你實現(xiàn)目標的編程語言。
例如,如果你的目標是制作專業(yè)網(wǎng)站,那就學(xué)習(xí) HTML、CSS 和 JavaScript。
如果你想進入游戲開發(fā)領(lǐng)域,那就去學(xué)習(xí) C++ 和 C#。
或者,如果你希望在移動應(yīng)用程序方面開始你的職業(yè)生涯,你就應(yīng)該查看適用于 iOS 應(yīng)用程序的 Swift 和適用于 Android 應(yīng)用程序的 Java 或 Kotlin。
總結(jié)
總而言之,有許多編程語言的主要原因是不同的問題需要不同的工具來解決。每種編程語言都具有使其適用于特定任務(wù)的某些特性和特點。
就像醫(yī)生的工作如何劃分為不同的專業(yè),每個專業(yè)都解決復(fù)雜的問題并使用適合其工作的工具一樣,編程也是如此。
- 上一篇:盛圖科技|嵌入式軟件的設(shè)計范疇
- 下一篇:嵌入式實時操作系統(tǒng)