繼續學習編譯原理的意義是什麼?
01-10
計算機專業大三,已經學完了編譯原理,自己開始試著寫一個編譯器,但是周圍的同學有的在搞ACM,有的在學web開發,有的在搞安卓,我自己試著寫一個編譯器,那究竟哪個的意義更大呢?
愛即意義
為了賺錢的話,馬雲根本不會編程我在讀書的時候,也是在周圍的同學搞Java啊、ACM啊、互聯網的時候,堅持不受影響,寫自己的編譯器。後來的故事你們都知道了。
說到意義,那就要表明你衡量意義的標準是什麼。是短期能賺到錢,還是長期看能對自己的能力培養有幫助?不過很遺憾的是,可能事實並不如你所期待,人家做的事情長遠看來未必不如你有意義。術業有專攻,現在計算機科學範疇非常的廣,不了解做不出來編譯器未必就不能在其他領域做出漂亮的成績來。
如果在你們學校,你做出了一個所有理工學院里沒人能做出來的東西,我不知道你會不會有成就感,至少我會有就是,現在在學校里很少有人親力親為寫compiler和os了,很多老師都是一頭霧水。題主學習理論之後開始動手是很贊得行為,我們班這些妹子學完compiler連個自動機都不會構造我也是醉了。再說,我個人看來,web開發,android開發大多技術都是在shell層上的開發,相比compiler的難度是不在一個層面上的,ACM雖然難度較大,但是這種壓力下問題驅動的編程活動和compiler比起來的話層次也要少很多,希望題主繼續寫下去。
士之讀書治學,蓋將以脫心智於俗諦之桎梏,真理因得以發揚。思想不自由,毋寧死耳。
我認為重點不在於學編譯,而在於你是想隨波逐流做個合格的人,還是堅持自己做個優秀的人。難道你們編譯課木有大作業這個東西嗎( TДT)任何計算機的基礎知識研究深刻了總會有相當多的好處,比如操作系統,比如編譯原理,會提供一種全新的思維角度,並因此帶來對問題更深刻的理解和更完美的解決方案
意義就是以後聽到別人說寫了一個編譯器就有多牛逼的時候,可以告訴他其實寫一個玩具型編譯器和寫其他玩具型程序沒有多大區別。
親,不要這麼功利啊,別跟羅永浩賽的,一邊表達情懷一邊隨波逐流,挑准一個方向就幹下去,啥都搞是牛逼不起來的,經驗擺在那
題主似乎搞錯了因果關係,應該是,我需要……,那寫個編譯器練練手吧。而不是,我想寫個編譯器,為什麼那? 因為,編譯原理學完了呀。興趣是最好的老師,人總是害怕選錯路,總想要得到最好的。而題主的問題或許在不知道自己想要什麼? 然後,又被身邊人影響,攪得很亂。 這種情況,我深有感觸啊。 我還記得大學前三年,我們班就我一個人在學習c++,與樓主一樣的是,周圍的同學也在學各種時髦的技術。 總是在坐著心裡鬥爭,要不要學點技術好謀生。 一個人堅持確實很苦。 不過,幸好我大四選擇對了。 我們學校是大四會組織培訓的,同志們分分選擇了,ios和android。 我們班就我和另一哥們,選了一個奇葩的遊戲課程。是會講圖形學原理和dx的那種哦,不是時髦的cocos–2dx。 當時想著最後再掙扎一次,如果成了。那我就賺了,沒成我也不後悔了。雖然,我天資不夠聰明,但是,我花了3年時間堅持下去。雖然,方法有偏了,也沒讓技術很牛。至少,我試過了啊。 不需要等到老了的時候,每天抱怨,要是當初,我……就好了。額,說的有些激動。題主不要害怕犯錯誤,世上沒有100%正確的事情,大學的時光是做實驗的最好時機,以後要面對生活的壓力,容錯率不高了,哪敢輕易嘗試那。莫猶豫追逐心中所想才是關鍵。
順帶一提,其實,android的學習難度並不大,比起編譯原理簡單很多。題主想學的話,抽段時間去學下就是。
都要學。
基於自定義腳本的個性化規則引擎,適配處理各種複雜規則運算,沒有編譯原理玩不轉,更不能高效而靈活
個人學習編譯原理的感覺就是
當你明白了更多底層的東西之後,上層的東西你寫的就更順手
我覺得用什麼語言寫程序,寫什麼程序不重要,重要的是裡面涉及的一些演算法,邏輯那些。本人也大三。在學校經常會發現。當你實現某些程序的時候。有些時候你要找不到當前語言的實現方法。找到其他語言的實現方法。然後就只能被迫看其他語言。看懂裡面的思路演算法。再轉成當前的。
希望電腦能像手腳一樣輕鬆表達自己。
編譯器是內功,你以後會明白有什麼用
喜歡就好啊。喜歡就是意義。
意義就是工作中會用到啊,比如很多軟體要讓客戶能用一下正則表達式過濾或者自己設置一些命令。尤其是那些大數據處理的軟體
終究是小眾的東西,如果只是玩玩當練手,那就淺嘗輒止。出來能混飯吃最重要,情懷還是要結合現實的
推薦閱讀:
※設計應用的二進位存儲格式有什麼要點?
※各個編程語言的發明者是否能夠隨便反編譯各自的已編譯的二進位文件?
※編譯原理學了有什麼用?
※從編譯原理上講,未來可能會出現既友好又高性能的高級語言嗎?