計算機科學與技術專業的大二學生,是走c++這條路好,還是學java比較好?

陳德霖


也是計科專業畢業的,當年還是教師崗,為了興趣投入到編程行業一晃就是十幾年,現在還有很大一部分時間在寫代碼,在大學期間大一過的有的迷糊,雖然學了C語言但基本上不怎麼懂,感興趣是一方面最主要計算機概念意識還不全,很多概念還無法在大腦中形成思考對象,因為興趣沒事就看就去嘗試著去寫慢慢的培養計算機語感,大約在大一下學期慢慢有點感覺了,能自己獨立寫點C語言代碼了,正趕上java剛開始流行的時候,就選修了java課去聽,聽了一節課覺得java這門語言太有意思,後面從圖書館借了很多書去看,選修課上的比正式的課程還認真,到了暑假直接借了一本500頁的java書帶回家研究,整個一個暑假都在和這本java書較勁,由於前面有了C語言的基礎看起來快多了,對於裡面一些設計思想思考的比較多,差不多一個暑假把這本書仔細研讀了兩遍,算是真正到學習編程語言的感覺了,之後回到學校陸續學了c++,linux等基礎,而且整體越學越快。

對於大二學生選擇java還是c++,從方向上看差異很大,畢竟java開發集中在兩個方向,應用方向後端開發方向;c++主要在嵌入式開發,遊戲編程等等方面。編程語言就是一種就是一種工具,只不過有些入門簡單些有些難點,關鍵點還是編程思想。目前從難易程度來講不太適合選擇C++作為第一個編程語言,畢竟裡面的語法細節太繁瑣,特別是涉及到泛型編程這塊,沒有點計算機語感很難看明白,反而容易打擊學習的積極性,當然難並不代表著不能去學,可以循序漸進的學習,先學習基本的面向對象的概念以及特性,然後再慢慢切入,如果有了C語言基礎再去學習c++學習起來會更加方便一些。

java相對來講入門容易些,而且學習java有個非常大優勢就業機會多,畢竟目前就業崗位的絕對數量java還是最多的,java是一個入門容易,但要成為高手就會很費勁,畢竟高級語言深度主要在框架設計上。

如何做出選擇?

1.在校大學生特別剛大二不是過早的定位在一個方向先把基礎的學習放在第一位,如果有機會同時接觸到c++或者java,都認真的把理論學起來,不去嘗試永遠不知道自己到底更加適合哪種編程語言,如果已經明確了學習方向,也不要別的都不管了,畢竟在學校理論的廣度還是需要的,不是每個人都有機會學習同時學習java,c++。

2.如果確定學習c++,建議把C語言以及嵌入式linux一起學了,這樣容易形成一個體系,雖然看起來有點多,但從事嵌入式開發從範圍上也就這些東西。

確定學習java,先把基礎理論學習好,然後在開源社區找java方面的代碼,研究如何去實踐,高級語言主要還是以實踐項目為主,編程模式非常關鍵,框架研究學習非常有必要。

大二剛好理論,大三想辦法實踐,不耽誤學業還能有意識的學好編程,同時還要注意保持編程的興趣,一頭扎進很難的編程裡面容易中間習慣性放棄,做好計劃有的放矢。

希望能夠幫到你。


大學生編程指南


Java語言與C++語言都是目前被廣泛使用的編程語言,但是這兩種編程語言的應用場景還是有較大區別的,下面從多個維度進行一個概要的分析:

第一,C++語言更注重性能。在語言自身的性能上,C++與Java相比還是有較大優勢的,很多對性能要求比較高的應用場景裡大多采用C++完成,比如容器開發、圖形引擎開發等。另外,C++作為C語言的面向對象版本,繼承了C語言的大量操作,在與硬件交互方面,C++雖然沒有C語言那麼激烈,但是與Java相比還是有明顯的優勢(靈活性上)。

第二,Java語言的應用場景更多。Java語言是純粹的面嚮對象語言,同時Java語言也是具備純正互聯網基因的語言,在Web開發、移動互聯開發、大數據開發等領域有廣泛的應用。Java語言經過多年的發展,已經建立了一個比較完整的語言生態,有大量的成功案例,尤其在大型Web開發領域,採用Java會明顯降低項目失敗的風險。Java語言的性能是比較穩定的,採用Java語言的開源產品也非常多。

第三,Java的從業人數更多。在從業人群方面,Java的從業人群更多一些,因為Java的應用場景更加廣泛,所以人數也比較多。但是,研發級程序員使用C++也非常普遍,目前大量的研發級程序員跟著產品走,這其中就包括很多智能化設備(網絡設備等),所以C++在研發領域的應用也比較普遍。

如果未來要繼續讀研,或者走研發級程序員的路線,那麼學習C++語言是一個不錯的選擇,學習C++更能體會算法和數據結構的關係。如果從就業的角度出發,學習Java是一個不錯的選擇,目前Java程序員的市場需求量還是比較大的,畢竟在Web開發領域有大量的項目。

總之,Java語言與C++語言都是非常不錯的編程語言,如果時間和精力允許的話,建議都學習一下。

我從事軟件編程多年,目前也在帶軟件開發團隊,我會陸續在頭條上寫一些關於軟件開發方面的文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收穫。

如果有具體的編程問題,也可以諮詢我。

謝謝!


IT人劉俊明


選擇什麼編程語言,最終還得由你自己的強項、以及你想要從事的行業方向有關,不過從我的角度來建議的話,我建議你學Java!

難易程度不一樣

作為你選擇編程語言的依據,首先你的興趣點、你的擅長的方向很重要,C++和Java都是非常好的編程語言,就目前應用領域的排行來說,都是排名前三的存在,而且份額都不低,可以說都是前途滿滿。

C++的學習成本要比Java高太多了,我讀大學的時候主要就是學C++出身的,那時候學習語言基礎,包括後來參加各種各樣的比賽,也都是用C++比較多,而Java是進入大四以後才接觸的,但是Java上手就會快很多,C++要想學好時間成本還是比較高的,因為C++能做的事情太多了,能寫底層、也能寫業務,接近硬件、也能觸達用戶。

如果你學習C++比較吃力,而學習Java相對輕鬆,那麼你當然應該選擇Java作為你的首要編程語言。

領域方向不一樣

  • 目前C++主要是在很多對於性能要求比較高的領域。

比如大型桌面遊戲開發、比如使命召喚、GTA5等等大型單機遊戲,以及在很多底層、系統級別的開發、比如大名鼎鼎的oracle數據庫、visual studio、Microsoft Office、Adobe Photoshop,包括在Unix、macOS、Windows、Linux等操作系統領域,也都離不開C++這門編程語言。

  • Java擅長做企業級業務、擅長做業務開發

Java在Web、大數據、Android移動開發等領域,都是Java比較擅長的領域。

而且在國內的環境而言,基本上Java還是佔據了很大的統治力的,你常用的Android手機上的應用比如微信、QQ等軟件都離不開Java,而在電子商務領域比如阿里巴巴、京東等等企業的後端業務,也基本上都是Java為主。除此之外,在大型的銀行等今內容領域,Java也是最值得信賴和依靠的技棧。

不要相信編程語言不重要之類的鬼話

那些網上鼓吹所謂的編程語言不重要的,算法才是根本的,這種人的話聽聽而已,千萬不要當真,說這種話的基本上要麼就是半吊子,真正是行業大牛的沒有幾個。

  • 記住幾點:

  1. 第一點:算法很重要但是你也許不常用,而編程語言選擇很重要!

  2. 第二點:語言是有壁壘的,天天做Functional programming的鄙視天天喊設計模式的,那些天天喊設計模式的,鄙視天天OO的,這真的不是開玩笑的,編程語言有壁壘,至少對於大多數程序員都這樣!

因此最終你要選擇學習哪種語言,其實很大程度上還是要依靠你的興趣方向,以及你更擅長什麼樣的編程語言,你最想從事什麼樣的領域。


EmacserVimer


我也是這個專業出身,一開始似乎是先學習c++,而java是後面的課程。

相比起來c++是更加接近計算機的底層的一種程序設計語言,而且非常成熟。

而java語言是一門還處於發展中的語言,但它的使用人數在當今是最多的(java天下第一!)。

如果考慮到以後的商業價值,不得不說,現在使用java進行項目開發的人是要遠遠多於c++的(外國不清楚,國內是這樣的),而且招聘崗位也要多得多。

鑑於題主現在處於大二的時期,我建議你都學哦,c++能加深你對計算機的理解,在對底層的東西有一定的理解的基礎上,其他語言對你來說不過是一種工具。

(偷偷告訴你,c++轉java非常簡單,而且c++也有一定就業需求)

所以現在你可以都涉獵,以後如果想往學術研究方向,則c++語言最優,如果想往商業價值高的方向,則java也是個不錯的選擇


P.S 我是先學習的c++ c# 大三的時候卻面試了java的程序員....


——沒事待在家裡不出門的 居家程序員。(我不想脫髮!)

居家程序員


個人認為學習Java比較好! 首先 Java是面向對象的語言 非常容易入門學習;其次,Java是現在比較火的開發語言,現在網絡上面的學習資料和視頻都比較多,學習資源豐厚;再者的話,現在Java的市場實在是太廣泛了,市場需求是源源不斷的,而且來說技術越高的人才越搶手,基於以上幾點來說學習Java是比較好的目前來說!


架構師之旅


Java更好,cpp更難一些


安子健4


C++對於更人能力要求更強 畢竟庫沒Java豐富 Java開發效率快 但C++還是更牢靠些


馬雷格彼德1


並不存在哪個更好的問題,個人認為對於計算機專業的同學,2種都應該學,只是需要根據自己以後的方向,更加側重於哪一個,以側重的這一個入手。對於語言,入門其實都差不多,不同的是適用的方向


ls三少


選JAVA吧,我是c++程序員,互聯網時代C++越來越沒用


性衝動是魔鬼


java的庫比c++強大很多,但除此以外,兩者差別真的不大


分享到:


相關文章: