julio@fEELING

폴리글랏 프로그래밍 - 컴퓨터 언어 선택? 본문

感 Book

폴리글랏 프로그래밍 - 컴퓨터 언어 선택?

1incompany 2014. 9. 19. 21:26

폴리글랏 프로그래밍 - 새로운 자바 언어를 기다리는 히치하이커를 위한 안내서 (2014/09/19)

임백준 지음|한빛미디어|2014.3.3

 

이분이 처음으로 전망이란 걸 했다!

나중에 부끄럽지 않을까?



이 분 책 많이 냈다. 번역서도 있고. 내 내공으로도 다행히 주화입마 걸리지 않아 대부분 읽은 것 같다. 그렇다고 이제 갓 10년 내공의 나로서 이런 평가 비스무리하게 글을 쓰는게 바람직하다 볼 순 없다. 하지만 기술서이고 그래도 전공(무늬만 ^^;)했으니 주제넘지만 블라블라 할 수는 있지 않나! 다시 이글을 읽어보니 뻥튀기하고 오만한 글이란 생각이 들었지만 수정하지 않았다.

 

이메일을 통해 MS Tech Day 2014가 다음 주 우리나라에서 열리고, 저자가 연사임을 알았다. 그 주제가 폴리글랏 프로그래밍이란다. 아니 트렌드는 제법 쫓아간다 생각했는데... 다행히 도서관에 있어 3~4시간 만에 읽었다. MS CEO가 오는 것도 기대가 안되고, 참석할 여유가 있음에도 포기! 이게 1998년과 다른 현재 2014년의 나의 현실! 그렇게 폴리글랏이란 뜻을 정확히 알았다.

 

 

- 저자가 경험한 이야기(다른 책들 보다 좀더 사변적이라)가 재밌다. 코볼 6개월! 유지보수만 했을텐데, 자신은 코볼이 첫 컴퓨터 언어였다는 이야기로 끝. 저자의 글은 번역서가 아니기에 잘 읽어진다. 잘났다식의 글은 아니다. 다만, 저자는 해커 기질은 없는 것 같은데... 책을 내는 모양새는 ... 

** 전에 읽은 책 포함해서 1차적인 도움은 없다. 번역서 중에는 읽기 쉬운~ 같은 책도 있지만 그것도... ... 딱히! 다만, 번역서를 출간할 시간이 있다는게 부러웠고, 영어를 잘해야 돼! 란 삐딱한 두 감정이 교차할 뿐이었다. 간명하게는 부럽더라!

 

- 내용은 저자의 프로그래밍 경험으로 시작해, 자바, C#, 스칼라의 세가지 언어를 통사적으로 기술하고 있다. 거기에 언어를 만든 해커와 Jolt 상 수상한 베스터셀러도 언급하면서 실명으로 언급하고 있다. 인기있는 세 언어에 대해 전체적인 조감을 할 수 있어 좋았고, 스칼라 발전을 예언(인용 수준(그루비를 만든 해커이야기)이지만)하면서 마지막 부분에 스칼라를 배우라고 참고 서적과 주소를 언급해 두는 것으로 끝맺는다. 금융권 소프트웨어 개발자로서의 이야기가 있었다. 자체 운영체제와 DB를 운용한다는 월가의 이야기는 처음 알았던 이야기라 신기했다만 그렇기에 그들의 제품이 제대로 된 제품이 아닐 것이란 생각이 들었다!! 투명성을 어떻게 소비자에게 알려줄 수 있겠는가! 그렇기에 리먼 사태가 일어난 것도 이런 폐쇄적인 시스템 환경 영향도 있다고 본다.

 

- 스칼라가 대세인 이유는 멀티 코어 CPU 제품이 유통되면서, 하드웨어 발전 걸맞는 성능을 낼 수 있는 방법으로 functional programming language를 설명한다. 거기엔 컴퓨터가 만들어지기 전에 수학적 증명이 끝나버린, 앨런 튜닝 등의 천재(?) 이야기가 있다. 자바 대유행이 JVM으로 시작되었고, 요구사항(시대(기술) 변화)에 맞게 사양이 추가되면서 사용의 혼란과 레거시 시스템과의 호환, 정확히 하위 호환 때문에 람다 추가 등이 늦어지면서 자바에서 C# 진영으로 옮긴 슈퍼 개발자 이야기도 업급... 책을 보니, Microsoft의 C#에 대한 평가가 아주 좋았다. 그렇기에 Tech Day 에 연사로 나오는 걸까?! 스칼라가 컴퓨터 성능을 제대로 동시성의 능력을 제대로 쓰는, 거기다 자바 시스템과 찰떡 궁합인 점 때문에 대세라고 하는 부분도 이해가 되었다.

 

제목에 있는 히치하이커의 가벼움 부분도 있는데, 좀 주저리 주저리 해보면, 저자의 의도는 이제 하나의 컴퓨터 언어만 사용해서는 프로그래밍 할 수 없다는 현실을 이야기(코볼을 언급)하고, 그렇지만 새로 배워야 하는 언어가 하늘에서 뚝 떨어진, 전혀 새로운 언어는 아니라는 것을 말해준다. 자바(JVM 때문에 성공했던), C# 의 발전사(?)를 이야기 함으로써 레거시와 잘 연동되는 스칼라는 언어의 가능성과 학습에 필요한 몇가지 개념을 설명하는 것이 이 책 내용이다.

 

- 클로저와 람다 표현식을 사용하게 된 이유, 행사코드 등등 여러 가지 이야기를 자세히 설명해 주었는데, 이런 내용은 실제 구현하는 사람에겐 딱히 몰라도 되는 내용인지라... ... 그렇게 3~4년 익숙한 뒤에 설명을 들으면 제대로 이해하기 쉽다. 이것을 단번에 알고 싶어 조바심을 내다보면, 십년이 지나도 모르게 될 것이다. 그런 면에선 첫 언어를 파이썬이나 동적 언어로 배운 사람들에겐 이런 책이 좋은 영양분이 될 것 같기도...

 

- Code Complete (2판까지 나와 있음, 내가 젤로 좋아하는 해커)을 언급하면서 썰을 푸는 내용도 약간 흥미있긴 했다만, 나름 이 세계에선 오래 된 것이라 현재 저자와 대화하면 자연스럽게 정리될 부분인데 ... 하는 생각이 들었다.

- 추상화에 대한 이야기에서 골격(?)과 복잡한 부분을 가리는 것등의 두가지 관점으로 이야기 한 것은... ... kiss 로 이해할 수 있는 것은 아닐까? 하는 생각이 들었다.

- C# 언어의 발전상을 제대로 알게 되었다. 그냥 이번 기회에 갱신할까 MS 라이센스... ... 

- 스칼라는 전혀 모르기에 배워볼까! 트레이트, 패턴매치, 모나드 이런 개념에 집중하기 보단 구현해보고 뻬껴보면서 프로젝트 하나 정도 등등 구현하다보면 자연스럽게 더 빨리 잘 사용할 수 있을텐데... 아주 디테일하게 재독은 못해 아쉽긴 했다. 예전 처럼 구입했으면 자주 읽어 외워뒀을텐데... ... ... 아흐 게으름과 aimless가 큰 문제일 뿐이다.

 

- 스칼라의 성공은 분명 트위터 때문일 수 있다. 레퍼런스 사이트가 없다면 발전할 수 없는 현실. 증거를 보여다오~~

 

줄긋기

프로그래밍을 짜는 일은 대학에서 정식으로 프로그래밍을 공부한 사람들이 아니라 다른 곳에 취헙하기 어려운 사람들이 취직도 잘 안되는데 이거라도 해볼까 하고 학원 같은 곳에서 프로그래밍 3개월 속성 과정 등을 밟은 다음에 하는 일종의 3D 업무 중 하나가 되었죠-16

=> 이 대목을 읽으면서 건축의 노가다(그 분야를 폄훼하려는 건 절대아님) 하는 일만 가지고 설명하는 느낌을 받았다. 소프트웨어 부분이 모니터(output 장치)에서만 보이는 실제적이진 않지만, 실용적인 측면에서 우리나라가 만든 언어도 없고, 운영체제도 없어 생기는 상실감에는 동의하나 코더도 필요한 부분이고, 설계해 건축하는 건축가들도 똑같은 집(아파트) 짓고 하는데 우리 스스로를 너무 비하하고 있단 생각이 든다. 한문장으로 자존감을 갖지 못해 하는 소리로 들였다. 물론 먹고 살기 힘들어 나오는 이야기겠지만! 세상 모든 분야도 그렇게 겪어온 것을 우리만 특별대우 해달라고 할 수는 없지 않은가! 그리고 속성 3개월도 잘하는 사람은 잘한다. 아니 기대하는 수준까지는 잘하던데 말이지... 구글신만 잘 활용하면 사수도 필요하지 않는 프로그래밍 세상에서 도제방식으로 키울 전문적인 뭔가(경쟁력 기술)를 가지고 있지 않음을 한탄해야 되지 않을까?

 

코볼처럼 폭넓게 사용되던 언어는 사람들이 좀처럼 느끼지 못할 정도로 천천히 아주 미세한 템포로 죽어간다.-19

=> 나는 갑자기 갑자기 고령화로 인구감소가 되고 있는데, 수도권(서울, 경기도) 인구가 많아서 그 변화를 감지하지 못하는 것과 똑같은 현상이란 생각이 들었다.

 

- 한 사람이 여러 명의 배우자와 함께 살아가는 것을 영어로 폴리가미polygamy라고 말한다. 이와 비슷하게 여러 개의 언어를 사용하는 것을 영어로 폴리글랏polyglot(다중언어적) 이라고 말한다.-28 => 제목이 말하는 뜻을 알았다.

Comments