A. 編譯器開發 與 嵌入式開發 哪個未來的前景比較好
嵌入式開發吧,編譯器開發目前入門難,提高更難,而且又偏門。嵌入式運用廣而且需求大,未來潛力大!
B. C/C++2018年發展前景怎麼樣
C++博大精深,是一門可以學一輩子的語言,如果你有著10年C++開發經驗,各大知名IT公司都會搶著要你;如果你有15年C++開發經驗,年薪百萬不是夢,而且必然小有名氣,在C++圈叱吒風雲。可謂是經驗越多,價值越高,沉澱越厚,絕對是一次投入,終生受益!成為名副其實的永不過時的全棧型IT人才!
從TIOBE語言排行榜中我們可以發現,在過去逾15年的時間里,C++一直穩居最受歡迎語言列表的第三名。對一個老牌語言來說,這個成績不算差了。
在大學里,有很多人早已接觸過C語言編程。他們對C/C++感興趣,自己主動學習。如果在一種好的學習環境下,興趣所在,成長的會很快。這些人,知道自己所學所想,目的很明確,動力也很強,效率很高。
社會上也存在這樣一大波人,非計算機專業,甚至是高中學歷。他們中很多人不知道自己適不適合學C/C++編程,那麼該怎樣判斷自己適不適合編程呢?首先需要確定你是否對編程感興趣,自己是不是想在編程方面發展,如果是的話,建議快速選擇中公優就業進行學習。(相關推薦:中公優就業C/C++周末精品班)
一、C++職位需求量大
2018年,C++職位需求量大的驚人,畢業後根本不用發愁沒有工作,而且高薪!
下圖是C++在智聯招聘上的職位需求。從圖中可以清楚看到:搜索日期是今天日,單單是北京一個城市的職位需求數量就達到了34282個!這么大的缺口誰來填補?你還會發愁找不到工作么?
小編只是把你平時看不到的數據,把這些巨大職位需求展現在你的眼前,扮演著搬運工的角色。我們時刻都在關注著市場動態,為你們提供最新的數據。建議你們也可以多去智聯招聘或者前程無憂上查詢,數據都是絕對真實的!
二、C++稱霸的領域
C++是一門運用很廣泛的計算機編程語言,適合於多種操作系統,因此也有著很廣闊的運用領域。據不完全數據統計,C++在游戲、伺服器端開發、數字圖像處理、編譯器、金融等領域中都是可以被用到的,下面我會給出一些建議。
游戲行業:幾乎所有3A游戲都是使用C++編寫的。大眾公認電子游戲的開發者是軟體行業里回報最高的工作之一,也是需求量最大的領域之一。因為速度非常重要,所以編寫高效的代碼就是最基本的要求。除了要懂C++之外,精通游戲開發更應注重理論與模式的鑽研,而不限於特定的API或者Library。通常還必須具備高超的圖形與數學技能,這些知識足夠你活到老學到老。
HPC:以極限速度處理數據,要求對底層硬體有深刻的理解,這類知識可以直接應用在語言中。通用圖形處理器(GPGPU)及CUDA、OpenCL之類的並行計算框架的出現,引發了對有這類技術的C++程序員的需求。如果深入到科學計算領域,還有很多能做的工作。不知你是否聽說過機器學習?這是當今的熱門話題。
編譯器:這是小編最喜歡的領域,LLVM項目如此成功,以致於很難找到一種既未使用LLVM庫編寫前端,也沒有使用LLVM生成位元組碼的流行語言,而這些全都是C++。盡管編譯器是以各種語言編寫而成,但其背後的實現原理是相同的。我們使用優化器、靜態分析程序、調試程序、標准庫、鏈接器以及所有其他相關的工具來工作。
金融領域:除此之外,金融領域也有很多工作需要有能力編寫低延遲代碼的程序員。在這個領域,數學背景也是一大加分亮點。該領域的大多工作可能都涉及到開發與維護高頻使用的交易平台。另外如果不想掛著程序員的名頭,這個領域也是很棒的選擇。可以說負責設計並實現金融數學模型的寬客(Quant)職位是所有程序員中最有可能獲得高額獎勵的。
以上只是小編的幾個建議,這些領域的共通點在於:無法通過數量取勝。也就是說,C++工程師的可替換性很低,公司必須付給他們更高的薪水,並讓他們解決自己感興趣的問題,才能把人留住。如果你對C/C++還有什麼想要了解的問題,請關注優就業IT常見問題欄目。
C. C/C++ 編譯器的開發有發展前景嗎
C就是一個面向過程的開發語言.有它擅長的,也有它不擅長的,但是沒有別的語言能幹,它卻幹不了的.但是,只要你學好了,那是絕對不用為吃飯發愁的. 如果你打算當純C的程序員,那你就等於走上了一條專向底層和高深技術發展的路,會很辛苦倒是真的
D. 是不是每種處理器都要開發自己的編譯器,比如inter的cpu,arm,51單片機等
每個處理器廠家都會開發本身的編譯器。這是硬體設計與系統工程師的工作。軟體編輯員一般都不需染手此東西。是否每個牌子的處理器都須有自己的編譯器呢?未必。
比如Intel,AMD,VIA 同是用x86平台都可享用Intel的編譯器。
又如Siemens, SGI,NEC 同出產MIPS平台的處理器都可享用MIPS 的編譯器。
但有些特別指令如INTEL的MMX,SSE1,2,3,4;AMD的3DNOW,AMD64 等就有勞個產家編寫。
如沒有特別指令編譯器, 軟體會出錯嗎?很多高檔程序編輯軟體都會翻譯及處理,用標准指令來取代特別指令(應該說不用特別指令),當然執行速度會慢過特別指令。
E. 開發一個 C++ 編譯器的難度有多大,難點又在哪裡
C++的前端是出了名的復雜度和可靠性要求並駕齊驅的軟體。
(這兩點都比它高一個數量級的大概就只有OS了)
對於這種系統,唯一的辦法就是燒錢。
燒錢的作用主要包括:
1.留人;
2.填坑;
3.買買買。
先說留人:復雜度一般是「細節」的代名詞。現實中的編譯器大多數以遞歸下降為主,自底向上的歸納推導為輔。這兩樣在教科書上也就是幾頁紙的事情。但是現實總是很殘酷的,人們總想讓語言更加「易用」,這就意味著各種上下文相關的情況都會出現。
對於C++來說,你要判斷一個符號是類型或者變數(比如這個符號被用在模板參數中),要看前面的聲明/定義。這就是一個上下文相關的推導。然後你就會寫大量的if else switch case之類的代碼來解決各種各樣的可能分支。寫它的人當然知道它是做什麼的,但是如果這個人離職了,新來一個人,就呆掉了,這寫的都是什麼煞筆玩意兒。因為它不知道現實中怎樣的需求會導致奇形怪狀的邏輯。所以人員的穩定,對於這種長周期迭代、邏輯復雜的項目是很重要的。但是人的水平要求高嗎?不算高也不算低。總結來說就是:有邏輯,知好歹。技術什麼都可以培養,但是態度和基本智商是比較難培養起來的。
至於怎麼保證人員穩定?很簡單:加薪。
再說填坑:編譯器是對正確性要求很高的基礎軟體。這里的正確性既包括產生的代碼的正確性,也包括編譯器自身對於各種問題的容忍度和足夠豐富的錯誤提示。容錯和錯誤提示本身也是代碼,也有很大的出錯幾率。所以這些軟體,bug少不了。但是作為基礎軟體,你又不能隨便就2+3搞成了2*3,這樣還怎麼讓別人相信愛情。所以要燒很多錢來養一幫debugger。
再說買買買:古人日:我們不用很麻煩很辛苦也可以成佛。既然這么費神我們自己做干什麼,不如買別人的吧。於是MS就乾脆不自己做了,直接去EDG整了個前端,這樣就可以少了不少人年。這就是傳統土豪和水果這種新暴發戶想的不一樣的地方。
傳統土豪想的是:我們有這么多錢為什麼還要自己解決問題呢?買買買!
水果新貴則是:啊呀,不小心有了這么多錢,我們要不要給自己製造點問題好把這些錢花出去?
F. 編譯器,想了解一下,現在開發編譯器究竟是在開發些什麼,以及開發過程如何
編譯器,大多是商業用途的。希望採納
G. 在國內從事C/C++編譯器的開發有發展前景嗎
我給你講講我的經歷。 我大概十年工作經驗,大概五年c++編譯器前端經驗(在兩家500強做靜態分析),四五年項目管理和品質過程改善經驗。其他主流語言都會用,實現的大概方式也明白。 前一段時間找工作,投了二十幾個c++職位一個電話都沒有。唯一的面試是朋友內推的阿里的項目管理專家。跑去面試,悲催,直接換崗成p5-p6的測試來面試,問了幾個測試問題直接讓我回家了(順便吐槽一下,他們對於測試過程感覺還沒問到點上) 最後的結局就是,沒人要,轉行去製造加工業了。我總結一下為什麼找不到工作(可能只是我偏頗的認識:一是這行需求太少,二是hr根本不知道你是幹嘛的,三是做這行的根本不好意思寫精通c++。
H. 很奇怪為什麼國內沒有任何組織或個人開發最底層的中文編譯器呢
這是一個技術問題,你如果沒讀過編譯原理(龍書)的話,你是看不懂下面的回答的。因為中國技術不足,沒人能寫出支持中文的lex和yacc。首先詞法分析生成器lex,就對中文不友好,它只支持ascii字母,不支持中文。這意味著你編譯器里的詞彙只能是英文單詞,不能是中文詞彙。其次就是語法分析生成器yacc了,也不支持中文,只支持用英文寫的語法規則,不能用中文書寫。這意味著最最基本的語法規則是全英文的,這算哪門子中文編程語言。非常遺憾,中國目前沒有牛人造出支持中文的lex和yacc來,否則全中文編譯器一定會滿天飛的,多到爛大街。為什麼說多到爛大街?一個全中文的編譯器其實僅僅需要修改編譯器的前端詞法分析器和語法分析器(語法分析器甚至無需大改動),後端直接對接開源代碼即可,開源英文編譯器已經爛大街了,把它們的後端移植過來就行了。但關鍵就是沒有支持中文的自動化工具lex和yacc。
自動化這條路走不通,純手寫總可以吧。我猜測易語言就是前端純手寫的全中文編譯器。你可以使用易語言,絕對可以達到你的要求。但是從技術的角度來講,lex和yacc的技術高度遠高於易語言,畢竟lex和yacc號稱編譯器的編譯器,編譯器之母。
I. 編譯器工程師 ,前途 咋樣,工資是多少啊。應屆生要不要。。。
很有前途,但是你要基礎知識很扎實。否則的話,別人不要。會應用的人很多。
J. 做編譯器有前途嗎
有,只要你能做個能用編譯器,那就是高級軟體工程師了,大多數高級工程師都沒這水平,其實做編譯器根本沒有意義,因為你做出來的不會有人用。。。只有大型軟體公司諸如蘋果,微軟,intel推出新新型軟硬體開發環境,或者用新語言包裝開發組件的才會去做編譯器,你是要去這些公司工作嗎???????普通人做的編譯器根本無法推廣,質量保證不了,還有就是非常麻煩,編譯器是非常復雜的,最低也要精通目標環境的匯編,被編譯的語言(可以自己開發新的,也可以沿用舊的諸如C++等),還有就是令人頭疼的正則表達式,這些是最基本要求,這還牽扯不到編譯原理。。。。。