如何從粗通一門編程語言到精通一門?

類似於java、C、C++普遍在大學裡教學的編程語言,如何可以算的上是【精通】。以及一個普通的計科大學生級別的粗通,如何可以變成這樣的精通。


不識廬山真面目,只緣身在此山中,應該多學幾門語言來給自己靈感,有助於看清楚XX特性為什麼放到XX語言里,其考慮是什麼,有什麼利弊;以及怎麼實現(怎麼翻譯到更「低級」的語言,比如帶class的語言翻譯到不帶class的,帶template的翻譯到不帶template的,帶type class的翻譯到不帶type class的,等等)

學點Lisp/Haskell/Prolog之類的東西,反過來對「精通」C++/Java等大眾語言很有助益。當然也有可能學了之後就不想回來了,有些語言的學習者黨性比較強,比如Haskell

推薦一本書:Masterminds of Programming - O"Reilly Media,一些編程語言創始人的訪談錄,很有意思。


java 的話不太清楚,C 是簡化過的彙編,C++ 的話:


時間


我來補充,java的話是:

1、java語言本身

2、java的類庫

3、java的各種工具

4、java的各種架構

5、jvm上面的各種語言

6、jvm本身

7、學習C++

沒辦法,主流的jvm還是用C++寫的……


首先要怎麼定義精通 我現在只敢說熟悉


推薦閱讀:

哪一種計算機語言最適合入門?是C語言嗎?可是我覺得指針難死了!?
各位覺得主流編程語言中哪個編程語言最容易學習?
有什麼好的 Haskell 中文書籍?
關於C語言中漢字排序的問題?
LABVIEW 有哪些反人類的編程特性?

TAG:學習 | 程序員 | 編程語言 |