作為一名IT行業(yè)的從業(yè)者,同時(shí)也是一名計(jì)算機(jī)專業(yè)的研究生導(dǎo)師,我來回答一下這個(gè)問題。
首先,對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生來說,應(yīng)該熟練使用一門編程語言,但是主攻方向不能僅限于編程語言,因?yàn)榫幊陶Z言只是一個(gè)工具,主攻方向應(yīng)該是系統(tǒng)的解決方案。比如,在當(dāng)前大數(shù)據(jù)時(shí)代背景下,選擇大數(shù)據(jù)、云計(jì)算、物聯(lián)網(wǎng)、人工智能等方向都是不錯(cuò)的選擇。
編程語言說到底就是實(shí)現(xiàn)邏輯的工具,程序設(shè)計(jì)的核心是算法和數(shù)據(jù)結(jié)構(gòu),編程語言只是完成最終的實(shí)現(xiàn)步驟。如果把重心放在編程語言上會(huì)很容易產(chǎn)生上升瓶頸,無法形成突破,這也是不少應(yīng)用級(jí)程序員無法完成崗位升級(jí)的重要因素之一。
以選擇大數(shù)據(jù)方向?yàn)槔枰獙W(xué)習(xí)三大塊內(nèi)容,分別是數(shù)學(xué)、統(tǒng)計(jì)學(xué)和計(jì)算機(jī),其中數(shù)學(xué)和統(tǒng)計(jì)學(xué)的學(xué)習(xí)情況能夠在很大程度上決定技術(shù)人員在大數(shù)據(jù)領(lǐng)域是否能夠走得更遠(yuǎn)。在學(xué)習(xí)大數(shù)據(jù)的過程中還涉及到編程語言、數(shù)據(jù)庫(kù)、大數(shù)據(jù)平臺(tái)、應(yīng)用場(chǎng)景等內(nèi)容,可以說選擇大數(shù)據(jù)方向會(huì)有一個(gè)較為全面的學(xué)習(xí)計(jì)劃。
在編程語言的學(xué)習(xí)上,要遵循一個(gè)重要的原則,就是不同的應(yīng)用場(chǎng)景需要采用不同的編程語言。以大數(shù)據(jù)方向?yàn)槔绻贖adoop平臺(tái)下進(jìn)行大數(shù)據(jù)應(yīng)用開發(fā),那么選擇Java是比較不錯(cuò)的選擇,但是如果在Spark平臺(tái)下,那么Scala則更適合一些,而如果通過機(jī)器學(xué)習(xí)的方式進(jìn)行大數(shù)據(jù)分析,那么采用Python會(huì)更容易。不同的編程語言往往適合于不同的應(yīng)用場(chǎng)景,這就是為什么要設(shè)計(jì)大量不同編程語言(600種左右)的主要原因。
對(duì)于大學(xué)生來說,學(xué)習(xí)編程語言最好要把一門編程語言使用熟練之后再學(xué)習(xí)其他的編程語言,因?yàn)榫幊陶Z言之間具有很多共性,掌握了其中一門之后,再學(xué)習(xí)其他編程語言會(huì)更容易一些。