學習PHP,然後學習C, 深入Linux的, 如果想往底層發展, 應該是如何的一個學習過程?


問題驅動, PHP有著和C一樣的(或者說類似的)庫函數定義, 這些基本上都是對C庫函數的包裝, 另外在LAMP下開發的話, 會遇到各種問題, 這些問題深挖下去, 就會學習到不少的底層知識. 時間久了, 就自然可以很容易的寫C了. 當然, 你在LAMP下開發, 自然也就會被動的學習到Linux相關的知識. 一切都是那麼潤物細無聲式的形成的 :)


我見到好多人都在說底層,可究竟什麼是底層,卻從來沒有人說過。底層是好大的一片東西,我們甚至可以把我們看不見的內部都稱作底層。

對於你提到的學習PHP、C,或者Linux,然後往底層,你所指的底層是什麼呢?

如果是php或者c,是不是指的是代碼編譯的過程,php如何做垃圾回收,堆棧空間如何分配這類的問題?

如果是Linux,是指的內核是底層,還是驅動是底層?是想了解操作系統的調度,還是磁碟文件的管理,還是網路IO的控制。

同@惠新宸 的觀點,你遇到的問題往下深挖、思考的時候,就會學習到不少底層的知識了。王國維把做學問分為三個境界,我們應當先把握總體的各個方向,即「昨夜西風凋碧樹,獨上高樓,望盡天涯路」,然後便「衣帶漸寬終不悔,為伊消得人憔悴」。然後,所謂的底層,都是一些自然而然的東西,隨著你的經驗和閱歷慢慢積累。


這個問題的定位就不準確,因為那麼對於網路前端而言,那麼Linux就是底層;對於Linux而言,那麼驅動層就是底層,然而對於驅動層而言,FPGA和CPLD就是底層,所以到底你想要學什麼呢?

建議LZ,還是把整個系統結構搞清楚以後再根據需要好好研究,不然真是東打一耙西打一耙。。。


你到底層想幹嘛?做嵌入式開發 還是 寫個操作系統 還是寫一門語言?還是先通過 PHP 把面向對象學好。


推薦閱讀:

Symfony2 的優缺點有哪些?
PHP網站中保持登錄狀態的功能是怎麼做的?
網頁前端和後台人員都是如何看待全棧工程師的?
如何成為一個優秀的 PHP 工程師?
待進階的phper 想要通讀一個開源項目源碼,應該研究哪個較好?

TAG:PHP | Linux | C編程語言 | 底層 |