編譯原理的地位和作用
A. 學習編譯原理有作用
在畢業多年後我又翻出了當年的編譯原理書,然後又買了一本類似的書,真是太有用了。
無論是工作上還是業余中如果想編一點稍微有一些智能的程序,必然要用到。目前大家都在用的正則表達式是用編譯原理做的,那隻是一個很小的應用例子。
大一點的應用可以做到一定的技術先進性,從而讓你在本行業站穩腳跟。
比如
可以用語法分析來分析出一段用戶上傳是否含有代碼,從而讓你的網站更健壯。
分析和分解用戶輸入的SQL語句,理解是否有害和是否有SQL注入。
在業務軟體中結算方面允許用戶輸入條件表達式和四則運算,允許用戶自定義結算公式或條件,使軟體上一個檔次。
甚至可以實現自己創造的編程語言,以後編程全用自語言來做,然後編譯成老闆要的那種語言。有的公司要JAVA,有的公司要C#,C++,VB等等你都不必每樣都費心了。這樣做還有一個好處,你的源程序其實是自語言,目標代碼則是社會上公認的源程序,所以是可以公開的。如果以這種技術為核心技術開公司的話,則有著技術上更高一層的先進性,這種核心競爭力是很值錢的。
試想,你公司的員工只會用自語言,他們跳槽的機會就少了。而你公司的用戶總是可以得到全套的他們認為的源程序,則市場機會就大了。別的一般軟體公司可不敢給出全套源程序,總要多少保留一點的。
B. 編譯原理 學的是什麼
編譯原理是計算機專業的一門重要專業課,旨在介紹編譯程序構造的一般原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。 編譯原理是計算機專業設置的一門重要的專業課程。雖然只有少數人從事編譯方面的工作,但是這門課在理論、技術、方法上都對學生提供了系統而有效的訓練,有利於提高軟體人員的素質和能力。 目前各個大學使用的教材機械工業出版社、國防工業出版社出版的《編譯原理》。
編譯原理課程
這門課程關注的是編譯器方面的產生原理和技術問題,似乎和計算機的基礎領域不沾邊,可是編譯原理卻一直作為大學本科的 必修課程,同時也成為了研究生入學考試的必考內容。編譯原理及技術從本質上來講就是一個演算法問題而已,當然由於這個問題十分復雜,其解決演算法也相對復雜。 我們學的數據結構與演算法分析也是講演算法的,不過講的基礎演算法,換句話說講的是演算法導論,而編譯原理這門課程講的就是比較專註解決一種的演算法了。在20世紀 50年代,編譯器的編寫一直被認為是十分困難的事情,第一Fortran的編譯器據說花了18年的時間才完成。在人們嘗試編寫編譯器的同時,誕生了許多跟 編譯相關的理論和技術,而這些理論和技術比一個實際的編譯器本身價值更大。就猶如數學家們在解決著名的哥德巴赫猜想一樣,雖然沒有最終解決問題,但是其間 誕生不少名著的相關數論。
C. 資料庫,數據結構,編譯原理對編程有那些影響和幫助
他們太重要了,
(1)數據結構:首先要明白---->程序=演算法+數據
「數據結構」就是做數據這塊的,例如一個「電影播放器」程序,首先要有「電影」嗎,這個就是「數據」,那麼就要用「數據結構」的知識,怎麼存儲每一幀,怎麼高效,怎麼能無損,怎麼空間最節省.........,然後才是怎麼去「解碼」(解碼就是「演算法」做的啦),當然這么講起來不是很嚴謹,但你可以看得出,數據結構可以說的上是有50%的重要性了。
(2)編譯原理:不要以為,自己不去開發「語言」,編譯原理就沒有用啦,它能讓你從根本上理解編譯器,這對怎麼提高程序的效率,怎麼變出漂亮的程序很有用................當然貌似如果從事,「人工智慧」這一塊的話,編譯原理也非常重要。
(3)資料庫:又是剛才哪一點----------->程序=演算法+數據
數據以文件的形式存儲,是在不是很高效,所以,為了方便數據的管理與查找等等..........人類作出了「資料庫」,說白了,它就是用來解決「數據」這部分內容的,現在基本無論你做什麼都離不開資料庫了,從大型網游到網站,到手機等的移動設備編程,都要用到資料庫
--------------------------------------------------------------------------------------------------
從你的體溫來看,你可能剛剛接觸編程,沒有做過什麼成品,隨著你越來越了解這個領域,你會剛到這些東西非常重要,當然還有很多東西,與以上三者地位相當,或更高,例如,微型計算機組成原理,等一些硬體方面的知識.......................................
---------------------------------------------------------------------------------------------------
還是「廣泛閱讀」吧。
D. 學了計算機原理和編譯原理有什麼用
這兩門都是計算機專業非常底層的學科
計算機原理是將計算機內部的工作原理,比如二進制的加減乘除、內部通信機制等等,這些對以後的編程學習作用不是很大,但是當你編程過程中,因為某些個十六進制、二進制、數據類型等引起程序無法運行時,你就會明白,平時極少用到的綉花針,在關鍵時刻,是非常的有用的。
編譯原理是講述機器是如何將高級程序語言轉換成機器唯一能懂的機器語言的,以及編譯軟體是如何工作的。掌握了這些,就好像掌握了武功心法一樣,即便所有的編程語言雖然各有各的特點,千變萬化,但是萬變不離其中,編譯原理還是那一套,你掌握了武功心法,對你以後學習這些高級編程語言,都是大有裨益的。
E. 結合工作體檢,談談你對編譯原理的認識,以及其在整個計算機科學中的地位.
覺得編譯原理對了解程序有好處,就拿正規表達式來說吧,正規表達式定義了一種正則文法,根據文法定義語言
F. 如何學習編譯原理
編譯原理是本科計算機課程中最難的一門了,因為它實在是太抽象了,而且學過之後很容易忘記,但是它又是非常重要的一門課程,起到了承上啟下的作用。
學習編譯原理,不要死看課本,課本都是翻譯國外的,讀起來有點吃力。結合習題是比較好的,可以理解一些概念。
另外,可以用lex和yacc實現一個詞法分析器和語法分析器,如果這兩個實驗跑通了,對你學習編譯原理的學習非常有幫助。
G. 編譯原理對於計算機專業的學生重不重要
編譯原理這門課,對很對計算機專業的同學可以算是最難的一門課。如果你能學的懂這一門課,那麼可以說,你計算機的知識已經學的很透徹了。如果你想成為一個高手一個牛人,那麼久一定要好好學這門課。如果你只是想隨便找個工作混混日子,那無所謂。
編譯原理是計算機專業的一門重要專業課,旨在介紹編譯程序構造的一般原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。 編譯原理是計算機專業設置的一門重要的專業課程。雖然只有少數人從事編譯方面的工作,但是這門課在理論、技術、方法上都對學生提供了系統而有效的訓練,有利於提高軟體人員的素質和能力。
雖然找工作面試這個問的很少,但是個人覺得這個能學好,很是必要。