成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

想成為編程高手,一定要學匯編嗎?

企業動態
操作系統的運行原理, 絕對是程序員受益一生的知識。 比如說后端編程,不了解OS的進程、線程、 頁面緩存,文件系統,I/O 就去大談如何實現一個高并發、大數據量的網站簡直就是笑話。

[[190389]]

匯編語言這門課, 是我大學的一段灰色記憶。

有很長一段時間,我都搞不明白為什么匯編語言中有各種各樣的尋址方式 , 還有為什么叫立即數呢? 它明明就是一個數字啊,起個這么古怪的名稱。

老師布置的作業也不復雜, 例如用匯編控制主板的喇叭發聲, 在屏幕上輸出白底藍色字、綠底白色字、紅底黑色字..... 我都做得非常辛苦, 沒記錯的話還經常抄同班張同學的作業。

所以我一直對能用匯編語言編程的人充滿了敬仰和帶點兒嫉妒的敬畏, 尤其是聽說求伯君竟然用匯編寫出了WPS! Ken Thompson、Dennis Ritchie 居然用匯編寫出操作系統Unix! 只能是一聲嘆息,人和人的差距真是大啊。

畢業后對操作系統癡迷,去看MINIX的源代碼,一開頭就被嚇住了,在bootstrap階段竟然是通篇的匯編! 在后悔為什么大學沒有好好學的同時, 我還特別又買了一本匯編的書《80X86匯編語言程序設計教程》, 準備把匯編撿起來。

艱苦地復習了一段時間就明白了一點, 操作系統用到的匯編其實和CPU密切相關,什么實模式、保護模式, GDT, LDT,數據段,代碼段......這些Intel CPU的概念如果沒搞明白, 根本不可能讀懂操作系統的啟動過程。

那時候網絡上資料很少, 不像現在這么信息爆炸, 我孤獨的在Minix的世界中掙扎了一段時間就放棄了, 我也許不是搞系統編程的那塊料, 從此走向應用層編程之路。

米國那些早期的程序員很幸福, 他們隨著計算機的發展而不斷前進,經歷了完整的從底層編程到高層編程的全過程。 最開始的時候就是直接對硬件編程, 例如比爾蓋茨和保羅艾倫就是直接用匯編在牽牛星電腦上寫Basic的解釋器, 那批程序員對硬件和底層的理解是非常的透徹。

雖然我是屬于從入門到放棄類型, 但是能深切的體會到學習匯編的好處: 匯編和最底層的硬件打交道( 注意是硬件啊) , 所以學習匯編能對計算機的運行機制有個透徹的了解:

什么是寄存器

程序在內存和CPU中是怎么折騰的

CPU是如何訪問內存的

程序的分段

機器層面如何實現函數調用(理解緩沖區溢出攻擊的基礎)

中斷及其處理

......

有了這些知識,肯定對馮諾依曼計算機有了深刻認識。

而這些知識又構成了操作系統的基礎, 有了這些基礎,理解進程/線程的概念,同步和互斥,以及他們的實現就非常容易,還有虛擬內存、文件系統、 I/O 等等。

并不是說必須學了匯編才能理解操作系統,而是說看問題的深度不一樣。 有了匯編的保駕護航, 你可以在頭腦中建立起一個有更多細節,更多實現的計算機, 那些概念不是模糊的,而是清晰的、鮮活的。

操作系統的運行原理, 絕對是程序員受益一生的知識。 比如說后端編程,不了解OS的進程、線程、 頁面緩存,文件系統,I/O 就去大談如何實現一個高并發、大數據量的網站簡直就是笑話。

再比如對JVM的學習, 如果你懂得匯編, 看到JVM的字節碼、看到棧幀就會覺得很親切,只需要把基于寄存器的計算方式轉換成基于棧的計算方式就可以了。

我們的計算機知識就像一座金字塔, 底層是數學, 上面是數字電路,然后是匯編,再往上是操作系統、網絡,數據庫、高級編程語言、框架等等......

我們每個人不可能精通這個金子塔的每一層, 但是要掌握、理解構成這個金字塔的核心概念。

在應用層編程, 不一定要掌握匯編, 但是掌握匯編能讓我們更透徹的看待我們賴以為生的虛擬世界 , 沒錯, 你要想成為黑客帝國中的Neo, 匯編必須得學。

我有時候會胡思亂想: 如果這個編程世界根本沒有什么Java, Python, C++, Javascript , PHP, 只有匯編這么一種語言, 像 Rod Johnson(Spring之父), DHH(Ruby on Rail之父) , Eric Gamma (JUnit, Eclipse) , Gavin King(Hibernate之父) 這些在應用層編程的大牛們, 他們用匯編寫程序會是什么樣子? 他們會創造出什么東西出來?

我想有一點是肯定的: 即使是使用匯編,他們的編程技能仍然會毫不留情的把我碾壓成渣渣。 原因很簡單, 一個駕馭過復雜系統的人,他的邏輯思維能力肯定是強悍無比的, 匯編只是讓他換了一個工具而已。

更可怕的是由于軟件極難編寫, 只有一幫大牛才有資格編程,才能成為程序員, 像我這樣資質平庸者估計只能去搬磚吧。

所以感謝這個時代,有這么多語言讓我選擇,不用被大牛碾壓,還可以靠編程過活。

【本文為51CTO專欄作者“劉欣”的原創稿件,轉載請通過作者微信公眾號coderising獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2019-04-15 13:24:31

2024-12-02 08:00:00

營銷聊天機器人AI

2021-03-29 22:58:34

大數據Java編程語言

2017-07-04 08:00:23

熱門文章技術

2015-04-03 10:49:07

2021-12-03 12:35:50

new[]delete[]語言

2022-03-31 07:52:01

Java多線程并發

2018-04-16 09:31:17

2017-08-17 11:11:41

深度學習弱智能機器學習

2018-06-01 09:23:05

Linux系統調用

2017-10-16 12:52:51

2021-01-05 05:27:32

業務Leader團隊

2015-06-29 11:38:47

物聯網

2020-06-10 08:33:05

Java 編程語言開發

2010-11-19 16:02:42

IT族

2018-05-14 12:03:37

云計算

2015-08-14 09:15:34

轉行變成前途

2015-08-14 09:14:29

2021-03-16 15:49:30

架構運維技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区久久 | 日韩精品久久久 | 91精品国产91久久久久久最新 | 亚洲精品一区在线观看 | 99精品一区 | 福利网站在线观看 | 亚洲一区二区精品视频 | 91久久国产综合久久91精品网站 | 一级黄色生活视频 | 亚洲综合伊人 | 日本免费一区二区三区四区 | 精品视频999| www312aⅴ欧美在线看 | 成人亚洲精品 | 国产美女网站 | 午夜爽爽男女免费观看hd | 亚洲免费观看视频 | 色爱综合 | 一级a性色生活片久久毛片波多野 | 国产农村妇女精品一区 | 国产99久久久国产精品下药 | 国产精品美女久久久久aⅴ国产馆 | 欧美激情一区二区三区 | 久久久久久久久国产成人免费 | www.色综合| 91九色在线观看 | 99久久婷婷国产综合精品电影 | 中文字幕成人 | 久久出精品 | 精品一二区| 亚洲精品欧美 | 岛国av免费在线观看 | 久久噜噜噜精品国产亚洲综合 | 日韩精品免费 | 国产精品海角社区在线观看 | 五月槐花香 | 五月婷六月丁香 | 在线成人免费视频 | 激情五月激情综合网 | 怡红院怡春院一级毛片 | 国产最新精品视频 |