6.00 Introduction to Computer Science and Programming lec1

來源:互聯網
上載者:User

6.00 是MIT CS的入門課程,面向沒有多少編程基礎的人。從前學過一次,現在再學一遍,主要是為了學習Python。

第一課主要介紹電腦的一些基礎知識,內容雖淺但邏輯清晰,涵蓋了很多重要的問題。

1. Declarative Knowledge vs Imperative Knowledge

Declarative風格:首先聲明一些規則,類似於啟發學習法程式,這個可以從Lisp - AI上找到此程式風格的分支,90年代曾經紅極一時,當初日本成為AI的中心,雄偉的五代機計劃似乎要將美帝踩到腳下。隨Google等公司大量使用函數式編程風格解決並行計算並投入巨大資源研究AI,相信我們未來能從Declarative風格中挖掘出更多寶藏。

Imperative風格:發出一系列指令,這個目前應用最廣。Shell、C、Java等都是這個風格。由於其可控,因此其主導地位在這個時代是不可動搖的。

2. Stored Program Computer

簡單說,就是指令和資料摻在一起的體繫結構。(Treat instructions and data as the same thing)

過去曾有過指令流和資料流分開的機器,但目前幾乎所有的機器都是Stored Program Computer. 將兩者混合的好處我記不清了,我自己能想到的是降低控制難度,提升速度和使遞迴成為體繫結構的一個特色。課程上講這種方式更為靈活,可以處理使用者自訂的程式,看來我沒有想到點子上。

\

3. Syntax, Static Semantics, Semantics

瞭解過編譯原理的人可能很容易分清Syntax和Semantics,可Static Semantics是什麼可能就需要學過那們課程才知道。

Syntax: 文法,例如:指令可以操作資料,因此1/'a'在文法上是對的,1和'a'都是資料,可以被/處理

Static Semantic: 那段字串具有語義,例如1/'a'就不能通過static Semantic檢查,因為這是沒有語義的。

Semantic: 語義

4. Compiled vs Interpreted

自然這個是少不了的,這個話題可大可小,這裡就不多說了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.