更新時(shí)間:2022-03-16 15:04:48 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2840次
學(xué)編程在哪里學(xué),怎么學(xué)比較好?僅僅是學(xué)習(xí)編碼的想法就非常令人生畏。代碼這個(gè)詞的定義是神秘的。它意味著計(jì)算機(jī)而不是人類應(yīng)該理解的一種技術(shù)形式的通信。許多人開始學(xué)習(xí)編碼的一種方式是選擇一種流行的編程語言,然后在沒有方向的情況下一頭扎進(jìn)。這可以采取在線編碼課程、教程項(xiàng)目或隨機(jī)購買特定主題的書籍的形式。

很少有潛在的開發(fā)人員從路線圖開始——這是編碼世界的鳥瞰圖,其中概述了幾乎100%的開發(fā)人員每天都在使用的一組相關(guān)編程概念、語言和工具。
現(xiàn)代編程語言的一大優(yōu)點(diǎn)是它們使我們能夠創(chuàng)建精美的應(yīng)用程序,而不必?fù)?dān)心幕后硬件的細(xì)節(jié)(大部分情況下)。
這被稱為抽象——使用高級工具(在這種情況下為編程語言)的能力,可以簡化和縮小我們所需的理解和技能范圍。
但是,這并不意味著了解代碼執(zhí)行的金屬基礎(chǔ)知識是沒有用的。至少,了解一些花絮將幫助您了解有關(guān)高CPU和內(nèi)存使用率的工作場所對話。
因此,這里有一些計(jì)算機(jī)架構(gòu)基礎(chǔ)知識可以幫助您入門:
您的計(jì)算機(jī)最重要的部分位于微芯片(也稱為集成電路)上。
微芯片依靠稱為晶體管的電子元件起作用。晶體管是在任何給定時(shí)間關(guān)閉(0)或打開(1)的微型電氣開關(guān)。單個(gè)微芯片可以包含數(shù)百萬或數(shù)十億個(gè)嵌入其上的微型晶體管。
在上一節(jié)中,我們提到大多數(shù)計(jì)算機(jī)都依賴于CPU,而CPU可以以1和0的形式理解一組特定的指令。
因此,理論上我們可以編寫代碼,通過以CPU可以理解的形式將長序列的1和0串在一起來告訴CPU做什么。像這樣以二進(jìn)制形式編寫的指令稱為機(jī)器碼。
聽起來很可怕,不是嗎?嗯,可能是這樣,但我不知道,因?yàn)槲抑饕褂肑avaScript、Python和Java等高級編程語言。
更高級別的編程語言提供了一組人類可讀的關(guān)鍵字、語句和語法規(guī)則,這些關(guān)鍵字、語句和語法規(guī)則更便于人們學(xué)習(xí)、調(diào)試和使用。
編程語言提供了一種方法來彌合我們?nèi)祟惔竽X理解世界的方式與計(jì)算機(jī)大腦(CPU)理解世界的方式之間的差距。
最終,我們編寫的代碼需要翻譯成CPU可以理解的二進(jìn)制指令(機(jī)器代碼)。
根據(jù)您選擇的語言,我們說您的代碼要么被編譯,要么被解釋為能夠由CPU執(zhí)行的機(jī)器代碼。大多數(shù)編程語言都包括一個(gè)稱為編譯器或解釋器的程序,它執(zhí)行這個(gè)翻譯步驟。
舉幾個(gè)例子——JavaScript和Python是解釋型語言,而Java是編譯型語言。一種語言是編譯的還是解釋的(或兩者的某種組合)對開發(fā)人員的便利性、錯(cuò)誤處理、性能和其他方面都有影響,但我們不會在這里深入討論這些細(xì)節(jié)。
無論您渴望做什么類型的編程,您都會遇到有助于了解計(jì)算機(jī)如何相互交互的情況。這通常發(fā)生在Internet上。
互聯(lián)網(wǎng)只不過是連接計(jì)算機(jī)的全球集合。換句話說,它是一個(gè)全球網(wǎng)絡(luò)。網(wǎng)絡(luò)中的每臺計(jì)算機(jī)都同意一組規(guī)則,使它們能夠相互交談。對于計(jì)算機(jī)來說,“說話”意味著傳輸數(shù)據(jù)。
正如我們在上一節(jié)中所討論的,所有類型的數(shù)據(jù)——網(wǎng)頁、圖像、視頻、電子郵件等——都可以表示為1和0。
因此,您可以將Internet視為一組非常大的計(jì)算機(jī),它們可以在它們之間傳輸1和0,同時(shí)保留數(shù)據(jù)的含義。互聯(lián)網(wǎng)只不過是一種數(shù)字對話媒體。
如果Internet只是一個(gè)大的對話舞臺,讓我們定義對話參與者。
首先,打個(gè)比方:大多數(shù)人類對話至少需要兩個(gè)參與者。在大多數(shù)情況下,一個(gè)人發(fā)起對話,另一個(gè)人回應(yīng),假設(shè)他們都在場并且有空。
在Internet中,發(fā)起會話的計(jì)算機(jī)稱為客戶端。響應(yīng)或應(yīng)答的計(jì)算機(jī)稱為服務(wù)器。
例如,假設(shè)您打開網(wǎng)絡(luò)瀏覽器并訪問“www.google.com”。在這種情況下,您的Web瀏覽器是客戶端。通過擴(kuò)展,您還可以將您正在使用的計(jì)算機(jī)視為客戶端。
在更抽象的意義上,您是客戶,因?yàn)槟前l(fā)起對話的人。通過在搜索欄中輸入“www.google.com”并單擊<ENTER>,您的瀏覽器請求開始與Google的一臺計(jì)算機(jī)進(jìn)行對話。
Google的計(jì)算機(jī)稱為服務(wù)器。它通過發(fā)送在您的瀏覽器中顯示谷歌網(wǎng)頁所需的數(shù)據(jù)來響應(yīng)。瞧!Google的網(wǎng)頁出現(xiàn)在您的眼前。所有Internet數(shù)據(jù)傳輸都利用這種客戶端/服務(wù)器關(guān)系。
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"學(xué)編程在哪里學(xué),怎么學(xué)比較好?",希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。
相關(guān)閱讀

初級 202925

初級 203221

初級 202629

初級 203743