일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 쉽게 배우는 운영체제
- 건담
- 운영체제
- 맛집
- 건담 프라모델
- 건프라
- OS강의
- OS 그래픽 처리
- 쉽게 배우는 운영체제 연습문제
- project euler
- Gundam
- 맛집 추천
- OS
- Project Euler Problem
- hg
- 운영체제 제작
- 건담 엑스포
- OS 구조와 원리
- OS 강의
- 30일
- Project Euler 해답
- OS 제작
- 프라모델
- os 만들기
- rg
- 운영체제 정리
- 쉽게 배우는 운영체제 풀이
- 쉽게 배우는 운영체제 솔루션
- 운영체제 문제 풀이
- 운영체제 만들기
- Today
- Total
밤색모자이크의 개발이야기
폴리글랏 프로그래밍 - 임백준 저 본문
안녕하세요. 밤색모자이크입니다.
이번에 리뷰할 책은 "폴리글랏 프로그래밍"입니다.
이 책의 부제는 '새로운 자바 언어를 기다리는 히치하이커를 위한 안내서'입니다.
자바에 관한 이야기는 맞지만, 자바를 위한 서적은 아닙니다.
저도 자바를 많이 사용해서 교양서적으로 읽어보았지만, 자바를 위한 서적 보단 앞으로 프로그래밍의 미래에 대한 이야기입니다.
칼럼리스트 임백준 저자의 책이라 재밌게 읽을 수 있는 책입니다.
자세한 리뷰는 아래에 있습니다.
책 표지
[출처 : 알라딘 제공]
기본 정보
도서명 : 폴리글랏 프로그래밍
정가 : 17,800 원
저자 : 임백준
출판사 : 한빛미디어
출판사 서평
이 책이 제시하는 핵심 내용
이제 프로그래머는 어느 언어 하나에 안주할 수 없다. 패러다임을 달리 하는 여러 언어를 자유롭게 구사하지 않으면 살아남을 수 없는 폴리글랏 프로그래밍의 시대가 도래했기 때문이다. 물론, 자신의 포트폴리오를 어떤 언어로 구성하는지는 각자의 몫이다. 하지만 앞으로는 '프로그래머가 어떤 언어에 대해서 얼마나 많이 알고 있는가'가 아니라 '어떤 언어를 얼마나 빠르게 학습할 수 있는가'가 더 중요하다는 점을 기억하기 바란다.
폴리글랏이란 무엇인가?
여러 개의 언어를 사용하는 것을 영어로 폴리글랏(polyglot)이라고 말한다. 원래는 한국어나 영어 같은 실제 세계의 언어에 대해서 적용되는 단어지만 이 책에서는 컴퓨터 프로그래밍 언어를 대상으로 사용했다. 새로운 표현은 아니다. 미국의 프로그래밍 업계에서는 폴리글랏이라는 표현을 사용한 지가 이미 오래되었다.
네이버 도서 링크
http://book.naver.com/bookdb/book_detail.nhn?bid=7440444
개인 리뷰
개인 평점 : ★★★★
이 책의 부제는 '새로운 자바 언어를 기다리는 히치하이커를 위한 안내서' 입니다.
여기서 말하는 새로운 자바 언어는 자바8을 의미하는 것보단 스칼라를 의미하는 것 같네요.
사실 저도 프로그래밍 언어를 많이 안다고는 할 수 없지만, 대략 5가지는 넘게 알고 있는거 같네요.
잘하는거랑 별개이지만, 여러가지 프로젝트를 진행하다보면 확실히 이제 하나의 언어로 할 수 있는 프로젝트는 거의 없습니다.
여러개의 언어를 사용해야하는 건 사실이지만, 사람들이 여러개의 언어를 자유롭게 다루는건 힘들죠.
많은 개발자들이 권장사항으로 6개월마다 언어 하나씩 익히라고 하고 있습니다. 저도 주기적으로는 아니지만 하나씩 익히고 있죠.
현재 자바는 정말 많은 곳에서 쓰이고 있고 취업시장에서도 자바 개발자를 많이 구하고 있습니다.
특히, 우리나라의 경우 전자정부 표준 프레임워크가 자바 스프링이기 때문에 자바 개발자가 정말 압도적으로 많이 필요하죠.
이 책에서는 스프링이 너무 무거워졌다고 표현합니다. 맞습니다. 스프링은 너무 방대해졌죠.
어떤 책에서는 보물찾기라고 표현합니다. 스프링 레퍼런스를 찾다보면 보물 찾듯이 자신이 필요한 기능이 있을거라고 말했을 정도로 정말 방대합니다.
이 방대한 스프링을 다 아는 것도 힘들지만, 찾는 게 더 힘들어졌을 정도로 커졌습니다. 개발자들은 절대 다수가 귀찮은 걸 싫어해서 스프링의 대안이 점점 커지고 있죠.
근데 이와는 상반되게 자바는 발전이 매우 더뎠습니다. 책에서는 C#과 비교하죠.
C#이 6.0 버전이 나올 때까지 자바는 그 역사에 비하여 버전 7이 몇년 동안 버전 업데이트가 없었습니다.
이 책이 출간 당시에는 자바8이 나오지 않았죠. 지금은 자바8이 나왔고 예상대로 람다함수가 추가되었습니다.
람다함수, 클로저, 동적 타이핑 등 정말 다양한 이슈가 있었습니다. 그걸 깔끔히 정리하게 정리된 책은 이게 유일할 듯 싶습니다.
더욱이 이게 왜 이슈가 됬는지 어떤 개념인지 잘 설명이 되어있습니다.
저도 람다함수와 클로저 개념을 이 책을 읽고 깔끔히 정리되었네요.
이 책은 자바의 대안 언어로 스칼라를 소개합니다.
스칼라 창시자가 "자바가 나쁜거지, JVM이 나쁜게 아니다" 라고 말했다고 어디서 들었습니다.
그 정도로 자바가 너무 복잡해진게 사실이죠. 실제 스칼라는 JVM을 사용합니다. 자바의 API까지 스칼라 내부에서 사용 가능합니다.
저도 이 책을 보고 스칼라를 공부해봤는데 확실히 자바보다 깔끔합니다.
동적 타이핑 개념은 컴파일이 아니라 런타임 때 변수 타입을 결정하는 것인데, 정적 타이핑은 이와는 반대로 런타임이 아니라 컴파일 때 변수 타입을 결정합니다. 자바, C 같은 대부분의 유명한 언어들은 정적 타이핑입니다. 이는, 프로그래머의 실수를 줄이자는 의도로 결정된 사항인데 이제는 툴도 많이 발전했고 컴파일러가 너무 좋아지면서 동적 타이핑이 대세가 되었습니다. 자바스크립트가 가장 좋은 예입니다.
개발자들이 확실히 자유롭게 코드를 작성하는 것을 선호하고 있습니다.
책에서는 하나의 코드를 실행시키기 위해 규칙에 맞고 쓸데없는 코드들을 행사코드라고 표현합니다.
자바는 그게 너무 심하죠. 익명클래스, 익명함수 등을 사용할 때 대표적으로 너무 많이 사용됩니다.
하지만, 자바 8에서 람다함수가 도입되면서 깔끔해졌습니다. 이런 것을 보면 이 책의 말이 거의 대부분 맞습니다.
책의 마지막에서는 자바의 미래가 연장될지 말지 고민하며 끝냅니다.
이 책을 읽고 현재 자바8을 봤을 때, 개인적으로는 연장될거 같네요.
이 책은 생각을 많이 하게 해주는 책입니다. 내가 어떤 언어를 공부할까 앞으로 언어를 어떤식으로 보면 좋나 라는 생각을 한번쯤 하고 싶으신 분들에게 권합니다.
자바를 사랑하시는 분들은 약간 불쾌할 수도 있습니다.
자바를 많이 비판하는게 맞는데, 사실 이유있는 비판이고 이러한 점은 자바 진영에서도 확실히 인식했고 이번에 자바8을 내놨죠.
한번쯤은 꼭 읽어보셨으면 하는 책입니다.
책 상세 정보
목차
프롤로그
01. 자바
__자바를 넘어서
__제임스 고슬링과 오라클
__람다와 클로저
__닐 게프터
__연산자 오버로딩
__제네릭
__자바 8
02. C#
__델파이
__속성과 대리자
__일급 함수
__또 다른 차이들
__링큐 LINQ
03. 스칼라
__가디언
__제임스 스트라칸 2009년 7월 6일 월요일
__트위터
__월스트리트
__마틴 오더스키
__언어의 추상
__트레이트
에필로그
부록. 스칼라 학습을 위한 자료
[출처 : 예스24 제공]
저자 소개
저자 : 임백준
저자 임백준은 한빛미디어에서 『누워서 읽는 퍼즐북』(2010), 『프로그래밍은 상상이다』(2008), 『뉴욕의 프로그래머』(2007), 『소프트웨어산책』(2005), 『나는 프로그래머다』(2004), 『누워서 읽는 알고리즘』(2003), 『행복한 프로그래밍』(2003)을 출간했고, 로드북에서 『프로그래머 그 다음 이야기』(2011)를 출간했다. 현재 월스트리트에서 자바, C#, 스칼라 언어를 이용해서 금융관련 소프트웨어를 개발하고 있다. 뉴저지에서 아내, 두 딸과 함께 살고 있다.
[출처 : 인터넷 교보문고 제공]
'책 리뷰 > Computer Science' 카테고리의 다른 글
테트리스 이펙트 - 댄 애커먼 저 (0) | 2018.02.12 |
---|---|
우분투 환경에서 C언어로 배우는 리눅스 프로그래밍 - 이이오 준 저 (0) | 2018.01.24 |
실무에서 바로 통하는 자바 - 다케다 하루키 외 4명 저 (0) | 2017.08.10 |
프로그래머가 몰랐던 멀티코어 CPU 이야기 - 김민장 저 (0) | 2017.07.21 |
CODE (하드웨어와 소프트웨어에 숨어 있는 언어) - 찰스 펫졸드 저 (1) | 2017.07.19 |