優秀的程式設計師應該掌握多少門程式語言?

Laura-wei


這個問題比較複雜。

首先,什麼樣的程序員?

我是做控制的,控制工程師很多都從事單片機、DSP的開發,一般都用C語言,而且C語言就夠了,極少用匯編。

我還有朋友做前端後端的,用PHP、Java之類。

因此,這個問題沒法下定論,但是,可以肯定地是:

程序員往往需要比較強的學習能力和適應性,隨時準備學習新的軟件、工具和硬件、芯片等,這個行業的特點就是發展快,但是收入和發展前景也是很好的。

因此,多掌握幾門語言確實有助於我們橫向發展和思考,而不是僅僅侷限於自己熟悉的一點Coding。

比如,你可能一輩子都用不到彙編,但該學的時候還是應該認真去了解。

紮實掌握那些平時工作用不到的專業基礎知識,形成一套全面的思維體系,就是俗稱“科班出身”的專業綜合人才。

而自學成才,只精一招,劍走偏方的人才,我們常稱之為“半路出家”。

這兩種在工作中,一般是能看出差距的。

因此,起碼專攻一門,其它該學就學,技多不壓身。


王珂


程序員的優秀和掌握多少種編程語言並沒有直接的關係,不能單純的依靠數量來決定一個人能力高低,決定高低還是內在的東西,編程思想和架構能力,所以很多人覺得有些程序員做過好多語言就佩服的五體投地,編程到了一定程度語言本質上就是一種工具,為了實現某種架構的需要,甚至可以多個語言組合,都是可以的,到來一定層面任何語言都可以當做工具對待,現實中只要掌握一門語言再去學習新的編程語言都會覺得輕鬆了許多,不是因為編程變聰明瞭,而是通過一種編程語言的學習掌握了很多編程的模式,因為不同編程語言在處理同一場景的問題思維方式是接近的,解決方法都是知道了,剩下的就是單純的熟悉語法結構,所以當然顯得學的很快了。

編程語言現在向著集成化發展,工具類的庫會越來越多,應用級別的編程會變得越來越簡單,編程功能實現向著簡單化發展,但對於編程思想的要求也是越來越高,未來科技爭取的就是人才,特別是高端的人才,現在國內程序員的存量已經超過幾百萬絕對的數目甚至比歐洲一個國家的人口還多了,但是企業還在喊著招不到人,所謂的招不到人其實是招不到高端的人才,這個國家有如此多的軟件公司,對於頂層軟件人才是求賢若渴,即使財力不濟的小公司都想盡一切辦法,弄到優秀的人才,未來的公司競爭本質上是高端人才的競爭,優秀的程序員在未來中國軟件行業的薪資還會提升。

優秀的程序員到底需要具備什麼樣子的素質,所謂優秀不單純技術層面的,是全方面的

1.強大的抗壓能力,很多程序員承受能力都一般,遇到一個不懂技術的老闆就覺得自己沒有訴苦的地方了,接收一堆代碼很爛的代碼堆,項目經理因為工作進度問題批評你了幾句,然後就有了跳槽的衝動,這類程序員一般很難有大作為,做大事就要耐得住壓力。

2.不停的升級自己編程能力,能夠跟上時代的步伐,很多老程序員覺得年齡大了會被這個行業淘汰,倒不如說是自己把自己給放棄了,不更新技能包早晚也是被淘汰的料,什麼年齡做什麼年齡的事情,不要等老了還在和年輕人比拼精力,該是用自己經驗的時候。

3.選擇大於努力,選擇一個最適合自己發展的平臺,不要一味跟著工資走,積累多了自然就有發揮的空間,很多人中間換了相當多的工作,都把自己換的滑了,靜不下心來去做事情。核心競爭力一定需要時間的積累,需要有一個很長的培養期,所以不要輕易不滿意現狀去換工作,很容易造成一種無形積累的流失,這些對於當下可能沒有多大的影響,但對未來真的非常重要,看事情起碼看五年之後。

所謂的優秀都不是說出來的,也不是靠會寫幾種編程語言就能搞定的事情,需要有規劃,有前進的方向,一定有一段忘我的付出階段,沒點工匠精神就不要談優秀兩個字。

希望能幫到你。


大學生編程指南


不在多少,只在是否重要。

一個優秀的達到系統分析與設計級別的軟件工程師,我認為至少精通下面四類語言:

1. 彙編語言。電子與計算機的基礎,軟件與硬件的接口。

2. C語言。對操作系統、算法、驅動、網絡以及其他計算機理論知識的理解的基礎。

3. 面嚮對象語言(C++/Java等)現代系統框架分析與設計的基礎。

4. 腳本語言(Shell/JS/Python/Perl等)提高工作效率,自動化開發與測試,系統管理必備。其實各種編譯和構建腳本也算在裡面,例如Makefile、automake、cmake、ant等也是必須的。

其他與自己業務相關專業語言,則是可選的。例如UML、SQL/PL、VX.Net、ASP、PHP、FORTRAN等。他們只是語法稍微不同而已,但是都是面向過程或者面向對象的,這些概念、機制、設計與實現都與上述幾種沒有多少差別。


RaymondIT


個人認為一個程序員的優秀程度與所掌握編程語言的種類沒有直接關係。列舉一個比較極端的例子:有些程序員可以用10種語言輸出“Hello world”,但仍然是一個菜鳥程序員;而有些程序員或許只精通一門編程語言,但卻可以在自己擅長的領域遊刃有餘地應對各種棘手問題。如何判斷一個程序員是否優秀,我覺得要從多個維度綜合權衡評估。包括但不僅限於以下幾個方面:

面向對象思維能力

我們知道多數編程語言都是面向對象的編程語言。而這些面向對象的編程語言的共同的精髓就是面向對象的思想。掌握這些比面嚮對象語言本身更重要,比如對繼承,多態,重載的理解。對面向對象基本原則的理解,比如開閉原則,接口隔離原則,單一職責原則等。在此基礎上,應該掌握常用的設計模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。

善於利用工具的能力

古人云:工欲善其事,必先利其器。有了趁手的傢伙,工作效率可以提升數倍。編程序,如果沒有選擇一個很好的IDE,簡直可以用自虐來形容。當然,工具是為目的服務的,好用、提高效率就行,形式其實無所謂。

不斷學習的能力

身為程序員我們首先要明白的事情就是搞編程絕對不是一勞永逸的事情。IT行業產品更迭、技術更新、市場環境瞬息萬變,原地踏步就等於落後。在深入掌握一門語言的基礎上,多掌握幾門編程語言絕對是有好處的。既可以擴充自己的知識面,同時又可以為自己的目標服務。當然學習不能僅限於技術層面,更要不斷提升自己的軟技能,比如溝通能力,表達能力等。

總之,追求技術的道路是永無止境,要想成為自己所處領域的專才,一方面需要廣泛涉獵知識,一方面需要樂於交流與協作,虛心求教。僅以此文與各位程序員共勉,希望通過努力大家都能成為十分優秀的程序員。


從不加班的程序猿


你不可能掌握所有的編程語言的,

聞道有先後,術業有專攻。

你需要做到的是觸類旁通。

因為現在是信息時代,

數據大爆炸,你的接收能力不可能一點不差的跟上,

你需要做到的是能夠觸類旁通,舉一反三。

加強自己的學習能力就夠了。

這樣遇到問題你可以快速上手,

不至於茫然。

但是前提是你必須要精的一個。

才能稱得上優秀。


百味科技


編程語言只是招式,要但是內功心法(算法,數據結構,設計模式等)修煉好了,如同打通任督二脈,學習其他的語言就事半功倍!


分享到:


相關文章: