翻譯自 SICP (Structure and Interpretation of Computer Programs) 原文出處: http://mitpress.mit.edu/sicp/ 原書作者: Harold Abelson and Gerald Jay Sussman, with Julie Sussman

1.1 The Elements of Programming

一個強而有力的程式語言,其意義不僅僅止於指示電腦去完成工作。他更提供了我們對於組織程式流程之想法的框架。因此,當我們在描述一個語言時,應該更加關注在這個語言如何結合簡單的想法去完成更多複雜的想法。每個有力的程式語言都有三種途徑來達成這件事:

  • 基本表達式(primitive expressions) : 關於語言最基本的實體
  • 結合之方法(means of combination) : 將較為簡單的元素結合為新的元素
  • 抽象化之方法(means of abstraction) : 將元素組合為可運用並可命名之單位

在程式設計中,我們處理的元素可分為兩類:程序(procedure)和資料(data)(之後我們會發現他們並非如此明顯的區隔)。 通俗地說,資料是我們想要操作的「原料」,而程序是我們用來操作資料,在規則之下的敘述。因此,一個有力的語言應該要能夠描述基本的資料和程序,並且提供組合及抽象化他們的方法。

在本章中,我們只處理簡單的數值資料,以便專注於那些建立程序的規則。在稍後的章節,我們會看到這些規則同樣可用以建立處理複雜資料的程序。


本翻譯必有不盡之處,懇請不吝賜教。我會不斷更新改進,謝謝!

創用 CC 授權條款
本著作由TeenSuu Lin製作,以創用CC 姓名標示-非商業性 3.0 Unported 授權條款釋出。
此作品衍生自http://mitpress.mit.edu/sicp/

見人言某語言優雅有感

有些語言可能可以說是好用.靈巧.在programmer能力值高的情況下能產出好的程式但卻很難被歸類為 “優雅”##比如說這麼一個語言混淆應屬於物件的 method 或獨立的 function甚至狂熱試圖把一切都當成物件然後鼓勵一堆人寫出 `3.times do` 這種念起來很順 …… Continue reading

[Note]Setup SSH on Fedora in VirtualBox

Published on January 30, 2015