計算機程序員(yuán)發展硬技能以在他們的職位上茁壯成長。編程語言是計算機程序員(yuán)必備的技能,他們受益于了解多種語言。語言的使用和适用性各不相同,随着熟練程度的提高,程序員(yuán)擴大(dà)了他們的職業前景。
Linux: Linux 是一(yī)個免費(fèi)的開(kāi)源軟件操作系統。Linux 最初是爲個人計算機開(kāi)發的,現在可以在比任何
其他系統更多的平台上運行。具有 Linux 專業知(zhī)識的計算機程序員(yuán)比其他候選人更具競争優勢。
Java: Java 是一(yī)種通用的計算機編程語言,具有“一(yī)次編寫,随處運行”的功能。這意味着用 Java 編寫的代碼可以在任何配備 Java 虛拟機的設備上運行。Java 語言的廣泛使用使其成爲程序員(yuán)的一(yī)項關鍵能力。
JavaScript:與 HTML 和 CSS 一(yī)起,JavaScript 是互聯網的三大(dà)核心技術之一(yī)。幾乎所有網站都使用 JavaScript來實現交互性,所有主要的網絡浏覽器都包含 JavaScript 引擎。從事 Web 應用程序的計算機程序員(yuán)必須對 JavaScript 有深入的了解。
C++:C++于 1985 年首次出現,爲 C#、D 和 Java 等後續語言奠定了基礎。許多程序員(yuán)在設計軟件基礎設施和資(zī)源受限的應用程序(如桌面應用程序或電(diàn)子商(shāng)務服務器)時使用 C++。專家建議計算機編程學生(shēng)學習 C++ 作爲他們的第一(yī)門語言之一(yī)。
ASP.NET:由 Microsoft 創建,ASP.NET 支持動态網頁的開(kāi)發,或在用戶每次查看時顯示不同内容的頁面。ASP.NET 還允許程序員(yuán)構建其他動态 Web 應用程序和 Web 服務。大(dà)多數現代程序員(yuán)都學習ASP.NET的更新變體(tǐ),稱爲 ASP.NET Core。
C#: C#,發音爲 C-sharp,是一(yī)種通用的多範式編程語言。C# 于 2000 年發布,提供了卓越的靈活性,允許程序員(yuán)創建動态網頁、應用程序、開(kāi)發工(gōng)具和編譯器。C# 被譽爲現代、簡單且功能強大(dà),是計算機程序員(yuán)必須了解的核心語言之一(yī),才能勝任該領域的大(dà)多數工(gōng)作。
SQL: SQL 或結構化查詢語言,用于管理關系數據庫管理系統中(zhōng)的數據。SQL 最初于 1974 年開(kāi)發
,如今仍在 Microsoft Access 等應用程序中(zhōng)使用。雖然計算機程序員(yuán)可以從理解和使用 SQL 中(zhōng)受益,但該語言主要服務于專門從事數據庫設計和管理的程序員(yuán)。
HTML: HTML,或超文本标記語言,是網頁設計中(zhōng)最常見的語言之一(yī)。Internet 浏覽器從服務器接收 HTML 文檔并将其轉換爲多媒體(tǐ)網頁。鑒于 HTML 的普遍性,計算機程序員(yuán)甚至在開(kāi)始計算機科學本科課程之前就應該努力學習該語言。
PHP: PHP 是一(yī)種服務器端腳本語言,支持創建網站、内聯網、互聯網應用程序和社交網絡。通常嵌入 HTML 代碼并使用 C 編程語言實現,很少有程序員(yuán)專門使用 PHP。盡管如此,它的普遍性使其成爲編程專業人士非常寶貴的輔助語言。
Visual Basic: VB 等事件驅動的編程語言允許程序響應用戶操作、傳感器輸出或外(wài)部消息。2008 年,Microsoft 停止支持 VB,盡管一(yī)些軟件開(kāi)發人員(yuán)仍在使用它。雖然在某些環境中(zhōng)可能會有所幫助,但有抱負的程序員(yuán)應該優先學習其他語言而不是 VB。
擴展計算機編程技能的其他語言包括 Swift、Rust 和 Ruby。Swift是 macOS、iOS、watchOS 和相關服務的編程語言,它允許程序員(yuán)在設計安全、強大(dà)的代碼的同時創建和共享二進制框架。
在編程語言方面,有很多選擇。此外(wài),還有大(dà)量應用于不同應用的産品。計算機程序的主要功能是用一(yī)組給定的指令(或代碼)解決問題。但是,如果他們都可以解決問題,爲什麽需要這麽多?一(yī)個程序不能完成所有工(gōng)作嗎(ma)?爲了回答這些問題,讓我(wǒ)(wǒ)們看看執行計算機程序需要什麽。
計算程序的硬件
幾乎所有性質的計算(除了少數例外(wài))都是在中(zhōng)央處理單元 ( CPU ) 中(zhōng)完成的。我(wǒ)(wǒ)們今天擁有的現代CPU 包含許多微電(diàn)子元件。CPU 可以進一(yī)步分(fēn)爲更小(xiǎo)的計算單元,稱爲邏輯晶體(tǐ)管門,通常稱爲邏輯門。這些邏輯門的主要功能是實現三個主要運算符:AND、OR 和 NOT 門。
代碼運行邏輯
上述邏輯運算符适用于稱爲二進制的數字系統,它适用于隻有 0 和 1 的數字系統。0表示沒有電(diàn)流通過晶體(tǐ)管,1表示有電(diàn)流通過晶體(tǐ)管。
最離(lí)奇的現象是,如果隻将上面的邏輯運算符與二進制結合起來,就可以表達我(wǒ)(wǒ)們所知(zhī)道的所有邏輯,包括算術運算、整數以及幾乎所有你能想象到的東西。現代 CPU 中(zhōng)預裝了一(yī)種稱爲微碼的東西。微碼包含一(yī)組用于執行更複雜(zá)執行的基本指令,稱爲機器碼。
執行代碼的軟件級别
現在我(wǒ)(wǒ)們知(zhī)道了計算機代碼執行背後的硬件(還有很多,但爲了簡單起見,我(wǒ)(wǒ)将堅持主要計算發生(shēng)的部分(fēn)),讓我(wǒ)(wǒ)們繼續讨論需要多少級别的軟件軟件的執行。需要的第一(yī)個程序是彙編程序,它有助于将彙編語言轉換爲機器代碼。彙編級語言是一(yī)種低級語言,它充當高級編程語言(例如,Python、C++、Java)和機器代碼之間的對應程序。任何軟件架構的布局如下(xià):
計算機語言
下(xià)一(yī)個重要的程序是編譯器。編譯器采用高級抽象語言并将其轉換爲彙編語言,有時也轉換爲機器代碼。最後一(yī)個将所有東西結合在一(yī)起的最終程序(或包)是操作系統。操作系統基本上是一(yī)個程序,它在您的計算機啓動時啓動并運行直到計算機關閉。操作系統還負責管理複雜(zá)的任務,例如文件管理、輸入和輸出管理。這個功能使得每次你想執行一(yī)個程序時,你不必一(yī)次又(yòu)一(yī)次地重新實現它。它還使用戶的交互以更直觀的方式發揮作用,而不是總是試圖以 0 和 1 的形式與計算機進行通信。
一(yī)種尺寸不适合所有人
現在我(wǒ)(wǒ)們了解所有不同的編程語言都經曆相同的執行形式。一(yī)個程序應該适合所有原因,對嗎(ma)?錯誤的。這将是一(yī)個理想的世界,我(wǒ)(wǒ)們隻需要一(yī)個程序來處理所有事情。所有編程語言都服務于相同的目的,無論是 C++、Java、Python 等,但出于不同的原因,它們都是必要的。
産生(shēng)對不同編程語言的需求的原因是每種語言都有不同的功能。創建編程語言時,其設計目的是爲其添加盡可能多的功能,但沒有一(yī)種編程語言可以在陽光下(xià)做所有事情。