二分法理解計算機世界
1.計算機可分為硬件和程序。
? ?硬件是軟件實現(xiàn)的基礎,計算機的邏輯單元從電子管到晶體管,再到大規(guī)模和超大規(guī)模集成電路。集成度越來越高,功耗越來越低,性能越來越強。
? ?處理器可分為馮諾依曼架構和ARM架構,前者由馮諾依曼提出,后者由哈佛提出,主要區(qū)別是馮諾依曼架構指令和數(shù)據(jù)儲存在一起,ARM則分開儲存,理論上效率更高。
2.程序可分為裸機程序和系統(tǒng)程序。
? ?玩過單片機的都清楚,裸機程序就是直接操作寄存器,來實現(xiàn)對內外設的操作。這要對電子元件,硬件接口以及庫程序等知識有所了解。
? ?系統(tǒng)程序,內核層作為連接硬件層和應用層的橋梁,為程序員提供了進程線程,文件系統(tǒng),等機制,以及各種標準接口,使得程序員能更好的利用硬件資源,實現(xiàn)更高級的功能。
3.軟件又分為BS和CS。就是網(wǎng)頁/服務器,和客戶端/服務器模型。
? ?BS代表技術HTML,CSS,JS等。
? ?CS代表技術,
?Windows平臺的winform,WPF等。
?Linux平臺的Qt,GCC等。
?還有Androud和IOS移動端系統(tǒng)的技術。
4.既然提到了BS,那就不得不提到互聯(lián)網(wǎng)了。
? ?蒂姆·伯納斯·李(Tim Berners-Lee)、溫頓·瑟夫(Vint Cerf)、羅伯特·卡恩(Robert Elliot Kahn)等人發(fā)明了互聯(lián)網(wǎng)。
? ?互聯(lián)網(wǎng)實現(xiàn)了全世界不同設備的連通。
? ?其中蒂姆·伯納斯·李是萬維網(wǎng)的創(chuàng)始人,W3C的主席。
下面這段話是萬維網(wǎng)概念的解釋(來自百度):
? ?WWW (World Wide Web,萬維網(wǎng))是存儲在Internet計算機中、數(shù)量巨大的文檔的集合。這些文檔稱為頁面,它是一種超文本(Hypertext)信息,可以用于描述超媒體。文本、圖形、視頻、音頻等多媒體,稱為超媒體(Hypermedia)。Web上的信息是由彼此關聯(lián)的文檔組成的,而使其連接在一起的是超鏈接(Hyperlink)。
? ?可以看出萬維網(wǎng)是BS架構的基礎。
? ?各種技術一次次的改變人們的生活,是人類智慧的結晶,每種技術都有其特殊的作用。程序員是一個用智慧造福人類的偉大職業(yè)。
? ?當我們在學習編程知識的時候,要了解技術產(chǎn)生的背景,以及我們學它的目的。當我們以面和體的視角去學習知識才能學得有條理有方向,才不會在知識的海洋里迷失,才能真正的將知識為己所用。