為什麼很多專業都吐槽要條條道路通CS?
編程應該是像寫字一樣的基礎能力。很遺憾那麼多人把編程當作computer science。這既是對CS的不尊重,也是對其他行業的不尊重。
這種情況大概就像文盲很多的時候,會認字的都是知識分子了吧。再等一代人的時間,編程普及後就會好起來的。正確的說法是「條條大路通IT」啊。
其他專業都學編程,cs不學編程,但是用編程來寫pipeline,寫內核,寫server,寫parser。他們寫的是給程序員用的東西。
cs不僅僅要寫代碼,還要學理論課,但是理論知識的掌握程度最終還是要靠造輪子來體現。一些學校把這些課都上成文科課,然後考試背書就能拿滿分,這樣沒用。
計算機世界裡面有三種層次的東西,(一)是演算法或者思想,(二)是拿(一)做出來的輪子,(三)是拿(二)做出來的應用。高校實驗室在做(一)和(二),大公司在做(二)和(三),小公司在做(三)。(三)的崗位需求量非常大,而且都是調介面,需要的理論很少,所以就「條條大路通代碼」了。
至於那些「api的搬運工」,有些也就用個matlab,一點演算法和架構的思想都沒有,根本不能算做真正的程序員。
======================
很多高校的cs(或se)課程體系裡面,除了入門課以外沒有講編程的課(更別提單獨講)。編程是後面課程的預修課,但是用到的時候會默認你已經學過,無論什麼編程語言。所以我吐槽cs不學編程(需要自學)。現在很多計算機系的喜歡裝逼玩演算法。你為啥不說你是個數學家。
你會發現搞cs的最後搞的都不是cs。
搞體系結構的拐彎去微電子甚至材料了
搞密碼學圖形學的拐彎去數學了搞人工智慧的拐彎去認知科學了
搞網路搞數據分析的滾去市場、金融和社會學了……這特么可是個無向圖計算機本質上是個自動處理信息的工具,有哪個行業不需要處理信息?特別是一些產生海量的複雜的數據的行業,更是離不了計算機,……,與其他技術相比,計算機技術的進步速度與它向其他行業的擴散與滲透的能力均無以倫比,甚至直接導致一些傳統行業的摧毀、沒落或新生,成為一種革命性的力量。再加上當前正值信息時代,創業大潮湧動,IT業成為最「兼容並包」的行業,基本上來者不拒,給所有人自由選擇的權力,因其海納百川,自然精英集聚,活力四射,天時、地利、人和,導致這個行業吸引力日增,己步入良性循環……此乃人類社會發展之大勢也!
然而 CS 條條方向通數學(逃
寫代碼和學CS 是兩回事 可能大家並不需要都做程序員 然而每個對未來有追求的人都需要會寫代碼
為何?
因為在現代社會 我們不僅需要與人打交道 更多的時候 我們還需要與機器打交道 而如何與機器進行交流?最簡單的方法 也就是使用機器熟悉的語言 也即 寫代碼
甚至 我們與人交流的時間會越來越少 與機器交流的時間會越來越多 因此學會如何與機器交流 也越來越重要
曾經最重要的知識都存在人腦里 誰是部落里最年長的人 誰懂得就最多
後來知識被印成了書 誰看的書多 誰就懂得更多
而現在 越來越多的知識在紛繁複雜的虛擬世界數據中 誰能使用機器來作為工具 誰就能比別人懂得更多 也因此 能否與機器交流成了是否接受過高等科學教育的最重要特徵之一你細心觀察一下就會發現:幾乎沒有技術研發崗是不需要編程的。
電氣:DSP編程、Verilog語言編程。
嵌入式:C語言編程,彙編語言編程。圖像處理工程師:C++編程、matlab編程。統計分析:R語言編程。工業控制:PLC編程,vb腳本編程。
土木,機械,物理:APDL編程(知友補充)控制理論研究:matlab編程(知友補充)……
計算機是當今最重要的先進生產工具,條條大路通CS再正常不過了。這邏輯就像吃飯要拿筷子或者刀叉那麼自然。 或者像阿三吃飯要用手抓那麼自然(知友補充)。他們說的是通向的是Software Engineering。
。。。。計算機科研範圍很大,(我比較了解的)比如Computer Vision、Pattern Analysis、Signal and Image Processing、Deep Learning、Artificial Intelligence 也是CS(新興而不是傳統的),這不是只會幾句Java Python就算通的。。。。
傳統意義上的計算機科學,包括計算機架構,數字電路,網路,數據結構等,這些東西都需要很深厚的數理基礎,而且偏向於科研,非常難,並不是一朝一夕可以學好的。現在容易找工作的是互聯網開發,比如移動應用,網路前端,資料庫等,他們更偏向於應用而非科學,所以稱之為Computer Engineering 更合適。。。。。。並沒有黑任何學科的意思,科學偏向科研,工程偏嚮應用而已,並沒有高下之分。但是應用學科非稱為科學的話,總給人感覺有點彆扭。這是因為作為一個科學而存在的現在的CS是個大坑,什麼東西都往裡扔。。
別忘了cs創立之初是哪些人做出來的,是物理學家和數學家,現在的cs呢,新領域的頂樑柱同樣是數學家,物理學家,機器人學家,甚至生物學家。而很多東西完全是數學物理的玩意,最後都被套上了cs的帽子。。。
就算是純粹的CS研究者,其實本質上來說也是半個數學家,這一點在圖形學和視覺體現的特別明顯,不過操作系統和pl這種東西也只是在計算理論上偏數學。
cs目前不算搬磚碼農的部分基本上前沿就是數學家做數學,物理學家做物理,搞人工智慧的搞人工智慧,然後把他們做的和計算機相關的集合在一起,稱作cs。
我不覺得搬磚的,往左往右移幾個像素的算cs,還有什麼堆邏輯的,複製粘貼的。但是事實上述幾種工作在現在的互聯網風口中非常火熱,似乎高工資就在眼前。計算機專業毫無前途。來了就是賣身為奴,自取滅亡
高中畢業的時候工科首選土木建築,現在是計算機;剛上大學的時候公務員火,現在程序員火。時移而勢異。誰說得准。
一百年前有句話:條條大路通機械。但現在是一百年後
====
條條大路通的是碼農,CS幾乎不學編程語言的。如果說把編程比作寫小說,那CS就是語言學、語義學、語法學、語言的產生和演變這些東西。唐家三少寫小說,實際上並不需要了解這些。本校畢業180學分,編程直接相關的C大概2.5,c++和java是一門專業選修課叫面向對象,大概2分。非要強說VHDL或者彙編也算的話,加起來也不到10個學分。
對比一下:
數學類:離散數學4 高等數學5 數理方程 複變函數 線性代數 ……
CS類:數字邏輯 操作系統 組成原理 編譯原理 計算機網路 自動控制原理 ……cs的主力課程是:組成原理(設計簡單的CPU)編譯原理(可計算性討論)數據結構(我知道軟體工程也會用)演算法(我們負責研究新的演算法)
補充:下面評論有人補充se也不學編程語言,換成碼農更恰當。工業革命是人類對自己雙手的模仿,而CS是對自己大腦的模仿。
我是CS狗我驕傲~
假設題主說的是寫代碼。。。
沒啥辦法,我們這種渣渣,搞數學都吃不上飯啊。。。
至於搞生物,搞化學。。。那就不只我們這種渣渣吃不上飯了。。。因為這些「條條大路」上的人不知道CS到底是什麼樣的。(配合其他回答看更佳)
很嚴肅的告訴你,cs的不僅要學cs還有信號,自控,單片機,以前還有模擬電路。。。(捂臉)。。。反正能和計算機沾邊的。。。突然想起來似乎還寫了一天還是兩天數控機床的代碼。。。
。。。
。。。。。。就是醬。。。包羅萬象。。。嗯。。。至於題主的問題,當然不排除是因為和人打交道多了覺得計算機比較可愛。。。ecause CS和編程能力無關,與數學關係更大 herefore 條條道路應該通向編程…
我們現在的文明是建立在計算機上的。只不過很多人還沒習慣而已。所有的專業都需要書寫和算數呢,怎麼沒人吐槽條條大路通數學和語文呢?
我是學土木的,但我現在在大公司當程序員養家糊口。
可是我真心覺得自已缺了太多CS知識了,所以業餘一直在補基礎。一把年紀了,容易嗎我因為我們包容啊我認識的人里學生物的學物流的學化學的學武術的都入行碼代碼了認識我的人對號入座哈
為什麼很多專業都吐槽要條條道路通CS?
--
此處 cs 應特指編程技術。因為 cs 是研究計算機的一門科學,編程只是 cs 面嚮應用和實踐的那部分。
因為計算機進入了各個領域。所以很多專業,都被計算機進駐了。
很顯然,非cs專業的人,不可能也沒有必要成為 programmer。這是因為後者本身也是一門專業。
當然如果你同時精通兩門專業那更好了。
因此,其他專業和 cs 專業人才,是跨專業合作關係。這裡面其他專業的人,也要有 cs 的思維,就是為了讓兩者建立起有效率的溝通。
作為非cs專業的專業人員,你不需要掌握編程技術,因為那太專業也太困難了。但是你需要適當掌握計算機思維和語言,比如說,你適當的掌握編程使用的例如 uml 圖,大概了解計算機如何解決某個問題,這樣才能很好的把你的想法,和cs專業人員進行溝通。
很多人在這一點上做的不夠好,很多人說出來往往是非常抽象,非常不具體,非常主觀的東西,往往形成很高的交流成本。
推薦閱讀:
※有沒有Vector公司 autoSAR的教材?
※外行人說的哪些(哪句)看似普通的話,對於程序員來說是巨大的冒犯?
※大學學習軟體工程,應該選擇 Windows 系統筆記本還是 MacBook ?
※如何有定力並高效的學習編程?
※作為一名程序員,你為什麼歡迎或不歡迎轉基因食品?