高二來問,有意向報這個專業

學校是那種主攻一門語言並幫學生把其他語言入個門嗎?或者甚至不幫入門?

或者說有專業分流來專攻語言?


先說結論,學院在培養的時候肯定有側重點,不會教很多,且主要靠自學。

根據不同的學院、學校,可能會有所區別。但一般都是JAVA或者C++為主。例如我本科的時候,大一上過C語言作為編程入門,隨後的培養計劃主要是JAVA,包括最開始的JAVA基礎,到面向對象程序設計,後面還有JAVA組件與框架的選修課。但是,編程語言這個東西,只要會了一門,其他的都很快。到最後,根據不同的用途,很多同學都會若干編程語言。例如,用JAVA寫web後端,用JavaScript寫前端頁面,用Python數據分析,寫寫腳本。

最後找工作面試的時候,一般會要求你對某一門語言很熟,至少相關的常見面試題能答下來。


學校不教語言,默認自己學會。


學校教會你一個語言以後剩下的都要自己學好吧。如果學校每個語言都叫你一遍拿著不是學校,這個是培訓班。學校要花時間講更高級的升級理念,數據結構,演算法,操作系統等等等等。


我所了解的學校大多會教兩門語言,一般是 C/C++ 和 Java,也有少部分高校開通了 Python 課程。主流語言的學習方法大同小異,有了學習的思維和方法,學習新語言是很輕鬆的。語言只是一種工具,更重要的是學會語言之後用語言這個工具來完成更多的工程任務。


一般C++ JAVA是主流。這個專業學校教哪門語言對學生而言並不重要,未來自己從事哪門語言的開發都是靠自己自學的,並且越到後面越會發現語言都是差不多的,總會有很大的相似處。


編程的思想是一致的,無論什麼語言只要理解一個的思想再學其他的都會比較好上手,所以可以不用太在意這個。

當然深度學習相關專業的可能就直接Python了,比較好入門


本人非CS而是SE,不過也差不多。大學一共教了C,CPP,Java,C#,JavaScript(HTML,css),assembly。不過只有cpp講得深一點,其他都是教了個皮毛


計算機專業一般都是會教兩門語言以上的,大一入門一般會學習c語言,然後就是學習java/c++,除此之外可能會教python或者其他的語言的,看學校的課程安排了一般是,每一屆都有可能會變動的。入門較為簡單,看書都能學懂,關鍵是運用,學以致用才是最關鍵的,如果要主攻的話一般都是java


三本教了4種語言,不過都是淺嘗輒止


確實會教多門,不同的學校偏向也不一樣。但是問題不大,因為計算機靠自學,靠學校教是找不到工作的。


1.專業分流來專攻語言

應該說是不同計算機專業會對不同語言有不同偏向。舉個我們傳智專修學院的例子,Java專業就只專攻Java語言,但是其他語言會點兒更好。python也是,主攻python。但是全棧和大數據專業就得都會點了,因為你未來面對的工作要求就是你必須全部掌握。

2.像我們學校就是專業專攻的,但是還有綜合類大學所教授的專業就比較廣泛的,比如計算機基礎專業、軟體工程專業、信息與計算機科學專業、電子信息工程專業等等。

所以還是先選什麼樣學校,比如計算機專業很強的學校,那麼他一定細分的。理工類大學稍微好點。綜合類大學可能就比較廣泛了。然後你再選擇你想要的某方面語言專攻的專業。


一般來說學校只會上一門程序設計語言,比如科大教的只有C,但你不能只會C,各種語言有各自的擅長的領域,Python用來寫一些腳本或者小的處理程序比較合適,Java移動端開發和後端開發需求大,Verilog用來做硬體設計,JavaScript用來寫網站前端,但其實你學會了C和C++再去學其他的就不是太難了,所以學校一般也就教一門,其餘的有需要用的地方去學就好了,選擇哪門編程語言在一開始並不是特別重要,計算機專業也不只是教編程語言,教的是如何通過計算機去解決實際的問題。

我個人建議最開始學還是學C比較好,它和計算機的內存模型關係密切,能比較容易從本質上理解c語言的語法的原理,比如malloc函數不free會造成內存泄漏,那為什麼?就是因為它是取的堆上的存儲單元,堆不像棧,棧在函數調用結束後就會釋放,之後還能繼續用,而堆你需要手動釋放。還為什麼全局變數能被所有函數訪問而局部變數不行,就是因為它不在棧里而在全局變數區(也是內存的一塊區域)而局部變數在棧里,調用結束後這個函數的棧幀就被free了。

如果你一開始學Python這樣的解釋型語言的話,那可能你不太能知道它為什麼有這個語法,以及這個語法的實現機制也不是那麼容易理解。


本科期間我們交了很多語言,其實主要是了解。最重要的是自己能夠在課餘時間將一門語言學精學透。


一般只會教一兩門語言,用到其他語言的時候,默認你會或者可以在一周內學會。


計算機專業應當是教人怎麼造計算機,而不是怎麼用計算機的

而編程語言的 使用 顯然只停留在了用的層面。


推薦閱讀:
相关文章