Media Log

새 해가 되면 항상 찾아보는 것이 있다.
지난 해 동안 괜찮은 오픈소스 프로젝트가 뭐가 있었는지, 프로그래밍 언어 동향은 어떻게 바뀌어가는지를 둘러보는 일이다.
TV에서 연예시상을 하듯이 이것들도 몇몇 단체들에서 시상식을 한다. 찾아보면 여러군데가 있는데 내가 좋아하는 곳은
InfoWorld의 Bossie Award(오픈소스 소프트웨어 어워드)와 Tiobe(프로그래밍 언어순위)이다.
나는 이것들이 여느 연예시상식이나 가요톱텐보다 훨씬 재밌다.

Bossie Award 페이지에서는 한 눈에 수상작들을 보기가 불편해서 여기에 링크와 함께 정리해보았다.
프로젝트에 대한 소개는 여기에 적지 않는다. 링크를 따라가서 잠시 읽어 보면 어떤 프로젝트들인지 쉽게 알 수 있다.

Application Development software 부문

Application Development software 부문

Platforms and Middleware 부문

Networking Software 부문

2007년부터 2009년까지의 수상작들은 이미 위키피디아에 잘 정리되어 있다.
http://en.wikipedia.org/wiki/Infoworld_Bossie_Awards

아참, 올해의 프로그래밍 언어는 또 한번 파이썬이 차지했다.

C# 한 번 시켜주지.
저작자 표시 비영리 동일 조건 변경 허락
신고
  1. Favicon of http://duckii81.wordpress.com BlogIcon duckii at 2011.01.10 00:59 신고 [edit/del]

    내가 아는게 한 손으로 셀 수 있네.. ㅠ
    언어에 있어서 난 C++ forever~

    Reply
  2. Favicon of http://itviewpoint.com BlogIcon 떡이떡이 at 2011.01.26 10:41 신고 [edit/del]

    좋은 자료정리 감사합니다. 클릭 한번씩 해 보고 있습니다.

    Reply
  3. at 2011.02.18 13:44 [edit/del]

    비밀댓글입니다

    Reply

submit

Python 3.0 Released

2008.12.04 18:41 | Programming



내가 파이썬을 처음 만나본 것은 2006년 12월이었다.
나는 그 때 입사한지 4개월 정도된 신입사원었는데, 파이썬이라는 언어를 생전 들어보지도 못했었다.

그 때 우리 프로젝트에서 사용되던 작은 파이썬 프로그램이 하나 있었는데,
그것은 안철수 연구소의 웹 페이지에 가서 V3 모듈을 내려 받아 업데이트 해주는 프로그램이었다.
나는 그 코드를 고칠 일이 있어 수정 하면서 별 거지 같은 언어라고 얼마나 속으로 투덜 거렸는지 모른다.

그 뒤로 언제부터 파이썬이 좋아졌는지는 잘 기억이 안난다.
아마도 도서관에서 두리번 두리번 책을 고르다가 Learning Python이라는 책을 빌려서
천천히 읽어본 후, 꽤 매력을 느꼈고 그 때 부터 파이썬에 호감을 갖기 시작했던 것 같다.

그 후에 회사에서 사람들과 파이썬 스터디도 하고, 프로젝트에도 파이썬을 조금씩 적용하기 시작했다.

나는 언어를 선택할 때, 윈도우즈 플랫폼에서만 동작해도 되고 클라이언트에 배포되지 않는 그런 서버 사이드 코드를 작성해야 한다면 주저하지 않고 C#을 선택한다.
파이썬을 선택하는 경우는 일단 리눅스 플랫폼일 때이다.
나는 리눅스에서 코드를 작성 할 때 vi, gcc, make 세트를 사용하는 것을 아주 어려워하고 또 싫어하는데,
아마도 그래서 그 대안 언어로써 파이썬을 공부했는지도 모르겠다.

그래서 리눅스에서 그다지 많지 않은 코드를 작성할 때는 파이썬 부터 머리에 떠올린다.
터미날을 통해 vim에서 편하게 코드를 작성할 수 있기 때문이다. -C보다 훨씬!
또한 파이썬은 Perl의 문법보다 깔끔하고 Java처럼 잡 것들을 설치하지 않아도 되고, Ruby보다 레퍼런스가 많아서 좋다.

그렇다고 해도 회사에서 파이썬으로 코딩하게 되는 일은 거의 10%도 되지 않는다.
하지만 나는 파이썬으로 코드를 작성하는 그 시간들이 정말 즐겁다.

오늘은 그 파이썬 3.0이 릴리즈 되었다.
나는 지금까지 작성해놓은 코드들이 그렇게 많지 않기 때문에 파이썬 3.0으로 전부 포팅할까 잠시 고민했었는데, 금방 생각을 덮었다.

파이썬 3.0은 2.x 와 호환되지 않는데, 그 만큼 아주 많은 부분이 바뀌었다.
바뀐 부분들은 다음 링크에서 찾아볼 수 있다.

http://docs.python.org/dev/3.0/whatsnew/3.0.html
http://www.python.org/download/releases/3.0/NEWS.txt

나는 이렇게 팍팍 뭔가를 뜯어고치는 파이썬 프로젝트의 스타일이 마음에 든다.
빨리 파이썬 3.0을 써먹어보는 날이 왔으면 좋겠다.
신고
  1. Favicon of http://www.voiceportal.co.kr BlogIcon 김태정 at 2008.12.05 13:27 신고 [edit/del]

    파이썬 쩔어!! ㅎ
    간결하고 강력하고 ㅎ
    근데 우리 회사에서는 쓸일이 없어서 아쉽다..

    Reply
  2. kkkkjul at 2008.12.08 17:31 신고 [edit/del]

    파이썬 웹프레임워크인 django도 이제 1.0버전으로 진입했던데 ㅋ
    나중에 이걸로 블로그나 만들어볼가요 . ㅋㅋ

    Reply
  3. only2sea at 2009.06.21 22:13 신고 [edit/del]

    작년 후반기 6개월간은 거의 파이썬 코딩만 했던 것 같습니다. 지금은 거의 C++ 코딩만 하고 있구요.

    친구가 한번 써 봐... 하고 전파 받은 것은 2003년이었는데... 그 때에는 Java에 관심이 있었습니다.

    스크립트 언어들이 좋아지기 시작한 것은 데탑을 리눅스로 갈아버리고 난 2006년부터였어요. 그렇지만 awk, bash, ruby, perl에 관심이 더 많았던 듯 합니다.

    Reply

submit
Python Essential Reference (4th, Paperback) - 8점
Beazley, David M./Addison-Wesley


그다지 두껍지도 않으면서 아주 간결하게 파이썬을 잘 설명해주고 있는 책이다.

다음은 이 책 2판의 목차인데, 레퍼런스 용 책 답게 문법 설명은 최대한 간결하게 하고 다양한 부록을 절반 이상이나 할애하고 있다.

1 A Tutorial Introduction 1
2 Lexical Conventions and Syntax 13
3 Types and Objects 19
4 Operators and Expressions 43
5 Control Flow 55
6 Functions and Functional Programming 63
7 Classes and Object-Oriented Programming 71
8 Modules and Packages 77
9 Input and Output 83
10 Execution Environment 93
A The Python Library 99
B Extending and Embedding Python 297
C: Summary of Changes 331

문법 설명이 너무나 간결해서 프로그래밍 언어를 처음 배우려는 사용자에게는 좋지않다.
아직까지도 대부분의 사람들은 파이썬을 자신의 첫 언어로 배우지 않는다.
이 책은 다른 언어를 좀 공부했다가 Python을 배워보려는 프로그래머들에게 효율적으로 파이썬을 가르켜주는 아주 좋은 책이다.
이 책을 보면서 마치 Learn Visual Basic 6.0을 읽을 때와 비슷한 기분이 들었다.
아직까지 읽어본 파이썬 책은 그다지 많지 않지만, 그 중에서 가장 깔끔했다.

2001년에 이 책의 2판이 발행되었고, 비교적 최근인 2006년에 3판이 발행되었다.
파이썬은 버전이 바뀔 때마다 문법이 조금씩 달라지기도 하고 변화되는 부분이 많으므로 최신 에디션으로 구해보는 것이 좋다.
이 책의 저자처럼 파이썬 책을 쓰는 사람이나, 기존 프로젝트를 포팅해야 하는 사람들에게 이런 변화는 어쩌면 울화통 치밀게 짜증나는 일 일지도 모르겠다.( 물론 즐겁게 받아들일꺼라 생각한다. )
나는 파이썬의 이런 발 빠르고 과감한 변화를 너무나도 좋아한다. 사실 파이썬으로 이미 커다란 프로젝트를 만들어 놨다면 귀도 반 로섬을 빌어먹을 개자식이라며 욕할지도 모르겠지만, 뭐 만들어 놓은 것이 없으니깐^^
그저 파이썬 3000이 두근두근 기다려질 뿐이다.

신고

submit
Art of UNIX Programming - 8점
Eric S. Raymond 지음, 김희석 옮김/정보문화사


오픈소스나 유닉스 계열에서 꽤나 유명한 에릭 레이몬드가 쓴 책이다.
이 책의 제목만 봐서는 유닉스 프로그래밍에 대한 고급 기법들을 다룰 것 같지만, 단지 유닉스 철학만을 이야기한다. 도날드 커누스의 Art of Computer Programming의 이름을 본 따서 지었다는데, 책 주제와 상관없는데도 제목을 이렇게 지은 걸 보면 어지간히도 커누스의 Art of 시리즈가 감명 깊었는가보다.( 책 이름이던지 내용이던지 아니면 커누스 그 자체던지간에 )

책의 목차를 한번 살펴보자. 소주제들은 제외했다.

Part 1 UNIX의 오늘
Chapter 1 철학 : 중요한 것은 철학이다
Chapter 2 역사 : 두 문화에 대한 이야기
Chapter 3 대조 : UNIX 철학과 다른 것을 비교하기

Part 2 설계
Chapter 4 모듈화 : 간단하게, 단순하게!
Chapter 5 텍스트화 : 우수한 프로토콜은 우수한 습관을 만든다
Chapter 6 투명성 : 빛이 있으라!
Chapter 7 멀티프로그래밍 : 서로 다른 작업을 위한 프로세스들
Chapter 8 미니언어 : 노래하는 기호를 찾아
Chapter 9 생성 : 명세를 한 단계 높게
Chapter 10 구성 : 순조롭게 출발하기
Chapter 11 인터페이스 : UNIX 환경의 사용자 인터페이스 디자인 패턴
Chapter 12 최적화
Chapter 13 복잡함 : 되도록 단순하게 그러나 지나치지 않게

Part 3 구현
Chapter 14 언어 : C 언어이어야 하는가? 아닌가?
Chapter 15 툴 : 개발의 용병들
Chapter 16 재사용 : 바퀴를 다시 발명하지 않기 위해서

Part 4 공동체
Chapter 17 이식 가능성 : 소프트웨어의 이식성과 표준 따르기
Chapter 18 문서화 : 소프트웨어를 종이-중심의 세계로 설명하기
Chapter 19 오픈소스 : 신 UNIX 공동체의 프로그래밍
Chapter 20 미래 : 위험 그리고 기회


vi와 emacs를 비롯한 편집기에 대한 평가와 c, java, python, lisp등 여러 언어에 대한 평가가 특히 재밌다.

편집기나 언어에 대한 평가는 언제나 인터넷을 뜨겁게 달구는 주제이다.
Effective C++의 스캇마이어스도 Effective 시리즈 중 어떤 책에서 편집기에 관한 이야기를 잠깐 언급했는데, 그 때 최고의 편집기는 바로 emacs라고 했다. 나는 그 글을 읽고 바로 Emacs를 설치하고 연습해봤는데, 몇 일 못가서 바로 포기했다. ;)

에릭 레이몬드 역시 그렇지만, 리눅스 계통의 해커들은 c, java, C#보다는 perl 이나 python, LISP 같은 언어들을 높게 평가하는 경향이 있다.
하지만, 조엘 온 소프트웨어의 조엘 같은 경우에는 자기 주위의 해커들( 아마도 마이크로소프트의 천재들 )은 그렇지 않다며 반박하는 것도 재밌다.

에릭 레이몬드는 윈도우즈를 정말 더럽게도 싫어하는데, 윈도우즈를 욕하는 내용 또한 역시 재밌는 볼거리이다.

이런 내용들 말고도 재밌게 읽은 만한 내용들이 많이 들어있다.
꼭 유닉스 프로그래머가 아니더라도 가볍게 읽어보기 좋을 것이다.

에릭 레이몬드의 글 중 이 책에 없고 인터넷에 올려진( 어딘가에서 한번씩은 읽어봤을만한 ) 재밌는 글들 또한 많다.

다음 링크들에서 볼 수 있다.
How To Become A Hacker
해커가 되는 방법
Why Python
How To Ask Questions The Smart Way
좀더 나은 질문을 하기 위한 방법
에릭 레이몬드의 홈페이지



신고
  1. Favicon of http://bombfox.textcube.com BlogIcon bombfox at 2009.10.23 23:08 신고 [edit/del]

    전 읽어 볼려다 포기한책....ㅠㅠ

    Reply

submit
해커와 화가 - 10점
폴 그레이엄 지음, 임백준 옮김/한빛미디어

어떤 사람들은 폴 그레이엄이 건방지거나 혹은 그가 주장하는 바가 틀렸다고 말하면서도 하나 같이 그의 글은 재밌다고 한다. -에릭 싱크, 조엘, 그리고 이 책의 역자인 임백준까지

나도 폴 그레이엄의 글을 좋아한다.

이 책을 읽고 나서 그의 글에 매료되어서 개인 블로그를 즐겨찾기 해두고 종종 가보곤 한다.( 물론 내 빌어먹을 영어 실력 탓에 그 재밌는 최신 글들을 잘 이해할 수 없다는 것이 화가 나지만. )

이 책의 내용은 조엘 온 소프트웨어 처럼, 폴 그레이엄의 블로그에 이미 쓰여진 많은 에세이들을 기반으로 작성되었다.

나는 그가 그림을 얼마나 잘 그리는 지는 따위는 관심 없다.
단지, 이 책에서 그가 LISP, Python, 펄, 그리고 해커를 말할 때면 내 집중력은 200%가 되었다.

프로그래밍 언어에 대한 비교는 언제나 많은 논란거리를 가지고 오는 위험한 주제이기도 하면서 또한 프로그래머들의 흥미를 유발하는 최고의 주제이기도 하다.

그는 LISP에 대한 광신도였다.

그의 블로그에서 그는 자바가 쓰레기라고 말하고 있지는 않지만, 자바 프로그래머는 파이썬 프로그래머보다 멍청하다고 말한다.
자바 사람들이 반발하자, 그는 자바 프로그래머가 멍청하다는 것이 아니라 상대적으로 파이썬 프로그래머가 영리하다. 라고 다시 말한다.

그는 LISP에 대한 광신도이면서 다른 언어로는 파이썬과 펄, 그리고 루비를 인정한다.
에릭 레이몬드가 윈도우즈를 쓰레기라고 번번히 말하듯이 그 역시 다른 언어들은 가차없이 깍아내린다.
아마 그는 속으로 이렇게 생각하고 있을 것이 분명하다.
( 도대체 어떻게 자바 따위로 프로그래밍을 할 수 있다는 말이지? )

하지만 내가 사용하는 언어가 쓰레기가 된들 뭐 어떤가. 그의 글은 재밌는걸.
그리고 LISP와 파이썬이 미치도록 공부하고 싶어지는 것을.

실제로 그랬다. 이 책을 덮고나서부터 머리속에 LISP와 파이썬 밖에 없었다.
LISP를 접해보려고 했지만, 괜찮은 국내 서적을 찾을 수가 없었다.
인터넷에서 배우지 뭐, 했으나 괴물 형상의 괄호 투성이 언어와 영어로된 설명은 날 금방 질리게 만들었다.

LISP는 나중으로 미뤘지만 Python과 펄 그리고 루비 마저 버릴 수는 없었다.
하나씩 책을 구해서 읽어보고는 그 중 내 두번째 무기로써 Python을 선택하게 되었다.
( 첫 번째 무기는 물론 C++ 이다. ^_^ )

비즈하드 프로젝트를 하면서 파이썬으로 뭔가를 만들어보고 싶은 욕구가 넘쳐난다.
꽤 적당하다고 생각되는 몇 몇 기능들은 이미 다른 언어로 만들어져 있기 때문에 굳이 바꾸지 않고 앞으로 새로 추가될 기능에 대해서 한 번 시도해 보려고 한다.

아 얼마나 즐거울까.



신고
  1. at 2010.03.25 10:18 [edit/del]

    비밀댓글입니다

    Reply

submit