一、緣由
每個大學的計算機生應該都或多或少的學過Java、C、C++,我還學習delphi(必修課,不修不行,這門語言現在基本沒什麼市場),畢業後又學習了python。按理說學習過這麼多語言,對程序設計語言應該很瞭解纔是,但是很慚愧,基本只是處在會使用階段,只在語言的皮毛間徘徊,對語言核心的部分一直一知半解。相信有些從事工作好幾年的工程師也未必會對這個語言的核心部分有很多瞭解。
最近看了王垠的blog(如何掌握所有的程序語言)有些啓發,這是他的blog地址,有興趣的可以去看看http://www.yinwang.org/blog-cn/2017/07/06/master-pl
他的觀點是要
- 重視語言特性,而不是語言
- 掌握關鍵語言特性,忽略次要特性
- 合理的入門語言
又看了另外兩篇:如何學習一門編程語言
- https://cloud.tencent.com/developer/article/1063973
- https://cloud.tencent.com/developer/article/1119478
所以後面又找了這本書籍來看,有些啓發。
二、讀書筆記
該代碼之髓的讀書筆記,以目錄做出的思維導圖。
程序設計語言的一些學習核心要點:
1、如何高效地學習語言:在比較中學習、在歷史中學習、在實踐中學習
2、程序設計語言有3個方面的因素,即語法、語義和語用。
語法即規則:
語義即字符串含義
3、以下基本是每個程序都會包括的部分,如果某些語言沒有,也會有類似的概念:
程序的流程控制、函數、錯誤處理、名字和作用域(變量名)、類型、容器和字符串、並行處理、對象與類、繼承與代碼再利用。