研一想轉向計算機方向該學習Java還是Python?
這是不少同學所面臨的困惑,我從專業(yè)學習、科研和就業(yè)這幾個方面說說我的建議。
首先,對于想轉向計算機方向的研究生同學來說,選擇學習編程語言之前要先明確自己的主攻方向,不同的方向需要面對不同的實踐場景,而不同的實踐場景往往需要采用不同的編程語言。
Python和Java都屬于目前流行程度比較高的全場景編程語言,但是這兩門編程語言也有其各自的特點。以我的課題組為例,目前大數(shù)據(jù)組的同學更傾向于使用Python,而移動互聯(lián)網(wǎng)組則有更多同學在使用Java。
如果未來想拿算法崗offer,那么掌握Python會更方便一些,目前大量的機器學習、深度學習、聯(lián)邦學習等領域都在大量使用Python來完成算法實現(xiàn)和應用,相關的學習資料和案例也比較豐富。
我目前在給研究生同學上機器學習(深度學習)和數(shù)據(jù)分析這兩門課程的時候,也會采用Python來作為算法實現(xiàn)的工具。相比于Java語言來說,Python有更加豐富的庫可以使用,而且Python本身的語法結構也更靈活一些。
如果未來想拿開發(fā)崗的offer,那么從Java開始學習會更適合一些,畢竟在生產(chǎn)場景下,Java的技術生態(tài)比較完善,很多團隊為了降低開發(fā)風險,往往會采用Java來完成項目開發(fā)。
學習編程語言僅僅是轉向計算機方向的第一步,接下來需要根據(jù)自己的發(fā)展方向來全面豐富自身的知識結構,同時要重視積累更多的實踐經(jīng)驗,這對于后續(xù)的就業(yè)會產(chǎn)生非常直接的影響。
從近兩年的就業(yè)情況來看,工程實踐能力比較強的同學會有更多機會拿到高附加值崗位的offer,這一點不僅在開發(fā)崗有體現(xiàn),在算法崗也有所體現(xiàn),我組里有一部分同學雖然沒有強成果輸出,但是也能憑借較強的工程實踐能力拿到算法崗的offer。
考慮到很多同學沒有實踐場景,我聯(lián)合一些頭部985大學的導師和互聯(lián)網(wǎng)大廠的企業(yè)導師,共同搭建了一個實踐場景 ,借助我們的科研資源和行業(yè)資源在開展一些實踐活動,感興趣的同學可以聯(lián)系我申請參與,相信一定會有所收獲。
最后,如果有計算機相關的問題,歡迎與我交流。