工作中使用的語言一直是C++,雖然曾經因項目需要用過一段時間的C#,但畢竟只是為了應用,只是大概的瞭解,沒有深入的學習。但我知道C#是在C++的基礎上發展出來的一門新的語言,拋開其.NET平台不說,其語言在文法語義上的設計都有其優越性。如果熟悉C#,在用C++編程設計時可以從其借鑒不少。(比如說,OOD中的針對介面編程原則,在C++中並沒有特定的文法來限制它,雖然我們可以用一個純抽象類別來表示一個介面,但C#則直接給了我們介面這種類型)
所以說,應該好好學學C#這門先進的語言了。因為當年學C++時養成的習慣, 一開始會找一本簡單一點的教材, 從頭至尾認真學習實踐下來,然後再看一些進階,深入一些的書。所以我的選擇是清華大學出版社的<<C#程式設計語言程式設計與開發>>,篇幅不大,內容不深,比較適合現在的我學習。
下面是第一章的學習筆記。
第一章:程式設計語言的發展
程式設計語言包含一套完整的文法和語義規則。至今人們已建立了1000多種程式設計語言
1 機器語言與程式設計語言
1)低級語言
低級語言指的是機器語言和類似機器代碼的組合語言,其雖然執行效率高,但可讀性,可移植性差,且編程效率低
2)進階語言
進階語言指的是與機器無關的語言。其文法和結構類似於自然語言,且遠離對硬體的直接操作。具有良好的可讀性,可移植性,一般伴有高可用性的程式庫和錯誤檢查功能。
2 程式設計模式
1) 命令式程式設計(Imperative Programming)
又叫面向過程的程式設計,如C, Pascal
2) 函數式程式設計(Functional Programming)
著重於函數運算式的求值而不僅僅是命令的執行。如Lisp
3) 物件導向的程式設計(Object-Oriented Programming)
這也是一種軟體設計方法學,其主要思想是根據對象的類來構造程式, 如C++, Java, C#
4) 邏輯程式設計(Logical Programming)
也叫約束程式設計,其強調的是計算的邏輯屬性而不是計算的步驟和過程,如Prolog(應用於人工智慧)
程式設計語言的發展趨勢是語言的通用化, 並不斷降低程式設計的複雜度。