21일만에 7개의 언어를 맛볼 수 있다면 믿어지시나요?(물론 그 맛본다는게 대형마트 시식 맛보기 수준일지언정.. 이 언어를 다루어보았다!라는 뿌듯함이 생기겠죠..)브루스 테이트의 세븐 랭귀지, 책 제목 그대로 7가지의 언어를 다룹니다.루비, Io, 프롤로그, 스칼라, 얼랭, 클로저, 하스켈제가 이 책을 읽기 전에 Hello World라도 띄워봤었던 언어는 루비와 스칼라, 하스켈뿐이고 다른 언어는 들어보기만 했거나 아예 처음듣는 언어였습니다.처음 접해보는 언어라면 기본서를 구매하거나 인터넷 상의 개발언어 Wiki 등을 뒤져보는 편인데 정보를 찾는건 쉬우나 단번에 이해하긴 어려웠었습니다. 그런점에서 이 책이 조금은 도움이 될 수 있을 것 같습니다.책의 구성은 다음과 같습니다. 해당 언어에 대해 1일, 2일, 3일차, 그리고 마무리 내용까지 있습니다.알아두셔야할 점은 이 책은 기본서가 아닙니다. 상세하게 설명된 쇼핑몰 카달로그 같은 도서라고 보셔도 무방합니다.이 책에서 마음에 드는, 혹은 배워야할 언어가 있다면 사용해보고 좀 더 공부하도록 유도하는 책으로 봐야할듯 합니다.아쉬운점이라면 삽화가 적어서 책에 대한 집중도가 떨어질 수 있다는 점과 코드가 표현된 레이아웃이 좀 헷갈린다는 점입니다.물론 책을 보고 직접 따라하실 때는 상관없지만, 책만 보고 코드를 파악하기엔 조금 헷갈릴 수 있는 부분입니다.출판사에서는 책 소개에 폴리글랏 프로그래밍의 실전편인 책이라고 했지만 폴리글랏 프로그래밍을 읽어본적 없는 입장에선 맞는지 아닌지 알 수 없으므로 조만간 사서 읽어봐야할 것 같습니다. :|
폴리글랏 프로그래머를 위한 최고의 가이드일주일에 하나씩 7가지 언어를 익힐 수 있는 폴리글랏 지침서. 경쟁력 있는 프로그래머가 되려면 필요에 따라 패러다임이 다른 언어를 배워 사용할 줄 알아야 한다. 특히 동시성 프로그래밍과 함수형 언어는 앞으로 계속 중요성이 높아질 전망이고, 이 책은 이러한 시대적 요구에 부응하는 언어 7가지를 빠르게 익히는 방법을 제시한다.
CHAPTER 1 서문
__1.1 혼돈 속의 질서
__1.2 언어들
__1.3 이 책을 사라
____1.3.1 배움을 위한 배움
____1.3.2 어려운 시대에 대한 도움
__1.4 이 책을 사지 말라
____1.4.1 문법 이상의 내용
____1.4.2 언어 설치 가이드가 아니다
____1.4.3 프로그래밍 레퍼런스 책이 아니다
____1.4.4 혹독하게 몰아붙일 것이다
__1.5 마지막으로 한마디
CHAPTER 2 루비
__2.1 루비에 대하여
____2.1.1 마츠와의 인터뷰
__2.2 1일: 유모 찾기
____2.2.1 훑어보기
____2.2.2 콘솔에서 루비 사용하기
____2.2.3 프로그래밍 모델
____2.2.4 결정
__2.3 2일: 하늘에서 땅으로
____2.3.1 함수 정의하기
____2.3.2 배열
____2.3.3 해시
____2.3.4 코드 블록과 산출
____2.3.5 파일에서 루비 실행하기
____2.3.6 클래스 정의하기
____2.3.7 믹스인 작성하기
____2.3.8 모듈, enumerable, 집합
____2.3.9 2일 차에 배운 것
____2.3.10 2일 차 자율 학습
__2.4 3일: 심각한 변화
____2.4.1 오픈 클래스
____2.4.2 method_missing
____2.4.3 모듈
____2.4.4 3일 차에 배운 내용
____2.4.5 3일 차 자율 학습
__2.5 루비를 마무리하며
____2.5.1 핵심 강점
____2.5.2 약점
____2.5.3 마치며
CHAPTER 3 Io
__3.1 Io에 대하여
__3.2 1일: 학교 빼먹고 놀러 가기
____3.2.1 안면 트기
____3.2.2 객체, 프로토타입, 상속
____3.2.3 메서드
____3.2.4 리스트와 맵
____3.2.5 ture, false, nil, 싱글턴
____3.2.6 스티브 디코트와의 인터뷰
____3.2.7 1일 차에 배운 내용
____3.2.8 1일 차 자율 학습
__3.3 2일: 소시지 왕
____3.3.1 조건과 루프
____3.3.2 연산자
____3.3.3 메시지
____3.3.4 리플렉션
____3.3.5 2일 차에 배운 내용
____3.3.6 2일 차 자율 학습
__3.4 3일: 퍼레이드와 다른 낯선 장소들
____3.4.1 도메인 언어
____3.4.2 Io의 method_missing
____3.4.3 동시성
____3.4.4 3일 차에 배운 내용
____3.4.5 3일 차 자율 학습
__3.5 Io를 마무리하며
____3.5.1 강점
____3.5.2 약점
____3.5.3 마치며
CHAPTER 4 프롤로그
__4.1 프롤로그에 대하여
__4.2 1일: 훌륭한 운전사
____4.2.1 기본적인 사실
____4.2.2 기본적인 추론과 변수
____4.2.3 빈칸 채우기
____4.2.4 지도 색칠하기
____4.2.5 통합, 파트 1
____4.2.6 실전 프롤로그
____4.2.7 1일 차에 배운 내용
____4.2.8 1일 차 자율 학습
__4.3 2일: 시작까지 15분 남았어
____4.3.1 재귀
____4.3.2 리스트와 튜플
____4.3.3 리스트와 수학
____4.3.4 규칙을 양방향으로 사용하기
____4.3.5 2일 차에 배운 내용
____4.3.6 2일 차 자율 학습
__4.4 3일: 라스베이거스 날려보내기
____4.4.1 스도쿠 풀기
____4.4.2 8 퀸
____4.4.3 3일 차에 배운 내용
____4.4.4 3일 차 자율 학습
__4.5 프롤로그를 마무리하며
____4.5.1 강점
____4.5.2 약점
____4.5.3 마치며
CHAPTER 5 스칼라
__5.1 스칼라에 대하여
____5.1.1 자바와의 관련성
____5.1.2 맹신은 없다
____5.1.3 스칼라의 창시자 마틴 오더스키와의 인터뷰
____5.1.4 함수 프로그래밍과 동시성
__5.2 1일: 언덕 위의 성
____5.2.1 스칼라의 자료형
____5.2.2 표현과 조건
____5.2.3 루프
____5.2.4 범위와 튜플
____5.2.5 스칼라에서의 클래스
____5.2.6 보조 생성자
____5.2.7 클래스를 확장하기
____5.2.8 1일 차에 배운 내용
____5.2.9 1일 차 자율 학습
__5.3 2일: 정원 손질하기와 그 밖의 트릭
____5.3.1 var 대 val
____5.3.2 컬렉션
____5.3.3 컬렉션과 함수
____5.3.4 2일 차에 배운 내용
____5.3.5 2일 차 자율 학습
__5.4 3일: 털 다듬기
____5.4.1 XML
____5.4.2 패턴 매칭
____5.4.3 동시성
____5.4.4 3일 차에 배운 내용
____5.4.5 3일 차 자율 학습
__5.5 스칼라를 마무리하며
____5.5.1 핵심 강점
____5.5.2 약점
____5.5.3 마치며
CHAPTER 6 얼랭
__6.1 얼랭에 대하여
____6.1.1 동시성을 위해 만들어지다
____6.1.2 조 암스트롱 박사와의 인터뷰
__6.2 1일: 사람 모습을 하기
____6.2.1 시작하기
____6.2.2 주석, 변수, 표현
____6.2.3 원자, 리스트, 튜플
____6.2.4 패턴 매칭
____6.2.5 1일 차에 배운 내용
____6.2.6 1일 차 자율 학습
__6.3 2일: 형태 바꾸기
____6.3.1 제어 구조물
____6.3.2 익명 함수
____6.3.3 리스트와 고계함수
____6.3.4 리스트와 관련된 고급 개념
____6.3.5 2일 차에 배운 내용
____6.3.6 2일 차 자율 학습
__6.4 3일: 빨간 약
____6.4.1 기본적인 동시성 원시 값
____6.4.2 동기적 메시지
____6.4.3 안정성을 위해서 프로세스 연결하기
____6.4.4 3일 차에 배운 내용
____6.4.5 3일 차 자율 학습
__6.5 얼랭을 마무리하며
____6.5.1 핵심 강점
____6.5.2 약점
____6.5.3 마치며
CHAPTER 7 클로저
__7.1 클로저에 대하여
____7.1.1 모든 것은 리스프로부터
____7.1.2 JVM 위에서
____7.1.3 동시성 세계에 맞춰 업데이트되다
__7.2 1일: 루크 훈련시키기
____7.2.1 기본적인 함수 호출하기
____7.2.2 문자열과 문자
____7.2.3 불리언과 표현
____7.2.4 리스트, 맵, 집합, 벡터
____7.2.5 함수 정의하기
____7.2.6 바인딩
____7.2.7 익명 함수
____7.2.8 클로저의 창시자 리치 히키와의 인터뷰
____7.2.9 1일 차에 배운 내용
____7.2.10 1일 차 자율 학습
__7.3 2일: 요다와 포스
____7.3.1 loop와 recur를 사용하는 재귀
____7.3.2 시퀀스
____7.3.3 게으른 평가
____7.3.4 defrecord와 protocol
____7.3.5 매크로
____7.3.6 2일 차에 배운 내용
____7.3.7 2일 차 자율 학습
__7.4 3일: 악마의 눈
____7.4.1 참조와 트랜잭션 메모리
____7.4.2 원자 사용하기
____7.4.3 에이전트 이용하기
____7.4.4 퓨처
____7.4.5 우리가 다루지 않은 것
____7.4.6 3일 차에 배운 내용
____7.4.7 3일 차 자율 학습
__7.5 클로저를 마무리하며
____7.5.1 리스프의 역설
____7.5.2 핵심 강점
____7.5.3 약점
____7.5.4 마치며
CHAPTER 8 하스켈
__8.1 하스켈에 대하여
__8.2 1일: 논리
____8.2.1 표현과 원시 자료형
____8.2.2 함수
____8.2.3 튜플과 리스트
____8.2.4 리스트 만들기
____8.2.5 필립 와들러와의 인터뷰
____8.2.6 1일 차에 배운 내용
____8.2.7 1일 차 자율 학습
__8.3 2일: 스팍의 위대한 힘
____8.3.1 고계함수
____8.3.2 부분함수와 커링
____8.3.3 게으른 평가
____8.3.4 사이먼 페이턴-존스와의 인터뷰
____8.3.5 2일 차에 배운 내용
____8.3.6 2일 차 자율 학습
__8.4 3일 차: 정신 융합
____8.4.1 클래스와 자료형
____8.4.2 모나드
____8.4.3 3일 차에 배운 내용
____8.4.4 3일 차 자율 학습
__8.5 하스켈을 마무리하며
____8.5.1 핵심 강점
____8.5.2 약점
____8.5.3 마치며
CHAPTER 9 마무리
__9.1 프로그래밍 모델
____9.1.1 객체지향 (루비, 스칼라)
____9.1.2 프로토타입 프로그래밍 (Io)
____9.1.3 제약-논리 프로그래밍 (프롤로그)
____9.1.4 함수 프로그래밍 (스칼라, 얼랭, 클로저, 하스켈)
____9.1.5 패러다임 바꾸기
__9.2 동시성
____9.2.1 변경 가능한 상태 통제하기
____9.2.2 Io, 얼랭, 스칼라의 액터
____9.2.3 퓨처
____9.2.4 트랜잭션 메모리
__9.3 프로그래밍 구조물
____9.3.1 리스트 컴프리헨션
____9.3.2 모나드
____9.3.3 매칭
____9.3.4 통합
__9.4 자신의 목소리 찾기