本人現在大二狗,計算機專業各位大佬覺得現在我應該專攻什麼語言,go,Java,Python還是什麼?

薄君夫


本人研三狗,即將畢業,作為過來人,我來給你一些建議。JAVA是首選。

  • 首先,你現在大二,還需要學習好多專業基礎課程,對於以後來說數據結構,操作系統,編程語言,不論是C++還是JAVA,都要好好學,打好基礎很重要。對於編程語言,目前來說還是JAVA比較經典,而且應用比較廣泛如下圖所示,在2020年3月編程語言排行榜中位居首位。

  • 至於Python,go語言比較年輕,發展迅速,是隨著人工智能的發展一起成長起來的。但是這些都是比較容易學的,容易上手,不適合編程剛入門的來學,尤其是計算機專業的學生。所以,當你把JAVA學好了之後,Python等看起來就是小意思。

(2020年3月編程語言排行榜top10的柱狀圖 ↑ )

  • 然後,你在大學還有很多時間,可以多編寫程序,找點項目來做。而且,還有很多編程比賽可以參加,收穫會很多,獲得每次還有各種獎勵,對於找工作非常有幫助。還有一點,趁現在有時間,多去公司實習,在實際的項目中多鍛鍊自己。不要怕自己啥也不會,實習生就是個打雜的,去了就是學習的。

最後,希望你能也上個研究生,本科生太多了,研究生現在也都不吃香了。到時候,也可以搞人工智能相關的,大數據,計算機視覺,自然語言處理等。喜歡我就點個關注吧~

人工智能之CV


大二的小朋友。。。

本專業出身,就選擇C ++或Java。然後學習JavaScript。越來越多的基於Web的應用程序需要牛逼的JavaScript技能。然後根據要執行的工作類型選擇PHP,Swift或Python。一旦很好地瞭解了這三個集合中的每一個,就可以相對輕鬆地選擇所需的任何其他語言或框架。

所以學java吧,最好其實是學C,瞭解底層語言。不過java更好就業,Java會了,python啥的簡簡單單就能學會,不用想那麼多,大學時間還長著呢。

另外,大學教材大多都過時了,還是自己去找最新的教程吧,不用我黑馬程序員的,也可以去找找新的,和視頻配合一起看。我大學時候那些書真的學的很難受,最後發現也懂得不多。

直接也給你java學習路線圖,要資源直接關注我然後私聊發送“java”就行咯。


一、Java基礎

JavaSE基礎是Java中級程序員的起點,是幫助你從小白到懂得編程的必經之路。在Java基礎板塊中有6個子模塊的學習:

  • 基礎語法,可幫助你建立基本的編程邏輯思維;
  • 面向對象,以對象方式去編寫優美的Java程序;
  • 集合,後期開發中存儲數據必備技術;
  • IO,對磁盤文件進行讀取和寫入基礎操作;
  • 多線程與併發,提高程序效率;
  • 異常,編寫代碼邏輯更加健全;
  • 網絡編程,應用服務器學習基礎,完成數據的遠程傳輸。
  • 學習該階段,可以完成一些簡單的管理系統、坦克大戰遊戲、QQ通信等。

二、數據庫

數據庫不僅僅是Java開發工程師的必學課程,也是其他語言都需要掌握的技能。用於對交互過程中客戶的數據進行存儲。該板塊包括關係型數據庫和非關係型數據庫。例如:MySQL、oracle、redis、MongoDB等。數據庫學習完畢後,可以將數據存儲到數據庫中,也可以通過SQL語句從數據庫中查詢數據,結合Java項目可以實現動態站點的數據的保存。技術樹

配套學習視頻:5天玩轉MySQL配套資料

Sharding-JDBC從入門到精通配套資料:

java進階教程4天oracle快速入門配套資料:

三、前端技術

Javaweb階段包括前端、數據庫和動態網頁。Javaweb是互聯網項目的入門課程,是學習後面高進階課程的基礎。首先,我們先看一下前端板塊。該板塊主要包括如下幾個模塊:

  • HTML5,網頁製作標記語言;
  • CSS,對HTML製作網頁進行美化;
  • JavaScript,嵌入在頁面中的腳本語言,具備邏輯性;
  • Vue,前端框架,簡化了與服務器端交互的操作,用戶良好的交互體驗是必不可少的。

學習前端技術後,可以完成類似京東、淘寶的前端工程的編寫。技術樹

配套學習視頻:Ajax從入門到精通|黑馬程序員

Vue.js

深入淺出教程配套資料

HTML+CSS+JavaScript教程hnt7零基礎玩轉微信小程序


四、動態網頁技術

動態網頁是中級程序員服務器端編程的基礎,是高級框架學習的必備課程,後期學習的框架、服務底層都是基於動態網頁技術之上的。該板塊包括Javaweb核心技術、包括Servlet、Request、Response、Cookie和Session等,通過這些技術的學習可以完成動態站點開發,可更好的完成服務器端與客戶的交互,讓頁面的數據“動”起來,做出小型的應用系統。技術樹

JavaWeb教程_JavaWeb入門教程|黑馬程序員

servlet4.0新特性


五、編程強化

編程強化是對解決實際問題方面做一個深入的瞭解和應用,是對JavaSE基礎的加強,對後期自動以框架和對一些服務框架的底層理解做支撐。編程強化板塊主要包括如下幾個模塊:多線程高級、涉及線程內存、線程通信等;JVM優化,對JVM底層進行調優來提高項目執行效率;NIO,同步非阻塞IO來提高效率。學習該階段,可以對原有項目進行優化從而使程序更快更穩定。技術樹

Java多線程與併發庫高級應用java程序算法與實際運用-

匠心之作java基礎強化之JVM內存結構

匠心之作java基礎強化之強轉溢出&浮點數運算精講


六、軟件項目管理

JavaSE基礎是Java中級程序員的起點,是幫助你從小白到懂得編程的必經之路。在Java基礎板塊中有6個子模塊的學習:基礎語法,可幫助你建立基本的編程邏輯思維;面向對象,以對象方式去編寫優美的Java程序;集合,後期開發中存儲數據必備技術;IO,對磁盤文件進行讀取和寫入基礎操作;多線程與併發,提高程序效率;異常,編寫代碼邏輯更加健全;網絡編程,應用服務器學習基礎,完成數據的遠程傳輸。學習該階段,可以完成一些簡單的管理系統、坦克大戰遊戲、QQ通信等。技術樹

Maven教程_Maven視頻教程|黑馬程序員

Git零基礎入門到實戰詳解


七、熱門技術框架使用

Javaweb進行企業級開發是完全可以的,但是開發效率比較低,所以對常用的邏輯操作進行封裝就形成了框架,因此框架是企業開發的入門技能。熱門框架板塊主流框架有如下幾個:Spring框架,佔據統治地位,其生態系統涉及各個方面解決方案;MyBatis框架,使用ORM思想對數據庫進行操作。該板塊學習後,就可以進行真實企業級項目開發了,做出的項目也會更加符合企業要求。技術樹

Java教程|Springmvc由淺入深教程

java進階教程Mybatis由淺入深教程配套資料:

JPA教程_JPA視頻教程|黑馬程序員數據層全棧方案 SpringData 高級應用


八、分佈式架構方案

隨著互聯網的發展,業務的複雜性和用戶的體驗性都需要提高,所以分佈式架構出現了。該板塊主要講解的是分佈式架構的相關解決方案。主要包括如下模塊:Dubbo,高性能的 RPC 服務發佈和調用框架;SpringBoot,簡化Spring應用的初始搭建以及開發過程;Spring Cloud,一系列框架的有序集合,如服務發現註冊、配置中心、負載均衡、斷路器、數據監控等。該板塊的學習,可以具備大型互聯網項目開發的必備技術和實際經驗,為進入BATJ打下基礎技術樹

配套學習視頻:java中級程序員教程快速入門Zookeeper+dubbo

v兩小時由淺入深搞定springboot

4天從淺入深精通SpringCloud 微服務架構


九、服務器中間件

中間件板塊是大型互聯網項目中必備的。服務中間件可以幫助各子模塊間實現互相訪問,消息共享或統一訪問等功能。其包括遠程服務框架中間件,例如阿里(Apache)的RPC框架Dubbo等;消息隊列中間件,例如:阿里巴巴開源分佈式中間件RocketMQ、高吞吐量消息發佈和流處理服務Kafka等。學習服務中間件是中級JavaEE工程師必要技術,也是JavaEE架構師必須精通的技術。技術樹

配套學習視頻:MongoDB基礎入門到高級進階

REDIS高級應用:使用redis消息隊列完成秒殺過期訂單處理


十、服務器技術

不管是使用原生Javaweb進行開發,還是使用框架進行開發,項目最終需要對外發布才能供全世界的人訪問到,而服務器板塊就可以解決這個問題,所以服務器是項目發佈的必要技術。該板塊包括虛擬化和web應用服務器的學習,主要包括如下幾個模塊:Vmware,虛擬機軟件;Linux,專門用於服務器的系統;Nginx,集群部署時反向代理服務器;Tomcat,項目發佈時主要使用的服務器。該板塊學習後,我們就可以把開發好的項目發佈到服務器中,然後供你的小夥伴遠程訪問了,超酷!技術樹

配套學習視頻:高可用的併發解決方案nginx+keepalived

Linux運維189講系統教程

服務器tomcat(Java開發必會)

利刃出鞘-Tomcat核心原理解析


十一、容器技術

容器化技術是近兩年超級火的一個專題,通過容器化技術可以對環境進行打包,方便移植,大大提高了開發效率。該板塊包括容器化技術Docker和其平臺管理引擎Kubernetes,其中,Docker 是一個開源的應用容器引擎,可以打包應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的Linux或Windows 機器上,也可以實現虛擬化。而Kubernetes是一個開源的,用於管理雲平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單並且高效。通過該板塊的學習,你可以通過上述技術快速搭建環境,節省開發時間,提高開發效率。技術樹

配套學習視頻:深入解析docker容器化技術


十二、業務解決方案

雖然我們已經具備了基礎技術和高階技術,但是要想與企業開發相接軌,還需要對實際項目的業務解決方案進行探究。而此版塊就是在實際業務場景中的真實解決方案集合,常用的業務解決方案有如下:搜索業務場景解決方案、日誌收集與分析場景解決方案、工作流引擎場景解決方案、任務調度場景解決方案、地圖開發平臺場景解決方案、支付開放平臺場景解決方案、圖表可視化場景解決方案。通過分析實際業務來學習這個解決方案技術集,完全可以達到中級甚至高級工程師水平。技術樹

怎麼判斷學習程度,以及整個學習過程都列出來了,記得點贊收藏,加上私聊我回復“java”一次哦,就會給你自動回覆資源了。


黑馬程序員


本人10年開發培訓經驗,期間經歷了Java,Android,H5,大數據,PHP等多個不同的方向的開發,也做過軟件培訓公司的金牌講師,很有興趣回答你這個問題。

其實這麼跟你說吧,無論是Java、Go還是Python,這些都屬於”術“,並非”道“。那麼”術“與”道“的區別在哪裡呢?

”術“是技術,你技術再厲害也只是一個單個的技術;而”道“則是思想,一旦”道“研究透了,則所有的”術“都不在話下。所以對於大一大二這樣並沒有急切面臨就業需求的學生來說,其實更多的精力是要放在編程思想的學習上。

大學裡面的數據結構、體系結構、操作系統、軟件工程、編譯原理等原理性的東西要多花時間去研究,去琢磨。如果有時間有精力,最後再去數學系選修幾門數學課程,尤其是算法類的課程。

你把上面的這些課程研究透了,才能保證你無所不能無所不會,以後無論你從事哪個方向的開發,都是無往而不利。

就好比你要學武術,你可以學長拳、洪拳、少林拳、羅漢拳、棍法、刀法、劍術等,但是這些都是一個一個的”術“;如果你機緣巧合之下,掉入山崖,得到一本九陰九陽神功大法,這本書告訴你的是如何修煉自己的內功,並不是告訴你一招一式該怎麼練。

但是最後你應該知道,練好了九陰九陽,可以秒殺世界上那些無敵神拳、天下第一刀、滄州第一棍啥的。

回到這個問題上來,無論是Java、Go、Python,還是C、C++、C#,都是具體的編程語言而已,他們是遵從於編程思想的。所以一旦你的思想通了,再用這些編程語言就會一法通而百法通。

我的建議就是好好學習算法編程思想這種課,然後選擇其中比較經典的一個編程語言作為具體的實現手段,比如用Java實現某個算法,這就夠了。你現在還沒有到畢業的階段,沒必要Java也搞,Python也學,貪多而嚼不爛,以學校的學習環境和情況,往往哪個都搞不好。

其實搞好一個算法,再精通一個Java,足以讓你找到好的工作。不要聽別人瞎扯淡,什麼區塊鏈現在特別火,趕緊搞Go吧;人工智能是未來的趨勢,趕緊弄Python吧。有些東西就是天上飛的豬,站在了風口上就被吹上了去,等風口一過,那個豬就會死的很難看。

自己沒事就打開招聘網站,看看招聘Go的有多少,招聘人工智能的什麼要求,你符合嗎?你覺得搞得了嗎?

所以專科本科階段,尤其非名校的學生,還是踏踏實實,別那麼好高騖遠,把算法+底層+Java這樣的東西搞好了,你的就業絕對不會愁!

等你考了研究生,這時候可以搗鼓一下人工智能啊,區塊鏈啊啥的。

以上是我的個人見解,若有不同見解,歡迎留言討論!


我從事開發培訓10年,擅長Java,Android,H5,大數據,PHP等多個不同的技術方向。後續我會寫一系列關於互聯網技術方面的文章,感興趣的朋友可以關注我。另外如果你有Java,Android,H5等開發方面,或者是求職方面的問題,也可以在評論區留言,或者私信我,相信一定會讓你有所收穫!


分享到:


相關文章: