이번에도 한당
졸라 요약한거니까 이것만 보고 SICP 다봄 ㅎㅎ 이러면 안 됨 ㅋ
SICP를 읽으신 분들이 많은 거 압니다.
이상한 부분은 지적해주세요
수업 요약임
책을 읽어감에 따라 업데이트 될 수 있음
COMPUTER SCIENCE는 HOW-TO에 관한 학문이다.
어떤 일을 어떻게 하는지를 논한다.
우리는 "어떻게 하는가?" 에 대한 지식을 formalize한다.
그런데 진짜 문제는 HOW-TO가 아니다.
진정한 문제는 거대하고 복잡한 시스템을 만드는 것이다.
시스템은 너무나 크고 복잡하여 어떤 사람도 한번에 모든 부분을 이해할 수 없다.
그런 시스템을 우리는 만든다.
그러기 위해 우리는 복잡성COMPLEXITY을 관리해야 한다.
복잡성을 관리하는 기술이 바로 ABSTRACTION이다.
이번 코스에서 우리는 3가지 ABSTRACTION을 다룰 것이다.
BLACK-BOX ABSTRACTION
어떤 일이 일어나는 과정(HOW-TO)의 세부사항을 숨기기
그리고 이름 붙이기.
- 함수와 메서드가 하는 그것이다.
- scheme에서는 procedure가 한다.
CONVENTIONAL INTERFACES
하나의 operation에 다른 것들을 끼워 넣어 동작하게 하는 방법
general operation을 만드는 방법
- OOP의 흔한 그것이다.
MEALINGUISTIC ABSTRACTION
새로운 언어를 만들어 복잡함을 다루기
- 이건 뭐임? 처음 보는 거다. 개꿀
ps.
SW system은 다른 공학과는 달리 제한사항constraints이 적다.
결국 소프트웨어 시스템의 한계는 생각의 한계이다.
(뭔가 내용이 튀어서 따로 빼놓음)
그렇다면, 프로그래밍 언어는 어떤 식으로
HOW-TO, 혹은 process를 관리하는가?
가장 일반적으로, 훌륭하게 설계된 프로그래밍 언어는 다음 3가지를 반드시 갖는다.
- PRIMITIVE elements
- means of COMBINATION
- means of ABSTRACTION
이후 앙리슾띠의 문법을 설명하지만 자세한 설명은 생략한다
SICP 펴라
86년 스킴 인터프리터 보구가 ㅎㅎ
퍄퍄
LISP에서
primitive는 3 19.5 + * 뭐 이런거다.
combination은 ( ) 괄호를 통해 이루어진다. 하나로 묶어버림
abstraction은 define을 통해 이루어진다.
퍄퍄퍄퍄퍄
define이 아니라 DEFINE을 쓰네 사스가 68년 스킴…
잘 보면 정의한 함수는 호출(괄호로 감싸면)하면 그것을 apply한 값이 나오지만
감싸지 않으면 그대로 값(함수)이 나온다.
COMPOUND-PROCEDURE SQUARE 이렇게
앙리슾띠 혹은 스킴의 핵심은
사용자가 정의한 procedure(SQUARE)나
미리 정의된 procedure(+)나
똑같은 방법으로 사용할 수 있다는 것이다.
새로 정의한 procedure도 마치 primitive처럼 쓸 수 있다!
built-in과 compound 사이의 차이는
compound는 abstraction wrapper가 wrap하고 있는 것 뿐.
define lambda if cond 자세한 설명은 생략 귀찮다
찾아보면 알아먹는데 하나 당 3분도 안 걸림
여기까지 가르친 다음 애들 머가리를 터뜨린다
(define (try guess x)
(if (good-enough? guess x) guess)
(try (improve guess x) x)))
ㅋㅋㅋㅋㅋ?
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
끗
선개추 후감상.
링크좀 살려놓지...
저 계산법은 문제가 있소
디시놈들이 잘라버립니다 으아
(아마도)
무엇이 문제이옵니까 사형님
나는 동영상강의는 안봤는데 괜찮을듯
재미 좋음 ㅎ
저 sqrt함수가 1장 마지막에가면 어떻게 바뀌는지 궁금해 하며서 1장공부하면 나중에 띠용하는 타이밍이 옵니다
호오 그렇군요 굿굿
ㅋㅋ 재밌게 잘 봄.
무슨 롤러코스터 타는 것도 아니고 언어 문법만 소개하고 이렇게 폭풍같이 코드 내놓는 수업 처음 봄;
그게 연습문제에 나오던걸로
참고: 하스켈과는 terminology가 완전 다르다 - return 0;
ㅋㅋㅋㅋㅋㅋㅋㅋ 이게 CS 6.001의 클라스인가 - return 0;
호고곡 재밌다;
연습문제도꼭풀면서넘어가라능 - dc App
이책본지벌써십년이넘었네세월무상 - dc App