新手如何選擇開發語言?

開發語言

開發語言很重要!!!

在我還是小白的時候,經常聽公司里老鳥們叨叨各種開發語言,最后幾個老鳥總會把話題落在 “討論這個沒意義,開發語言不重要,最重要的是邏輯”,然而10年的開發經歷讓我覺得,開發語言對于一個程序員來說非常重要,甚至可能會左右一個程序員的職業規劃。

“開發語言不重要”這句話,也許應該換個方式理解為“每種語言都各有特點,各得其所”。因此,不同的語言確實不太適合在某一個特點上進行比較。

比如動態語言Javascript,PHP、Python 用來與語言Java、C++、Golang進行比較性能、開發效率都是不公平的。

關于靜態語言與動態語言

動態語言被發明出來本來就是為了提高開發效率,降低學習門檻,讓更多的人能夠最快的掌握并使用它們;為了降低難度,動態語言通常都使用解釋器執行動態語言,犧牲了性能。

我認識的支持動態語言的人中絕大部分都深信計算機的發展會讓語言對性能的影響變得微乎其微,而開發效率和難易程度直接影響產品投入市場的時機以及團隊成員相互配合的深度,開發語言設計出來本就是為了提高開發效率、降低開發門檻,如果一味注重性能何不直接使用匯編語言?

支持靜態語言的人則認為,靜態語言不僅效率高,而且結構非常規范,便于調試,類型安全更有利于保障運行時的穩定性;目前大部分靜態語言的語法已經非常簡單易用,搭配合適的IDE開發效率并不比動態語言差;靜態語言運行效率更高,更高的效率能夠提高軟件工作瓶頸,在互聯網軟件高頻、高并行的需求下,任何性能的優勢都能帶來極大的好處。

相信我,很多關于語言的爭論在程序員中間非常激烈,甚至有一些社區里關于開發語言的爭論已經接近狂熱的宗教偏見,本文只是以動態語言和靜態語言舉例,現實中很多關于語言的爭論是間于某一種語言與其他語言的,所以實際情況復雜很多,如果你是一名新手,并且很不幸的看到了這些爭論,可能會讓你陷入迷茫。

新手如何選擇第一門開發語言

首先,從我自己的經驗以及身邊認識的程序員的真實情況來看,從事軟件開發只掌握一門開發語言是不可能的;絕大多數程序員至少學過3種開發語言,不過肯定有1種比其他的掌握得更深入更精通。

在有經驗的程序員眼里,不同的語言就如同木匠手中不同的工具,在項目中的不同部分使用最適合的工具。

對于新手而言,可能這有一些困難,不可能在短時期內掌握太多語言,并且也不推薦新手這樣做。更好的方法是先學習一門自己最容易學習的語言。

找到“最容易學習”語言最常見的方法是看看身邊的程序員(可能是你的朋友、同事、前輩、學長)他在用什么語言。

對于新手而言,語言的學習是一個辛苦的過程,從一無所知到成為高手需要長時間的練習,如果身邊有一個有經驗的前輩,他可能會讓你學習起來少走很多彎路,并且你可以從他身上很清楚的看到你學習這門語言后能夠做什么,即便在你還什么都寫不出來的階段。

有一種情況是你身邊有足夠多的選擇,這時,對于新手最好可以先從一門動態語言開始你的程序員人生。

前面說過,動態語言的好處就是入門門檻低,學習速度快。很多人還在學習階段可能就打退堂鼓了,選擇動態語言可以花盡量少的時間體會到開發的樂趣,更快的知道用計算機語言編寫程序是什么滋味,或者讓你更快的勝任一個工作崗位。

所以:

  1. 看看身邊的朋友、同事、前輩在用什么語言,跟他學
  2. 如果他們使用的語言中有動態語言(例如JavaScript、Python、Lisp、PHP),那么試試先從這些語言學起。

看到這里,也許你會覺得我要說的是新手選擇語言“從身邊人著手、從動態語言著手”,主要與個人際遇相關,語言本身根本不重要。

別誤會,我的觀點依然是“語言很重要”

想當壽司師傅,至少得先吃幾頓日本料理吧;想當賽車手至少得先開過幾次車吧;在開始你的程序生涯前,至少能寫點代碼運行起來吧。(大多數程序員心中埋下的那顆種子都是從一句簡單的腳本開始的,或則一個指令,甚至是游戲里的指令,比如 show me the money, black sheep wall

開發語言如何影響程序員的?

說說我的個人經歷。

在我學會第一門語言:ASP(當時挺流行),并開始用它做一些有興趣的事情后,它漸漸的不再滿足我的需要,當時的我想學會一門能夠開發桌面應用的語言(ASP是專門用來開發動態網頁的腳本語言),于是學習了C#,之后微軟推出.Net框架,C#可以同時開發ASP.net這樣的Web應用,又可以開發Windows環境下的桌面應用和服務端控制臺程序,這讓我非常滿足,當時的我沉浸在C#給我帶來的好處。大概5年之后,由于工作的原因,我手上負責的項目客戶要求在Linux服務器上運行。當時我并不愿意,Windows服務器雖然飽受詬病,但是我能夠熟練的配置和使用,可以節省很多時間,而且我很討厭面對Linux服務器黑黑的終端界面,不過如果項目能夠運行在Linux服務器上不僅可以大大提高中標機率,客戶還愿意為之付出更多的報酬。

我不得不學習Java,并用它完成了那個項目,逐漸的我發現,Java也非常不錯,雖然沒有C#那么多微軟預設好的解決方案,需要依賴很多第三方的包;剛開始花費不少時間去掌握這些第三方的包并學會搭配它們,但是也正是因為Java生態環境,讓我逐漸的喜歡上了它。然而之后的事情改變了我之前接近7年對軟件開發的理解。

我不再迷信于某一種開發語言,慢慢的我有意識的去學習在不同領域表現優秀的語言,C++、JavaScript、PHP、Lua、Python、Lisp、Golang、Rust、Swift,有的深入,有的淺嘗,每一種語言的存在都是有道理的。

語言的適用性并不是說哪些語言擅長哪類項目,當今開發語言的發展來看,很多開發語言的功能是交叉的,例如原先只用來做Web前端腳本的JavaScript現在可以通過Node.JS開發服務端軟件、桌面軟件,也可以通過Hybrid或React Native開發手機應用;Python隨著版本的不斷更新,開發大型服務端程序案例也越來越多;C#將能夠運行在Linux操作系統上(6年前如果能的話,如今可能我不會寫這篇文章)、Swift同樣也可以開發服務端軟件而不只是IOS軟件;各種開發語言都不甘落后,進化自己使其可以做更多的事情。

那么,開發語言的選擇在今天已經不僅是根據你要開發什么項目,而可能需要考慮更多的因素。

  • 團隊成員擅長什么?
  • 你所在的城市哪種開發人員更好找?
  • 你的團隊希望吸收的精英擅長什么語言?
  • 你想購買的云服務支持哪些語言
  • 你所從事的領域的最著名的開源項目使用的哪種語言?

包括但不限于以上因素都可能是如今你考慮學習、使用第二門開發語言的因素,不再是僅僅討論哪門語言擅長做什么這么簡單了。

選擇多不等于不重要

是的,現在新手也成為一名程序員可以選擇的開發語言比過去多多了,而且每一門開發語言都很優秀,正因為如此,開發語言的選擇比過去更加重要,需要考慮更多因素。

歡迎大家簡書或我的個人博客與我交流

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,885評論 6 541
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,312評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,993評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,667評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,410評論 6 411
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,778評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,775評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,955評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,521評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,266評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,468評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,998評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,696評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,095評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,385評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,193評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,431評論 2 378

推薦閱讀更多精彩內容