Structure and Interpretation of Computer Programs, JavaScript Edition

From Wikipedia, the free encyclopedia
  (Redirected from )
Structure and Interpretation of Computer Programs, JavaScript Edition
SICP JS, cover detail 2022.jpeg
Cover detail
AuthorHarold Abelson and Gerald Jay Sussman; adapted to JavaScript by Martin Henz and Tobias Wrigstad; with Julie Sussman
SubjectComputer science
GenreTextbook
PublisherMIT Press
Publication date
April 5, 2022
Pages640
ISBN9780262543231
Websitemitpress.mit.edu/books/structure-and-interpretation-computer-programs-1

Structure and Interpretation of Computer Programs, JavaScript Edition (SICP JS) is an adaptation of the computer science textbook Structure and Interpretation of Computer Programs (SICP). It teaches fundamental principles of computer programming, including recursion, abstraction, modularity, and programming language design and implementation. While the original version of SICP uses the programming language Scheme, this edition uses the programming language JavaScript.

This edition features a foreword by Guy L. Steele Jr. and is scheduled for publication on April 5, 2022.[1]

Content[]

Like its original, SICP JS focuses on discovering general patterns for solving specific problems, and building software systems that make use of those patterns.[2] The book describes computer science concepts using JavaScript. It also uses a virtual register machine and assembler to implement JavaScript interpreters and compilers.

License[]

The book will be published by MIT Press under a Creative Commons Attribution NonCommercial ShareAlike 4.0 License. The text and figures are subject to a Creative Commons Attribution ShareAlike 4.0 License. The JavaScript programs are licensed under the GNU Public Licence 3.0. The original image of MIT founder William Barton Rogers in section 2.2.4 is courtesy MIT Museum.

Origin[]

The National University of Singapore (NUS) published draft editions online since 2012, and a first public release on December 13, 2019. SICP JS has been used in the course CS1101S[3] at NUS since 2012.[4]

Differences to the original textbook[]

While the book focuses on principles, models and abstractions for programming rather than specific programming languages, all examples in the original SICP are written in the programming language Scheme. SICP JS uses the language JavaScript instead of Scheme. Since JavaScript shares its functional core with Scheme, the adaptation is straightforward and mostly literal in the first three chapters. Chapter four offers new material, in particular an introduction to the notion of program parsing. The evaluator and compiler in chapter five introduce a subtle stack discipline to support return statements (a prominent feature of statement-oriented languages) without sacrificing tail recursion.

Source[]

Source is a series of sublanguages of JavaScript, originally inspired by JavaScript: The Good Parts., Douglas Crockford. It comprises the languages Source §1, Source §2, Source §3 and Source §4, corresponding to the respective chapters of SICP JS. Each language is a sublanguage of the next, and designed to contain only features needed by the respective chapter. These languages are implemented by the Source Academy,[5] a web-based programming environment that features various tools to support the readers of SICP JS.

See also[]

References[]

  1. ^ "Structure and Interpretation of Computer Programs: JavaScript Edition by Harold Abelson, Gerald Jay Sussman, Martin Henz, Tobias Wrigstad, Paperback | Barnes & Noble®". Barnes & Noble. 2021. Retrieved 2022-01-22.{{cite web}}: CS1 maint: url-status (link)
  2. ^ Harvey, B (2011), "Why SICP matters?", The 150th anniversary of MIT, Boston Globe.
  3. ^ "Department of Computer Science; CS1101S Programming Methodology". NUS. Fall 2021. Retrieved 2020-07-17.
  4. ^ "Interactive SICP JS". Source Academy. 2021. Retrieved 2021-11-04.
  5. ^ "Source Academy". NUS. 2021. Retrieved 2021-06-21.

External links[]

Retrieved from ""