聊聊編程語言學(xué)習(xí)之路

作者:I_myours
文章源自:
http://blog.csdn.net/wwh578867817/article/details/48299449

這篇文章是自己編程語言學(xué)習(xí)之路的總結(jié)(還在進(jìn)行中)品姓,因?yàn)橐膊冗^不少“坑”腹备,希望能對(duì)后面的一些初學(xué)編程語言的朋友或者希望學(xué)習(xí)其他編程語言的朋友有一些幫助,避過一些不必要的坑镀岛。

我先簡(jiǎn)單的介紹下自己學(xué)習(xí)的路線:

c -> c++ -> python -> java

我比較熟悉c和c++惧互,python和java只能說能拿來用吧喊儡,說出這個(gè)是想讓看的朋友帶著審視的眼光,畢竟水平有限买喧,比如你不熟悉c++你可以參考下我的學(xué)習(xí)過程匆赃,比如你很熟悉java算柳,那么可以不參考我的,或者將你的好的方法或不同意見貼到評(píng)論區(qū)蔗蹋,一起學(xué)習(xí)囱淋,一起進(jìn)步_

  • 開頭隨便聊聊
  • 聊聊這些語言的特點(diǎn)
  • 聊聊這些語言看什么書
  • 聊聊用什么工具編寫這些語言

開頭隨便聊聊

在我最初開始學(xué)習(xí)編程的時(shí)候皂吮,接觸的是c語言蜂筹,看的是《c 程序設(shè)計(jì)》是譚浩強(qiáng)老前輩的芦倒,起初覺得自己很笨啊,這種i++闺属,++i周霉,都不會(huì)哈哈~俱箱。

所以剛開始學(xué)習(xí)編程的時(shí)候速度也是很慢的,而且有時(shí)學(xué)到一般就學(xué)不下去了乃摹,直到我在網(wǎng)上看了一些文章跟衅,一些過來前輩的學(xué)習(xí)過程伶跷。

我知道了一本好書對(duì)你的學(xué)習(xí)來說是非常重要的

于是在網(wǎng)上買了本《c和指針》,看這本書的時(shí)候讓我有了頓醒的感覺蹈集,以前覺得迷糊的知識(shí)有些清楚了,而且了解到了更多的知識(shí)雇初。

后來學(xué)習(xí)c++的時(shí)候靖诗,就買了本《c++ primer》第四版,看了大概一個(gè)多月吧看的差不多了移盆,當(dāng)時(shí)對(duì)待課后習(xí)題的態(tài)度是大概掃一眼伤为,看著覺得自己差不多會(huì)绞愚,就過了,這種自我感覺良好是不可取的裆蒸,當(dāng)然實(shí)戰(zhàn)的時(shí)候自己嘗到了惡果糖驴,一堆錯(cuò)誤加還不熟悉這門語言。

我知道了書上的練習(xí)和課后題有多重要

自己嘗到了惡果后俺榆,咋辦装哆,重學(xué)唄,這一次下定決心重學(xué)c++萍桌,無意中在小組看到了《c++ primer》第五版凌简,學(xué)姐說是新出的号醉,我暈,這么快都出第五版了铅碍,應(yīng)該不會(huì)有什么大區(qū)別吧…胞谈,在我看了目錄后發(fā)現(xiàn)憨愉,這這這…,差這么多径密,在內(nèi)心糾結(jié)下躺孝,又整了本《c++ primer》第五版,開始學(xué)習(xí)>迕摺于个!學(xué)習(xí)過程中由于對(duì)第四版知識(shí)還有印象,所以我發(fā)現(xiàn)了第四版和第五版的差距之大捶码,c++11更新多么重大(前一陣看見一位學(xué)弟在看c++primer第三版或链,這也是我決定寫這篇文章的一個(gè)原因吧)。

我知道了過時(shí)的知識(shí)點(diǎn)就讓它過去吧,應(yīng)該學(xué)習(xí)較新的且被大眾認(rèn)可(運(yùn)用)的知識(shí)洞就。

也因?yàn)閲L到了苦頭掀淘,閱讀第五版時(shí)速度很慢革娄,敲了練習(xí)和課后題,將遇到的坑和重點(diǎn)知識(shí)都記了筆記并且記錄到了博客上匆浙,因?yàn)閏++是一門比較復(fù)雜的語言艇劫,在我忘記部分知識(shí)點(diǎn)的時(shí)候炮赦,我能夠迅速在自己的博客上找到并且想起來慌闭。

我知道了記筆記有多重要查排。

當(dāng)然記筆記是很花費(fèi)時(shí)間的一件事跋核,視自己情況吧~合是,c++學(xué)習(xí)時(shí)間比較長(zhǎng)聪全。看完了《c++ primer》后娃圆,我還看了一些其他的c++書,會(huì)在后面說到撩鹿。直到今年5月份我才開始學(xué)習(xí)python节沦,大概2周左右看完了《python核心編程》并敲了大部分課后題础爬,看的過程中非常順,感激我之前看c++作出的努力叫搁,即使很慢渴逻。

我知道了付出的努力總是值得的

下面就是做項(xiàng)目的時(shí)候要用到j(luò)ava音诫,此時(shí)我轉(zhuǎn)換了學(xué)習(xí)語言的方式纽竣,推薦一篇孟巖老師的文章:快速掌握一門語言最常用的50%

這篇文章非常好,但是適用于有類似語言基礎(chǔ)的人聋袋,類似語言基礎(chǔ)指的是比如說你會(huì)c++幽勒,這是一門面向?qū)ο蟮恼Z言港令,那么你學(xué)習(xí)python或者java就可以按照上面的來顷霹。

學(xué)習(xí)java的時(shí)候,都說《thinking in java》 好遥昧,都說學(xué)c++后學(xué)java很輕松炭臭,開始看《thinking in java》還是比較容易的,直到看到了第14章 類型信息常摧,我卡住了威创,有些真的很難理解肚豺,雖然說都是面向過程的語言,但是很多地方不一樣,并且java這門語言有自己的特點(diǎn)呛谜,如果僅僅想使用它枪萄,很容易瓷翻,二八定理,百分之百的東西我們最常用的也就百分之二十妒牙,想理解原理湘今,比如說我看看java的容器怎么實(shí)現(xiàn)的剪菱?那必須要學(xué)習(xí)一些原理的東西了孝常,此刻就沒那么容易了。

我知道了上渴,每門語言都有自己的特點(diǎn)驰贷,我們應(yīng)該找到它的特點(diǎn)來攻破它,而不是以一門語言來看其它語言次兆。

以上是我大概的學(xué)習(xí)路線芥炭,隨便聊聊恃慧,希望看完后你會(huì)有一些想法和收獲痢士。 學(xué)習(xí)本身就是一個(gè)不斷改進(jìn)和不斷進(jìn)步的過程。

聊聊這些語言的特點(diǎn)

printf("C語言\n");

個(gè)人覺得c語言作為入門的語言是非常合適的善延。

  1. 語法很簡(jiǎn)單易遣,沒有那么多語法糖嫌佑。如果第一次接觸編程的話屋摇,我覺得不要接觸封裝太“嚴(yán)實(shí)”的語言炮温,比如python,python是抽象層次比較高的語言了忘分,而且語法糖也不少妒峦,會(huì)讓我們迷失到一些語言中比較“炫酷”的東西兵睛,而忘記了一些本質(zhì),而且作為入門寫python這種寫習(xí)慣了寫c/c++會(huì)很難受的笛丙,畢竟什么都要自己來實(shí)現(xiàn)胚鸯,變量還要定義姜钳?- -,我不是說python不好辙浑,寫著方便也是解放人類嘛判呕,不適合入門而已送滞。
  2. C語言能讓我們了解到一些底層的知識(shí)累澡,語言只是計(jì)算機(jī)體系中的一部分般贼,不是說你學(xué)了語言就夠了哼蛆,還有操作系統(tǒng)腮介,網(wǎng)絡(luò)等等一些知識(shí),但是C這個(gè)除了匯編外最接近底層的語言在寫過程中能讓我們學(xué)習(xí)一些系統(tǒng)的偏底層的知識(shí)甘改,對(duì)未來學(xué)習(xí)發(fā)展是非常好的十艾。建議在linux下學(xué)習(xí)腾节。
std::cout << "C++" << std::endl;

c++是一門很復(fù)雜的語言,學(xué)好不容易康吵,用好也不容易晦嵌,對(duì)于c++而言我是不推薦快速入門的力九,快速入門只能坑自己和隊(duì)友跌前,學(xué)習(xí)c++建議靜下心來抵乓,整體過一遍,再在實(shí)戰(zhàn)中鍛煉自己茎芋。

特點(diǎn)

c++是一門面向?qū)ο蟮恼Z言田弥,但是因?yàn)橐嫒輈語言铡原,所以它不是一門純粹的面向?qū)ο蟮恼Z言燕刻,如果想學(xué)習(xí)面向?qū)ο缶幊痰乃枷肼严矗ㄗh學(xué)習(xí)java。

c++效率和性能相對(duì)來說是比較高的十绑,怎么說孽惰,python這種解釋型的語言就排除了勋功,c++開發(fā)效率比c高(STL能省你不少事),性能比java好(但是開發(fā)效率是低于java的片择,具體選擇還是看我們追求性能還是節(jié)省時(shí)間)字管。

c++適合偏底層的人員學(xué)習(xí)信不,比如后臺(tái)開發(fā)等抽活,用c語言開發(fā)效率是略底的下硕,java又都封裝好了,所以個(gè)人覺得選擇c++還是不錯(cuò)的霜幼。

c++近年來也不斷再進(jìn)步罪既,c++11/14更新了很多內(nèi)容琢感,極大提高了我們的開發(fā)效率没咙,c++17標(biāo)準(zhǔn)也在擬定中祭刚,還是蠻期待的墙牌。

System.out.println("Java");

接觸了Java后涡驮,不得不承認(rèn)Java開發(fā)起來的效率是非常高的,而且Java從事的面非常廣喜滨,學(xué)習(xí)java Web的也非常多捉捅,還有安卓等,成熟的框架和開發(fā)工具也多虽风,jdk更新到1.8棒口。

  1. java是一門純面向?qū)ο蟮木幊陶Z言寄月。學(xué)習(xí)的時(shí)候一定要切記无牵,會(huì)明白為什么這么設(shè)計(jì)這么寫漾肮。
  2. java的框架和庫以及ide非常多,善用成熟的庫和框架茎毁。
  3. 感興趣可以看看一些框架的源碼克懊,比如netty,能學(xué)習(xí)到許多東西七蜘,很多設(shè)計(jì)模式等都運(yùn)用在其中谭溉,個(gè)人感覺比較值得學(xué)習(xí)。
  4. java由于基于虛擬機(jī)JVM橡卤,所以跨平臺(tái)支持的非常好扮念。
  5. java健壯性非常好,異常體制非常完善蒜魄。
  6. 天生支持多線程扔亥,寫起多線程程序效率比較高。

print 'python'

python是一門腳本語言谈为,功能強(qiáng)大旅挤,也是庫非常多,寫起來非常簡(jiǎn)便伞鲫,開發(fā)效率高粘茄,近幾年用的人也越來越多。

  1. 語法簡(jiǎn)潔秕脓,使用起來非常方便柒瓣,比如用切片等處理字符串非常方便,不過因?yàn)槭墙忉屝驼Z言吠架,速度比較慢芙贫。
  2. 庫非常多,應(yīng)用很廣泛傍药,網(wǎng)絡(luò)爬蟲磺平,系統(tǒng)編程,web編程拐辽,數(shù)學(xué)圖形學(xué)拣挪,文本處理等等。
  3. 被稱為膠水語言俱诸,能把許多語言模塊結(jié)合到一起菠劝。
  4. 對(duì)多線程支持不好,由于GIL存在多線程只能單核運(yùn)行睁搭,不過支持進(jìn)程和協(xié)程赶诊。

水平有限笼平,上面僅僅說自己了解的一部分,不過個(gè)人認(rèn)為自己需要熟悉一門面向?qū)ο蟮恼Z言甫何,根據(jù)自己所學(xué)習(xí)的方向感興趣的方向出吹。

聊聊這些語言看什么書

要學(xué)會(huì)自己能分辨什么書好,看一本好書真的是節(jié)約自己時(shí)間罢尬埂捶牢!我一般是上豆瓣看評(píng)分評(píng)論,網(wǎng)上搜索看下評(píng)價(jià)等巍耗,再看看目錄秋麸,覺得不錯(cuò)才入手。

printf("C語言\n");

《C和指針》
《C和指針》算自己真正的一本編程啟蒙書吧炬太。

C程序設(shè)計(jì)語言
《C 程序設(shè)計(jì)語言》C語言經(jīng)典灸蟆,評(píng)價(jià)很高。

個(gè)人覺得挑一本完整看完就行亲族。

std::cout << "C++" << std::endl;

《c++

《C++ primer》第五版看的話一定看第五版炒考,想比較于第四版更新很多東西。內(nèi)容非常細(xì)霎迫,課后題也非常好斋枢,便于自己查漏補(bǔ)缺。

《effective

《Effective C++》里面是按照條款的方式列出c++的知識(shí)點(diǎn)和坑點(diǎn)以及一些技巧知给,可以作為進(jìn)階書瓤帚。

Effective STL

《Effective STL》stl是C++最重要的一個(gè)組成部分,如何用好可以看看這本書涩赢。

《深度探索c++對(duì)象模型》

《深度探索c++對(duì)象模型》也是c++進(jìn)階的一本書戈次,主要是了解c++對(duì)象的模型內(nèi)部是怎樣的。 比如你定義一個(gè)類筒扒,它內(nèi)部是如何表示的怯邪。

《STL

《STL 源碼剖析》上面的如果看完了,可以進(jìn)階這本了花墩,我自己僅僅看過一小部分悬秉,功力不夠,比較難看懂观游,主要是模板編程的技巧和數(shù)據(jù)結(jié)構(gòu)搂捧。

參考順序:c++primer -> effective c++ -> effective stl -> 深度探索c++對(duì)象模型 -> STL源碼剖析驮俗,后兩本順序隨意懂缕。

System.out.println("Java");

《Thinking in java》

《Thinking in java》絕對(duì)的好書,每一句話都值得細(xì)細(xì)品讀王凑,不過不適合入門 搪柑,需要一定的基本功聋丝。

《瘋狂java講義》

《瘋狂java講義》我看了一小部分,覺得還不錯(cuò)工碾,內(nèi)容比較易懂弱睦,不像thinking in java這種需要琢磨一下,適合入門渊额。

《Java核心技術(shù)卷1》

《Java核心技術(shù)卷1》評(píng)價(jià)也比較好况木,不過我沒有看過,已經(jīng)出到第九版了旬迹。

《Effective Java》

《Effective Java》上面其中一本看完差不多就可以看這個(gè)了火惊,java的進(jìn)階書。

thinking in java奔垦,java核心技術(shù)編程卷1屹耐,瘋狂java講義選一本看就行了,沒面向?qū)ο缶幊袒A(chǔ)椿猎,不建議看thinking in java惶岭。看過可以看看effective java犯眠。

print 'python'

《python核心編程》

《python核心編程》入門還不錯(cuò)按灶,內(nèi)容也比較廣泛,還有socket阔逼,web編程兆衅,數(shù)據(jù)庫編程等,不過錯(cuò)別字有些多嗜浮。看的時(shí)候發(fā)現(xiàn)了好幾處危融。

《python cookbook》

《python cookbook》python編程技巧大全畏铆,進(jìn)階用。

python學(xué)習(xí)手冊(cè)貌似也不錯(cuò)吉殃,基礎(chǔ)挑一本看就行辞居,進(jìn)階可以看看python cookbook。

總結(jié):

下工夫?qū)W習(xí)一門語言也是蠻費(fèi)精力的蛋勺,所以還是建議根據(jù)自己的興趣來選擇學(xué)習(xí)瓦灶,比如你喜歡java web,那么就下功夫?qū)Wjava抱完,c++和python了解即可贼陶,或者不了解也沒什么大礙。

不要貪多,尤其同時(shí)學(xué)習(xí)兩門碉怔,會(huì)亂的
不要貪多烘贴,尤其同時(shí)學(xué)習(xí)兩門,會(huì)亂的
不要貪多撮胧,尤其同時(shí)學(xué)習(xí)兩門桨踪,會(huì)亂的重要的事情說3遍

推薦這些書是自己看過,或者搜索過的芹啥。個(gè)人覺得比較好的锻离,不代表我推薦的就是好的,大家在選擇的時(shí)候可以參考墓怀,實(shí)際看還是要自己去調(diào)查纳账,多問問前輩有經(jīng)驗(yàn)的人等,看看目錄適合不適合自己捺疼,不要盲目隨便挑本就開干疏虫。

聊聊用什么工具編寫這些語言

c/c++

個(gè)人覺得是vim啦~,學(xué)習(xí)編程還是linux下好啤呼。
編譯器gcc/clang都行卧秘。調(diào)試用gdb

vim

java

比較流行eclipse,個(gè)人覺得idea也不錯(cuò)官扣。

python

寫的不是很多翅敌,我是用vim寫的。

vim配置好是非常好用的惕蹄◎卿蹋可以學(xué)習(xí)一下。

路是自己走出來的卖陵,適合別人的不一定適合自己遭顶,不過參考下還是可以的,希望能幫助到看的朋友泪蔫。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末棒旗,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子撩荣,更是在濱河造成了極大的恐慌铣揉,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件餐曹,死亡現(xiàn)場(chǎng)離奇詭異逛拱,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)台猴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門朽合,熙熙樓的掌柜王于貴愁眉苦臉地迎上來额湘,“玉大人,你說我怎么就攤上這事旁舰。” “怎么了嗡官?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵箭窜,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我衍腥,道長(zhǎng)磺樱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任婆咸,我火速辦了婚禮竹捉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘尚骄。我一直安慰自己块差,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布倔丈。 她就那樣靜靜地躺著憨闰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪需五。 梳的紋絲不亂的頭發(fā)上鹉动,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音宏邮,去河邊找鬼泽示。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蜜氨,可吹牛的內(nèi)容都是我干的械筛。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼飒炎,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼变姨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起厌丑,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤定欧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后怒竿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體砍鸠,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年耕驰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了爷辱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖饭弓,靈堂內(nèi)的尸體忽然破棺而出双饥,到底是詐尸還是另有隱情,我是刑警寧澤弟断,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布咏花,位于F島的核電站,受9級(jí)特大地震影響阀趴,放射性物質(zhì)發(fā)生泄漏昏翰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一刘急、第九天 我趴在偏房一處隱蔽的房頂上張望棚菊。 院中可真熱鬧,春花似錦叔汁、人聲如沸统求。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽球订。三九已至,卻和暖如春瑰钮,著一層夾襖步出監(jiān)牢的瞬間冒滩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工浪谴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留开睡,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓苟耻,卻偏偏與公主長(zhǎng)得像篇恒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子凶杖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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