如何快速學習一門編程語言?

學過一些C++,想多學一些語言,不知道從何處開始會更高效?


才「學過」一門語言,學第二門語言是不可能高效的。但是我有辦法讓你在學完五六門語言之後,剩下的語言無論多難都能最多半天掌握並熟練使用(僅限語言本身),只需你看完下面的幾本書:

《Parsing Techniques》

《類型與程序設計語言》

《程序設計語言理論基礎》

以及事先掌握一下語言:

C++、Haskell、Prolog、Ruby。

掌握跟學過可不一樣,你就算不記得也要曾經理解過每一個細節。

為什麼這麼說呢,只有你吧人類現存的編程語言的所有重要特徵都理解了,以後學習子集才可能高效起來


輪子哥的只需還是要求很高,可以先看看 孟岩的這篇文章:快速掌握一個語言最常用的50%


思想:

用舊的知識解釋新知識,用新知識練習舊知識

百試百靈


這個問題需要分兩種情況。

1、你已經精通或者熟悉一門語言。這時最快速的學習一門新語言的方法是找一本不超過100頁的教程,看完後直接找一個用這種語言開發的項目,在原來的基礎上升級。

2、如果你不熟悉任何一門語言,快速學習一門新語言的方法是不存在的,或者說最快的方法是你先熟練掌握一門語言。。。


首先所有程序語言最基本核心的都是在做這幾件事情:

計算

加減乘除與非(+-*/!)

邏輯判斷分支

if,else,switch

重複

簡單地for,while循環重複

用函數來進行重複利用

遞歸重複利用

用類進行重複利用

用繼承對類進行重複利用

你已經有了C++ 的基礎,可以從上面的角度與總結,然後撇開C++ 本身的細節,用上面的框架思考問題的解決方法。

學習其他的語言無非就是對上面基本框架的實現,找本相關程序語言的書,對照上面的語法規則看上面框架的實現的具體語法規則,然後寫寫代碼,基本上就可以入門。

剩下的就是細緻末節的熟練問題。

更詳細的看Terry Xiong給的鏈接。


Learn X in Y Minutes: Scenic Programming Language Tours


給不了建議,分享下想法而已。我認為語言始終是工具,不注重對演算法啊,數據結構啊,計算機原理啊等編程基本功的學習單純在多種編程語言間摸索的方式是學不好任何一門語言的。


就新的學習一門自己不知道的知識,我想很多人除了想要行動以外,更多的就是一頭霧水,所以我們想要到知乎來問個清楚,不能自己什麼都不知道就瞎弄。搞清楚再下手也不為過。我不知道上面的那位答主哪裡來的那麼些個大道理,大家只是想要問問該從哪裡入手,知之道之,不知道什麼時候開始,簡單的邏輯已經滿足不了回答的需求,非要羅列些個朋友間的事冷嘲熱諷一頓後再講事,看到最後也沒有一本實用教材,不懂才問,麻煩梳理下知識鏈條再回答好么。


個人感覺要先看基本語法相關信息,然後看編程實例,最後要常編程才行


推薦閱讀:

如何通過 GitHub 加入開源項目?
如何閱讀別人的代碼?
如何較好地理解別人寫的程序?
什麼是真正的程序員?
python3.4寫好的.py文件如何打包成exe?

TAG:學習 | 編程語言 | 編程 | 計算機 |