許多人開始學(xué)習(xí)編碼的一種方法是選擇一種流行的編程語言,然后在沒有方向的情況下先入為主。這可以采取在線編碼課程、教程項目或隨機購買特定主題的書籍的形式。我們先從理論開始學(xué)起吧:
1.熟悉計算機體系結(jié)構(gòu)和數(shù)據(jù)基礎(chǔ)知識
現(xiàn)代編程語言的美妙之處之一是,它們使我們能夠創(chuàng)建精美的應(yīng)用程序,而無需擔(dān)心幕后硬件的細節(jié)(在大多數(shù)情況下)。
這被稱為抽象——能夠使用更高級別的工具(在這種情況下是編程語言)來簡化和縮小我們的理解和技能所需的范圍。
然而,這并不意味著了解代碼正在執(zhí)行的金屬的基礎(chǔ)知識是沒有用的。至少,了解一些花絮將幫助您了解有關(guān)高CPU和內(nèi)存使用率的工作場所對話。
因此,這里是讓您入門的最低限度的計算機體系結(jié)構(gòu)基礎(chǔ)知識:
您的計算機最重要的部分位于微芯片(也稱為集成電路)上。
微芯片依靠稱為晶體管的電子元件來運行。晶體管是微小的電氣開關(guān),可在任何給定時間關(guān)閉(0)或打開(1)。單個微芯片可以包含數(shù)百萬或數(shù)十億個嵌入其上的微型晶體管。
大多數(shù)現(xiàn)代計算機都有一個稱為中央處理單元(CPU)的微芯片。你可以把它想象成計算機的大腦。它處理計算機執(zhí)行的大部分數(shù)字運算和邏輯任務(wù)。
每個CPU都有稱為指令集的東西,它是CPU理解的二進制(零和一)命令的集合。幸運的是,作為軟件開發(fā)人員,我們真的不需要擔(dān)心這些!這就是抽象的力量。
如果CPU是大腦的邏輯中心,那么擁有內(nèi)存以及臨時或長期存儲信息是很有用的。
計算機將隨機存取存儲器(RAM)作為“工作存儲器”(或短期存儲器)來存儲正在運行的程序正在使用的信息。
RAM由一組內(nèi)存地址組成,可用于存儲數(shù)據(jù)位。在像C這樣的舊語言中,程序員確實可以使用稱為指針的功能直接使用內(nèi)存地址,但這在更現(xiàn)代的語言中很少見。
最后,我們將介紹一個您肯定熟悉的組件——硬盤驅(qū)動器。在我們對大腦的類比中,這代表長期記憶。硬盤驅(qū)動器是一種內(nèi)部或外部設(shè)備,用于存儲即使在計算機關(guān)閉后仍應(yīng)保留的數(shù)據(jù)。
在繼續(xù)討論有關(guān)編程語言的更多細節(jié)之前,讓我們花一點時間談?wù)剶?shù)據(jù)。但究竟什么是我們所說的話的意思是數(shù)據(jù)?
在高層次上,我們會想到諸如文本文檔、圖像、視頻、電子郵件、文件和文件夾之類的東西。這些都是我們每天在計算機上創(chuàng)建和保存的高級數(shù)據(jù)結(jié)構(gòu)。
但在引擎蓋下,計算機芯片(如CPU或RAM芯片)不知道“圖像”或“視頻”是什么。
從芯片的角度來看,所有這些結(jié)構(gòu)都存儲為一長串1和0。這些1和0稱為位。
位通常一次存儲在一組八個中,稱為字節(jié)。一個字節(jié)只是一個由八位組成的序列,例如00000001、01100110、或00001111。以這種方式表示信息稱為二進制表示。
2.了解編程語言的工作原理
在上一節(jié)中,我們提到大多數(shù)計算機都依賴于CPU,而CPU可以理解一組特定的1和0形式的指令。
因此,理論上我們可以編寫代碼,通過以CPU理解的形式將一長串1和0串在一起來告訴CPU做什么。像這樣以二進制形式編寫的指令稱為機器代碼。
聽起來很可怕,不是嗎?嗯,可能是,但我不知道,因為我主要使用更高級的編程語言,如Javascript、Python和Java。
一個更高層次的編程語言提供了一組人類可讀的關(guān)鍵字,語句和語法規(guī)則,是人們學(xué)習(xí),調(diào)試更簡單的,和工作有。
編程語言提供了一種彌合人類大腦理解世界的方式與計算機大腦(CPU)理解世界的方式之間的差距的方法。
最終,我們編寫的代碼需要被翻譯成CPU能夠理解的二進制指令(機器代碼)。
根據(jù)您選擇的語言,我們說您的代碼被編譯或解釋為能夠由您的CPU執(zhí)行的機器代碼。大多數(shù)編程語言都包含一個稱為編譯器或解釋器的程序,用于執(zhí)行此翻譯步驟。
舉幾個例子——Javascript和Python是解釋型語言,而Java是編譯型語言。一種語言是編譯型還是解釋型(或兩者的某種組合)對開發(fā)人員的便利性、錯誤處理、性能和其他方面都有影響,但我們不會在這里深入討論這些細節(jié)。
3.了解互聯(lián)網(wǎng)是如何運作的
無論您渴望進行何種類型的編程,您都會遇到有助于了解計算機如何相互交互的情況。這通常發(fā)生在Internet上。
互聯(lián)網(wǎng)只不過是全球聯(lián)網(wǎng)計算機的集合。換句話說,它是一個全球網(wǎng)絡(luò)。網(wǎng)絡(luò)中的每臺計算機都同意一組規(guī)則,使它們能夠相互通信。對于計算機來說,“說話”意味著傳輸數(shù)據(jù)。
正如我們在上一節(jié)中討論的,所有類型的數(shù)據(jù)——網(wǎng)頁、圖像、視頻、電子郵件等——都可以表示為1和0。
因此,您可以將Internet視為一組非常大的計算機,它們可以以保留數(shù)據(jù)含義的方式相互傳輸1和0?;ヂ?lián)網(wǎng)只不過是一種數(shù)字對話媒介。
如果Internet只是一個大型對話場所,那么讓我們定義對話參與者。
首先,打個比方:大多數(shù)人類對話至少需要兩個參與者。在大多數(shù)情況下,一個人發(fā)起對話,另一個人回應(yīng),假設(shè)他們都在場并且有空。
在Internet上,發(fā)起對話的計算機稱為客戶端。響應(yīng)或應(yīng)答的計算機稱為服務(wù)器。
例如,假設(shè)您打開網(wǎng)絡(luò)瀏覽器并轉(zhuǎn)到“www.google.com”。在這種情況下,您的Web瀏覽器是客戶端。通過擴展,您還可以將您正在使用的計算機視為客戶端。
從更抽象的意義上講,您是客戶,因為您是發(fā)起對話的人。通過在搜索欄中輸入“www.google.com”并單擊ENTER,您的瀏覽器將請求與Google的其中一臺計算機開始對話。
Google的計算機稱為服務(wù)器。它通過發(fā)送在您的瀏覽器中顯示Google網(wǎng)頁所需的數(shù)據(jù)來進行響應(yīng)。瞧!Google的網(wǎng)頁出現(xiàn)在您的眼前。所有Internet數(shù)據(jù)傳輸都利用這種客戶端/服務(wù)器關(guān)系。
以上就是天津卓眾教育小編介紹的"怎么樣學(xué)編程,我們先來簡單的入個門",希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為您服務(wù)。