Giter Site home page Giter Site logo

sicp-swift's Introduction

SICP-Swift

SICP with Swift 해설 프로젝트

시작하면서

Structure and Interpretation of Computer Programs 컴퓨터 프로그램의 구조와 해석

이미 번역서가 컴퓨터 프로그램의 구조와 해석 (인사이트) 나와있어서 그대로 번역을 하기 보다는 스위프트 언어를 기반으로 하는 요약과 해석을 작성하기로 한다.

이 책은 5부로 나눠져있다.

  1. 프로시저로 요약하는 방식 (Building Abstractions with Procedures)

  2. 데이터를 요약하는 방식 (Building Abstractions with Data)

  3. 모듈과 물체, 상태 (Modularity, Objects, and State)

  4. 언어를 처리하는 방식 (Metalinguistic Abstraction)

  5. 레지스터 기계로 계산하기 (Computing with Register Machines)

영문판 목차를 보려면 목차에서 확인하면 된다.

프로젝트 시작 동기

원문에서는 Lisp 언어와 같은 계통 언어인 Scheme을 기준으로 예제 코드가 만들어졌다. 다른 책에서는 JS를 기반으로 작성한 버전이 있다. JS Adaption

이와 마찬가지로 이 글의 목표는 스위프(Swift) 언어를 기준으로 예제를 작성하고, 해설하는 것이다. 대부분 설명과 내용은 번역서를 통해서 읽어도 충분하지만, Lisp 이나 Scheme과 같은 함수 언어에 대한 경험이 없는 사람이 많다. 단지 Lisp이나 Scheme에서 표현하기 어려운 부분도 있기 때문에 JS버전도 공존하는 것 같다.

스위프트는 처음 배우는 사람들에게도 어렵지 않게 책의 내용을 설명하기에 적합한 언어라고 생각한다. 그래서 이 프로젝트를 진행하기로 한다.

라이센스

원문 책의 라이센스가 CC BY-SA 4.0 으로 작성되어 있다.

This is work is licensed under a Creative Commons 
Attribution-ShareAlike 4.0 International License. (CC BY-SA 4.0)

이 글의 라이센스도 마찬가지로 CC BY-SA 4.0을 따르기로 한다.

sicp-swift's People

Contributors

godrm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.