第一門(mén)編程語(yǔ)言選什么好岂却?

作者 謝恩銘。轉(zhuǎn)載請(qǐng)注明出處署浩。
原文:http://www.reibang.com/p/c2b85495cea6

內(nèi)容簡(jiǎn)介


  1. 前言
  2. 建議
  3. 入門(mén)推薦
  4. 分析
  5. 總結(jié)

1. 前言


現(xiàn)在 IT 行業(yè)越來(lái)越火爆筋栋,許多朋友都愿意入門(mén)「挨踢」器联,噢婿崭,不,當(dāng)程序員渣磷。

那么問(wèn)題來(lái)了醋界,對(duì)剛接觸這個(gè)領(lǐng)域的新人來(lái)說(shuō)提完,選什么語(yǔ)言作為第一門(mén)語(yǔ)言呢?這是很關(guān)鍵的問(wèn)題逐样,因?yàn)檫@很可能決定了這位新人是「從入門(mén)到繼續(xù)」還是「從入門(mén)到放棄」打肝。

2. 建議


我推薦:或者從 C 語(yǔ)言入門(mén),或者從 Python 入門(mén)争便。當(dāng)然滞乙,也不排除從 Java 入門(mén)。

這里又得分情況來(lái)說(shuō):

  1. 如果你只是想用編程來(lái)完成一些簡(jiǎn)單的任務(wù)斩启,目標(biāo)不是深入技術(shù),那么選 Python炕置。有很多好處男韧,入門(mén)快,成就感來(lái)得快甚纲,高效好用介杆。

  2. 如果你要深入編程韭寸,想成為技術(shù)專(zhuān)家,那么選 C 語(yǔ)言赴背。

  3. 如果你還不清楚自己的未來(lái)發(fā)展方向晶渠,那請(qǐng)先弄清自己想要做什么再來(lái)學(xué)編程。如果實(shí)在是前路迷茫便瑟,懵懂未知到涂,那么從 C 語(yǔ)言入門(mén)爽彤。因?yàn)槟惆?C 語(yǔ)言學(xué)了,你會(huì)發(fā)現(xiàn) Python 入門(mén)太簡(jiǎn)單了往核;反之不然嚷节。

3. 入門(mén)推薦


  • 如果你選 Python 作為第一門(mén)編程語(yǔ)言虎锚,請(qǐng)看我的 最近迫切應(yīng)學(xué)的編程語(yǔ)言 這篇文章窜护,說(shuō)的就是 Python 的好處和入門(mén)建議柱徙。

  • 如果你選 C 語(yǔ)言作為第一門(mén)入門(mén)語(yǔ)言奇昙,雖然開(kāi)始會(huì)有些「疼痛」,但是至久必成為你的幫助羊初。請(qǐng)看我的 《C語(yǔ)言探索之旅》 系列教程來(lái)入門(mén)什湘。也可以看《C Primer Plus》這本書(shū)來(lái)入門(mén)闽撤。

4. 分析


總結(jié)一下 C 語(yǔ)言作為第一門(mén)編程語(yǔ)言的好處:

1. 基礎(chǔ)深厚

現(xiàn)在你看到的大部分編程語(yǔ)言都是借鑒了 C 語(yǔ)言或者用 C 語(yǔ)言寫(xiě)成的,比如 Java柳恐,C++热幔,C#绎巨,Python蠕啄,Go,JavaScript和媳,Objective-C留瞳,Swift骚秦,PHP璧微,Perl前硫,等等荧止。

幾乎所有的操作系統(tǒng)都用到了 C 語(yǔ)言,比如 Windows嗤详,Unix瓷炮,Linux,macOS苍狰,iOS淋昭,Android安接,等等。

可以說(shuō)歇式,C 語(yǔ)言影響了全球的計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)胡野。改編《指環(huán)王》的經(jīng)典臺(tái)詞就是「One language to rule them all」(意思是“一門(mén)語(yǔ)言統(tǒng)領(lǐng)其他語(yǔ)言”)(《指環(huán)王》原來(lái)的詩(shī)是「One ring to rule them all」(意思是“一枚戒指統(tǒng)領(lǐng)其他戒指”))。

當(dāng)然了龙巨,C 語(yǔ)言最初是用 B 語(yǔ)言寫(xiě)的旨别,但今天卻幾乎沒(méi)有人在用 B 語(yǔ)言了汗茄。可見(jiàn) C 語(yǔ)言的飛躍胆屿,其源碼設(shè)計(jì)之精良。

當(dāng)時(shí)的程序員(如 C 語(yǔ)言之父 Dennis Ritchie 丹尼斯.里奇)真的是超級(jí)厲害环鲤,我這種程度實(shí)在連遠(yuǎn)眺都看不到他們的項(xiàng)背啊憎兽。

2. 難度適中


C 語(yǔ)言比 Python,Java 之類(lèi)難入門(mén)西剥,但是比 C++ 簡(jiǎn)單很多瞭空。

我覺(jué)得 C++ 不適合作第一門(mén)編程語(yǔ)言疗我,太復(fù)雜,東西太多旧找,基本就是「從入門(mén)到放棄」麦牺。要學(xué) C++ 最好等入門(mén)編程之后。當(dāng)然魏颓,如果你一定要用 C++ 作為第一門(mén)編程語(yǔ)言潮秘,我也沒(méi)資格反對(duì)枕荞。

相比之下躏精,C 語(yǔ)言的難度適中鹦肿,也沒(méi)有那么可怕。最讓人害怕的指針瞭吃、位運(yùn)算(嵌入式里面比較多左移右移,需要數(shù)學(xué)功底還可以股冗,不然那些十六進(jìn)制和蚪,二進(jìn)制會(huì)讓人頭暈的)、自定義數(shù)據(jù)結(jié)構(gòu)怯疤、內(nèi)存分配什么的集峦,其實(shí)也還好抠刺,熟能生巧。

3. 嵌入式的主要語(yǔ)言


C 語(yǔ)言在嵌入式領(lǐng)域算是舉足輕重了凯沪,特別是涉及到比較底層的嵌入式买优,當(dāng)然你說(shuō) Python 也可以用于樹(shù)莓派這樣的開(kāi)發(fā)板,但是你不會(huì) C 語(yǔ)言的話烘跺,一般去應(yīng)聘嵌入式的工作還是比較困難的滤淳。

現(xiàn)在這個(gè)時(shí)代砌左,隨著可穿戴設(shè)備和其他設(shè)備日益普及,嵌入式的前景肯定不錯(cuò)屁擅。

我個(gè)人認(rèn)為:人工智能和嵌入式(物聯(lián)網(wǎng))是之后比較火熱的領(lǐng)域产弹。

要入門(mén)和提高嵌入式,可以參看我的這篇文章:什么是嵌入式編程胶果?如何入門(mén)和提高早抠?

4. 理解計(jì)算機(jī)


作為程序員,如果你想要進(jìn)階為高級(jí)甚至偉大乃至史詩(shī)級(jí)別的程序員吼过,一定得對(duì)計(jì)算機(jī)原理咪奖,編譯原理等等有所了解。

C 語(yǔ)言雖然也算是高層語(yǔ)言趟佃,但相對(duì)于 Python昧捷,Java 等,C 語(yǔ)言更接近底層序矩。

入門(mén)了 C 語(yǔ)言簸淀,你會(huì)對(duì)計(jì)算機(jī)的內(nèi)存毒返、寄存器等原理有一定了解(推薦之后閱讀 《深入理解計(jì)算機(jī)系統(tǒng)》 這本書(shū),里面的示例代碼是用 C 語(yǔ)言寫(xiě)的)劲绪。

如果有時(shí)間盆赤,最好也入門(mén)一下匯編語(yǔ)言,可以參看我寫(xiě)的文章:學(xué)習(xí)匯編對(duì)編程有什么幫助祷安?如何學(xué)習(xí)

我學(xué)生時(shí)代就是先學(xué)了 C 語(yǔ)言,然后跟著清華大學(xué)王爽老師的《匯編語(yǔ)言》(那時(shí)是第二冊(cè),現(xiàn)在已經(jīng)是第三冊(cè)了吧)學(xué)了匯編霍骄,特別淺顯易懂淡溯,寫(xiě)得很棒。學(xué)完之后米间,發(fā)現(xiàn)對(duì)內(nèi)存膘侮,位移,寄存器等等操作都有了撥云見(jiàn)霧的認(rèn)識(shí)逻锐,會(huì)感覺(jué)自己慢慢地領(lǐng)悟了編程昧诱。

5. 學(xué)完 C 語(yǔ)言后學(xué)其他語(yǔ)言會(huì)很快


這點(diǎn)我深有體會(huì)所袁,我自從借 C 語(yǔ)言入門(mén)了編程之后,后面再學(xué)習(xí) Java蜈亩,PHP局劲,C++(還是有點(diǎn)疼痛的,誰(shuí)讓 C++ 這么龐雜...)药有,Python愤惰,Kotlin赘理,等等就很容易了。

因?yàn)榻?jīng)過(guò) C 語(yǔ)言的磨礪奠旺,你的編程思維能力已經(jīng)比較不錯(cuò),關(guān)于數(shù)據(jù)結(jié)構(gòu)和算法等可以通過(guò)做練習(xí)和個(gè)人項(xiàng)目來(lái)進(jìn)行响疚。

當(dāng)年我一開(kāi)始接觸 C 語(yǔ)言,感到比較難装诡,就退避了鸦采,改去學(xué) Java咕幻,結(jié)果也不得要領(lǐng)。直到我后來(lái)轉(zhuǎn)而去用 C 語(yǔ)言入門(mén)編程咱旱,學(xué)會(huì)了 C 語(yǔ)言之后绷耍,學(xué) Java 變得順風(fēng)順?biāo)?/p>

之后你如果要進(jìn)階 C 語(yǔ)言,推薦看看《C專(zhuān)家編程》诸典,C 語(yǔ)言之父寫(xiě)的《C程序設(shè)計(jì)語(yǔ)言》(不是譚浩強(qiáng)那本《C語(yǔ)言程序設(shè)計(jì)》狐粱,那本不推薦看)胆数,《C陷阱和缺陷》,中國(guó)人寫(xiě)的《C語(yǔ)言深度解剖》蒋搜。讀完這些判莉,做完里面的練習(xí),你的 C 語(yǔ)言的水平就已經(jīng)很不錯(cuò)了帮哈。

當(dāng)然了锰镀,如果你不是做嵌入式等對(duì) C 語(yǔ)言水平要求比較高的領(lǐng)域咖刃,那沒(méi)必要把 C 語(yǔ)言學(xué)那么深僵缺。

借助 C 語(yǔ)言入門(mén)編程之后可以學(xué)學(xué) Java,Python翠胰,Kotlin,Go 語(yǔ)言(Go 語(yǔ)言被稱(chēng)為 21 世紀(jì)的 C 語(yǔ)言)等比較被看好的語(yǔ)言斤富。

當(dāng)然锻狗,PHP 這樣「世界上最好的語(yǔ)言」也是比較簡(jiǎn)單的。PHP 的語(yǔ)法和 C 語(yǔ)言比較類(lèi)似油额,畢竟 PHP 的解釋器是用 C 來(lái)寫(xiě)的嘛刻帚。

5. 總結(jié)


有一點(diǎn)需要注意,就是學(xué)習(xí)編程語(yǔ)言掂僵,千萬(wàn)不要貪多而不精锰蓬。應(yīng)該先學(xué)精一門(mén)語(yǔ)言眯漩,之后再去涉獵其他的。

畢竟編程語(yǔ)言之間冯勉,基本的邏輯摹芙,條件語(yǔ)句,循環(huán)語(yǔ)句交胚,類(lèi)或結(jié)構(gòu)體,都是互通的蝴簇。一般來(lái)說(shuō)熬词,一通則百通。

有些朋友可能一門(mén)編程語(yǔ)言還沒(méi)入門(mén)或精通呢歪今,就想要蜻蜓點(diǎn)水般去學(xué)新的語(yǔ)言颜矿,這樣最后什么也不能精通。

祝大家還沒(méi)入門(mén)編程的可以早日入門(mén)田篇,已經(jīng)入門(mén)的技術(shù)日益精進(jìn)(需要學(xué)學(xué)面向?qū)ο笏季S泊柬,架構(gòu)坡疼,設(shè)計(jì)模式,數(shù)據(jù)結(jié)構(gòu)和算法闸氮,等)教沾。

要知道現(xiàn)在 IT 行業(yè)可是薪資很不錯(cuò)的,而且未來(lái)前景絕對(duì)不堪憂或悲,畢竟人工智能還要我們來(lái)編寫(xiě)和操控堪唐。

好了,我去繼續(xù)學(xué)習(xí)了男公,下次見(jiàn)~

才疏學(xué)淺合陵,文章中若有錯(cuò)繆或漏說(shuō)的澄阳,歡迎留言指正補(bǔ)充碎赢。我也會(huì)更新文章速梗。謝謝!


我是 謝恩銘峦嗤,終生學(xué)習(xí)者屋摔。
熱愛(ài)生活钓试,喜歡游泳副瀑,略懂烹飪。
人生格言:「向著標(biāo)桿直跑」

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末挽鞠,一起剝皮案震驚了整個(gè)濱河市信认,隨后出現(xiàn)的幾起案子嫁赏,更是在濱河造成了極大的恐慌油挥,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件攘乒,死亡現(xiàn)場(chǎng)離奇詭異则酝,居然都是意外死亡负饲,警方通過(guò)查閱死者的電腦和手機(jī)喂链,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)椭微,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蝇率,“玉大人刽沾,你說(shuō)我怎么就攤上這事」荆” “怎么了布蔗?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵纵揍,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我璧榄,道長(zhǎng)吧雹,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任腊脱,我火速辦了婚禮陕凹,結(jié)果婚禮上鳄炉,老公的妹妹穿的比我還像新娘。我一直安慰自己佑女,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布摸吠。 她就那樣靜靜地躺著寸痢,像睡著了一般紊选。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上献烦,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天巩那,我揣著相機(jī)與錄音此蜈,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛杠园,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播陈醒,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼钉跷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼肚逸!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起膝晾,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤血当,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后落恼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體离熏,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡撤奸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年胧瓜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片府喳。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡钝满,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出孔轴,到底是詐尸還是另有隱情碎捺,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布晋柱,位于F島的核電站雁竞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏碑诉。R本人自食惡果不足惜势腮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一捎拯、第九天 我趴在偏房一處隱蔽的房頂上張望盲厌。 院中可真熱鬧祸泪,春花似錦、人聲如沸懂扼。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至间坐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間劳澄,已是汗流浹背蜈七。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留溯警,地道東北人狡相。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓尽棕,卻偏偏與公主長(zhǎng)得像彬伦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子回官,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • TITLE: 編程語(yǔ)言亂燉 碼農(nóng)最大的煩惱——編程語(yǔ)言太多歉提。不是我不學(xué)習(xí),這世界變化快版扩! 有時(shí)候還是蠻懷念十幾侄泽、二...
    碼園老農(nóng)閱讀 5,296評(píng)論 2 35
  • 一方筮白閱讀 164評(píng)論 0 1
  • 困難時(shí)暫時(shí)的悼尾,陽(yáng)光總在風(fēng)雨后。 感賞老公今天又加入了我晚上的健走鍛煉未状,雖然他只走了3公里但我還是感賞他,總比在沙發(fā)...
    燦爛陽(yáng)光1閱讀 189評(píng)論 0 1
  • 卓卓自一歲開(kāi)口說(shuō)話娩践,一直算是同齡人中的口齒伶俐咖翻伺。周末繪畫(huà)課上的作品分享自是不在話下沮焕。然而,最近卓卓的作品分享的故...
    哈木奇閱讀 874評(píng)論 0 0