推 joshnash:QQ 明年也會舉辦嗎 42.67.181.140 05/14 10:55
→ MOONRAKER:這跟PL和正規語言課的差別是什麼 118.163.12.174 05/14 11:37
→ MOONRAKER:上了不會考一百分 那會不會長高變美 118.163.12.174 05/14 11:38
推 suhorng:正規語言課是說 formal language 嗎 140.112.16.172 05/14 12:52
→ MOONRAKER:YEA 118.163.12.174 05/14 14:56
其實是完全不一樣的XD 一般 formal language 課程一開始總是介紹那些字串集合
的產生方式、形式語言的分類、他們的各種特性以及一些相對應的計算模型,例如
regular language/DFA、context free language/PDA,然後可能會結合 computability
以及 complexity 等內容。
這個課程的 langauge 則是指 programming languages, 關心程式語言本身的設計
與理論. 特別地, 會介紹函數式語言的概念與想法. 與一般的命令式語言不同, 我們
常聽見的 immutability、closure+higher-order function 設計和常用的 type system
源自於非常簡潔的系統.
程式語言本身的設計與理論是什麼? 並不是討論程式的語法該不該用大括弧或是該不
該作成直譯式的. 我們會關心一種設計/特性對一個語言有什麼影響, 關心一個語言
的表達能力, 關心一個語言的 type system 能保證什麼性質(呃, 最顯然的就是
"不會type error"), 當然也會討論怎麼把一種語言的「意思」說清楚 -- 相對於貼
近機器模型的語言, 現代多數語言都有較高級的構造. 除了用自然語言敘述和一個又
一個例子說明(還不知道哪天會不會發現"阿,原來不是這樣"), 我們有沒有其他方法?
好, 那這跟邏輯、形式系統又有什麼關係? FLOALC 的課程會介紹邏輯與程式的意外
關聯, 他們具有某種對應關係(不是什麼 "寫程式的人邏輯很好"). 當你我們遞迴程式
或遞迴定義的樹型資料結構, 不是常常需要用到 induction 嗎? 他們事實上是同一件
事情, 只是在不同的學科被分開來講了而已. 兩方面配合著學的話, 也可以順便瞭解
另一套不同的邏輯系統.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.107.70
※ 文章網址: http://www.ptt.cc/bbs/Programming/M.1400075658.A.82B.html
※ 編輯: suhorng (36.229.107.70), 05/15/2014 09:30:27
→ MOONRAKER:那就是PL課程的後面了 118.163.12.174 05/15 10:12
→ suhorng:後面? 這些應該不是後面@@? 36.229.107.70 05/15 10:25
→ suhorng:阿,這是PL課~ 36.229.107.70 05/15 10:29
→ MOONRAKER:就是一般PL課程帶過或沒空上的部份啦 118.163.12.174 05/15 11:40
→ MOONRAKER:60個小時實在是VERY HARD阿 上班去聽的 118.163.12.174 05/15 11:45
→ MOONRAKER:機會也很低 不過誰知道呢 也許擠一天去 118.163.12.174 05/15 11:45