首頁>Club>
4
回覆列表
  • 1 # 王大師W

    這種問題不要去問某某大學專業的學生,學生對業界的瞭解是非常非常空中樓閣的,僅比他們的老師(不但不懂,還行騙)好一點。

    從業十幾年,現在還在行業一線打拼,嘗試給年輕人分享一點經驗。

    整個行業以複雜程度來衡量,是一個大概金字塔的分佈,底層是一些簡單的,基於個人和較直觀可理解的應用,如大家經常接觸的手機應用,網頁應用,等。中層是一些小規模團隊合作可以完成的,對效能和規模等方面要求不算太高,大多可以一次成型或者接近完成的專案;在頂端則是一些高複雜度和高要求的專案,例如大型的工業專案,高效能或者高吞吐量專案,和現在很流行的大型網際網路服務等;很多時候複雜性是和規模成正比的。

    在這個層次中,越接近低複雜度的專案,對語言的要求越少,更多的語言都可以勝任,更容易被分工和替代,例如可被外包的網站或者ERP等等;在這些專案中,除了少數特殊領域例如嵌入式開發等,C語言幾無立身之地,學習成本高而開發效率低,接近底層帶來的效能等可控性方面的回報得不到體現;

    在中層專案中,C語言的優勢也不強,例如知乎,豆瓣這樣的網站,可以用更高階語言開發的更快,更敏捷,更少“機器級細節的干擾”;

    只有到了高複雜度專案中,因為對規模、效能等方面的追求,才是C/C++語言一展所長的空間,例如網際網路搜尋引擎,高效能科學計算,大型網路遊戲伺服器等等。

    所以,如果目標是更大比例的程式工程師從業者,C語言學習可以改善對程式、計算機體系的理解,對面試、後續的學習有些幫助,而對直接的工作業績幫助不大;如果目標是高複雜度專業領域的碼農,C/C++還是要好好學一下的,可以翻翻近幾年的百度騰訊股溝畢業生招聘試卷,另外不得不說,自學到脫穎而出的程度,對一個非專業大學生而言,還是很困難的一件事,如果以python等語言上手培養程式設計的熱情興趣和習慣,能夠快速融入一個工程師社群和團隊,是向更專業工程師攀登之路的一個良好起點

  • 中秋節和大豐收的關聯?
  • 學習刷牙的步驟?