大學編譯原理為什麼不結合程式設計來講?

時間 2021-05-12 20:16:10

1樓:

幾方面原因吧

首先,和編譯原理的課程目的有關

國內這門課放大學本科來說,更多是為了讓CS學生知道什麼是編譯器,幹嘛用的,而不是培養編譯器方向的從業人員。而且編譯是個很小眾的方向,對於大部分非編譯方向從業人員而言,前端涉及的知識是最有用的

其次,和授課難度有關,前端往後,優化和後端都很難講的

比如優化,你去乾巴巴的講完,如果學生也乾巴巴的聽,那效果肯定不會好,學生人均數學家另說,所以學生得動手。

動手就有問題,你在什麼上面動手,做優化你得有IR,很多優化還依賴於分析,最基本的控制流,資料流分析得有吧。用工業界現成的過於複雜,一般的老師自己都不見得弄明白了。自己設計一套也沒有這個水平,而且從頭實現IR和各種分析僅作為教具,難度和投入也很高的。

不過上面這些難處歸根結底還是人的缺乏,前端往後的很多問題不是閉門造車,是工業實際問題的體現,是需要工業人進校園去講的,業界大佬去給小本科講一門不痛不癢的編譯原理嗎?不合適啊

2樓:

因為編譯原理確實很難。但是就業工作的話,說實話,如果你只是用程式語言去解決一些問題,或者做一些應用層面的東西(絕大部分人大概就是應用層面了,底層畢竟是少數,加上軟體的復用性),編譯原理很多東西真的都用不上,另外手寫乙個遞迴下降的token解析器真的不難,都是現成的模板往上面套就好了,但是要加上上下文解析或者一堆東西,那就複雜多了。

3樓:蕭夏

課堂當然是講science,講theory的地方,加上典型案例足夠了。

也當然,多數教師上課方式問題非常大。

理論到理論,念ppt,念教材。

於學生而言,基本等於全程自學。

至於為什麼,我不是計算機專業的,但是像工科問題還是了解,大概就是他們也不知道如何連線science與technology吧。

看懂教材是一回事;能把知識點歸納成體系是一回事;體系用什麼方式講出來是一回事;至於能不能找到貼近生活又有趣,還有科學性,還要與課堂高度相關的案例、話題,真的是看教師的綜合素養了,培訓不出來的。

也許待遇向公務猿看齊,會有更多這樣的人吧。青椒很苦逼的。

大約也極少有人願意用當初學生時代自己討厭的方式來上課,現實所迫吧。

盡量理解,無奈時,自學也是學嘛

計算機考研408為什麼沒有考慮過編譯原理

我覺得主要是太難,學的人又少,本來平均分就不高,加了這個更多人不會。再有就是資料結構,計算機網路和作業系統是程式設計師必懂科目,組成原理雖然偏硬體,對搞軟體的沒那麼重要,但408作為全國統考要全面,就選取了組成原理。資料庫系統,編譯原理都屬於食之無味棄之可惜的意思,選取4科的情況下就不如資料結構,計...

為什麼會發生泡利不相容原理?

漸漸之石 因為從概率上講,兩個全同的費公尺子處於同乙個單粒子態的概率為0,也即兩個全同的費公尺子不能處於同乙個單粒子態。量子力學教程 第三版 曾謹言 P91 量子力學教程 第三版 曾謹言 P92 任去來 這其實是個邏輯問題 全同就是同,不同的全同明顯是個悖論。這個問題產生的原因在於量子力學和量子場論...

為什麼程式設計師的三大浪漫是編譯原理,圖形學,作業系統?

文武 倒是更靠譜的三駕馬車是資料結構,演算法和組成原理。前兩者幾乎是所有編譯原理和圖形學的基礎。組成原理不必多說,高階語言的很多特性其實本質上是對組成原理的一種抽象。然後向上結合編譯原理,作業系統,圖形學進行一定程度的提高。當然擴充套件還有計算機網路和對應語言特性的學習。還有設計模式,專案架構等。當...