최상의 답변
확실히 사용 도전에 응한다면 SICP. 프로그래밍에 대해 전혀 알지 못하는 경우 SICP로 통계를 작성할 수 있습니다. 첫 번째 원칙에서 시작하기 때문에 일부 수학이 필요합니다. 많지는 않지만 일부는 필요합니다. 저자는 개념과 아이디어를 설명 할 수있는 아름답고 명확한 언어를 가지고 있습니다.
이미 대학을 졸업했을 때 SICP를 선택했고 여전히 훌륭한 깨달음을 얻었습니다. 아직 다 읽지도 못했지만 제가 읽은 모든 책 중에서 가장 많은 것을 가르쳐 준 책이라고 말할 수도 있습니다. 예를 들어 Racket의 SICP 언어를 사용하여 SICP 연습을 설정하는 것이 좋습니다.
답변
예, 물론 그렇습니다. span>
SICP는 컴퓨터 프로그래밍에 관한 책이 아니며 소프트웨어 엔지니어링, OOP 또는 기타 기즈모 및 장식물에 관한 책도 아닙니다. SICP는 컴퓨터 과학에 관한 것입니다. 컴퓨터를 정보를 조작하는 데 사용되는 추상적 인 기계로 이해합니다.
1 장에서는 저자 중 한 명이 만든 언어 인 Scheme을 소개합니다. 제어 흐름은 어휘 적으로 포함 된 환경 AKA 서브 루틴에서 계산을 통해 대규모 프로그램에서 수정 및 관리됩니다. 이 책은 서브 루틴을 구현할 수있는 두 가지 주요 방법을 안내하고 둘 다의 단점과 유용성을 설명합니다.
2 장에서는 데이터를 구조화하고 원시 데이터에 대한 새로운 의미를 구축하는 방법에 대해 배웁니다. 기존 데이터 유형. 컴퓨터 대수 시스템 및 Huffman 인코딩 트리와 같은 다양한 장소에서 상징적 조작의 힘을 보여줍니다.
3 장은 모든 장의 가장 기본적인 것입니다. 3 장에서는 할당과 그 힘에 대해 배웁니다. 이 책에서 논의 된 이전 계산 모델은 이제 상태를 유지하고 영향을주는 언어의 능력을 수용하기 위해 근본적으로 확장되었습니다.
4 장에서는 가장 뛰어난 모델 중 하나를 소개합니다. 컴퓨터 과학의 역사에서 아이디어 : LISP 매크로 및 Scheme 프로그램의 동질성. C “의 대체 매크로와 달리 LISP 매크로를 사용하면 런타임에 프로그램 추상 구문 트리의 기본 구조를 조작 할 수 있으며 LISP에서 새로운 프로그래밍 패러다임을 구현할 수 있습니다.
마지막 장은 완전히 다른 접근 방식이며 컴퓨터를 레지스터 머신으로 취급합니다. 당신은 LISP 컴파일러가 당신이 본 어떤 Scheme 프로그램과 다르지 않은지, 그리고 보편성이라는 개념을 암시하는 것을 보았습니다. 마지막으로 실제 LISP 컴파일러를 만드는 과정을 살펴 보았습니다.
이 책은 놀랍습니다. 컴퓨터 과학에서 컴퓨터에게 화면에 숫자를 인쇄하는 방법을 말하는 방법을 컴퓨터 과학으로 바꾸는 것은 거래를 이해하는 것을 의미합니다. 다양한 추상화와 그것들을 적절하게 사용하는 방법.
tl; dr이 책을 꼭 읽어보세요. 마음에 들지 않으면 아마 이겼을 것입니다. CS를 즐기십시오.