Media Log

Bossie Awards 2011이 발표되었다.
어떤 오픈소스들이 잘나가고 있는지 한번 살펴봅시다.

Applications

Desktop and mobile software

Application development software

Data center and cloud software
데스크탑과 모바일 소프트웨어는 모두 내가 사용하고 있거나 사용했던 것들인데 삶을 좀 더 편하게 해주는 고마운 무료 프로그램들이다.
개발 소프트웨어들을 하나씩 바라보다가 C/C++이나 관계형 데이터베이스를 다루고 있는 사람들이 문득 할아버지처럼 느껴졌다. 나도 그 할아버지 중 하나라는 것이 슬프다, 늙어죽지 않으려면 빨리빨리 따라가야지.

2010년까지의 결과는 위키피디아에서 볼 수 있다.
새 해가 되면 항상 찾아보는 것이 있다.
지난 해 동안 괜찮은 오픈소스 프로젝트가 뭐가 있었는지, 프로그래밍 언어 동향은 어떻게 바뀌어가는지를 둘러보는 일이다.
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# 한 번 시켜주지.
SwingX 라는 오픈소스 프로젝트가 있는데, 꽤 오랫동안 0.9대 버전으로 개발되어 오다가 이번에 1.0 버전이 릴리즈되었다.

SwingX는 java의 기본 swing을 랩해서 조금 더 기능이 풍부한 UI 구현들을 제공하는 프로젝트이다.
java로 데스크탑 애플리케이션을 만드는 경우는 그렇게 많지 않지만, 만약 그런 일을 접하게 되면
기본 swing으로 뭔가 부족하다 싶을 때 swingx에 혹시 원하는 기능이 있는지 찾아보고 그런 기능이 있다면 직접 구현하는 수고를 덜 수 있다.

JRE 1.6.10부터 제공되는 Nimbus 룩앤필(개인적으로는 스윙에서 처음으로 그나마 봐줄만한) 역시 이 swingx 프로젝트에서 시작해서 JRE에 통합되었다.


이미 기존에 만들어둔 GUI애플리케이션이 있다면 룩앤필을 설정하는 코드 몇 줄만 추가함으로써 별 다른 수고 없이 더 보기좋은 UI로 탈바꿈 시킬 수 있다.

MFC로 GUI 프로그래밍을 하게되면 객체에 변경을 가하기 위해 주로 상속을 하거나 서브클래싱을 하게되는데 swing에서는 인터페이스를 구현하는 방법이 많이 사용된다.

C++ 프로그래밍을 하게 되면 COM같은 특수한 분야를 다루지 않는 이상 인터페이스를 구현하는 일이 그다지 많지 않지만, 자바에서는 곳곳에서 쉽게 찾아볼 수 있다.

인터페이스를 설계 및 구현하고 또 변경하고 싶은 기능들만 오버라이딩하여 잘 동작하게 될 때의 기쁨은 어쩌면 객체 지향 프로그래밍의 가장 큰 즐거움 중에 하나일 것이다.
나는 C++을 하는 동안 그런 느낌을 한 번도 느껴보지 못했는데, 자바로 프로그래밍을 하면서 많은 것을 배우고 재미를 느끼는 중이다.

인터페이스가 뭔지 혹은 가상함수가 뭔지에 대한 내용은 어려운 내용이 아니라서 쉽게 배울 수 있지만
인터페이스를 언제 사용해야 할지, 왜 사용해야 하는지에 대한 깨달음은 실제로 많이 사용해봐야만 얻을 수 있는 것 같다.

그런 면에서 객체 지향 프로그래밍을 배우기에는 확실히 C++보다는 자바가 좋은 선택이다.


요새는 오픈소스 애플리케이션을 많이 쓰고 있다.
최근 1년여 동안 내가 그동안 잘 사용했던 많은 애플리케이션들을 오픈소스 애플리케이션으로 대치했다.

하나씩 그 이유와 장단점을 살펴보면,

Internet Explorer -> Firefox
나는 2.0.0.x 부터인가 Firefox를 썼던 것 같은데, 그 때는 탭기능 하나만을 좋아했다. 익스플로러에서는 Ctrl 키를 누르고 하이퍼링크를 클릭해야 탭으로 열리고 그렇지 않으면 새창으로 열리는 경우가 많았던 것 같은데, 파이어폭스는 언제나 새탭으로 잘 열려서 그게 좋았다.

그 때 까지만 해도 익스플로러랑 파이어폭스를 반반씩 사용했었는데,
3.0 부터는 확실히 파이어폭스만을 쓰기 시작했다.

내가 파이어폭스 3.0 에서 가장 좋아하는 기능은 비밀번호 저장기능이다. 대화상자 형식으로 비밀 번호 저장 여부를 물어보지 않고, 사용자의 페이지이동을 방해하지 않은채 위에서 살짝 내려왔다가 쏙 들어가는 그 기능 때문에 익스플로러를 쓸 수가 없다.
비밀번호가 정확히 기억나지 않을 때 비밀번호를 입력한 후에 어떤 대화상자가 떠서 이 비밀번호를 저장하겠습니까 하고 물어보는 것은 아주 사용자를 고민되고 짜증스럽게 만들어준다. 파이어폭스는 비밀번호를 입력한 후에 로그인이 성공해서 다음 페이지로 넘어가는걸 눈으로 확인하고 나서 Remember 버튼을 누를 수 있다.
또 다른 좋아하는 이유 중 하나는 주소창 이다.
자주 가는 페이지 순으로 저장해놓는 것도 마음에 들고,
http://google.com/groups 와 http://groups.google.com 같이 햇갈리는 주소에 대해서 고민하지 않고 groups라고 입력하면 이전에 갔었던 기록에서 찾아서 나타내주는 이 기능이 아주 맘에 든다.

Editplus, Ultraedit -> gVim
vim으로 에디터를 바꾸게된 결정적인 이유는 로그파일을 살펴볼 때 원하는 문자열에 하이라이팅을 시켜놓고 쉽게 찾아볼 수 있기 때문이었다.
서버 로그를 볼 때 여러 쓰레드가 섞여서 적어 놓은 파일을 보고 있자면 눈알이 빠질 것만 같은데, 이럴 때 쓰레드 번호에 쉽게 하이라이팅 시켜놓고 해당 쓰레드의 코드 실행을 편하게 볼 수 있어서 좋았다.
한번 vim을 쓰다보니깐 크랙 버전을 구해 Editplus나 울트라 에디트를 설치하는게 너무나 귀찮아져버렸다. 또 커다란 파일을 다룰 때의 퍼포먼스나 편리한 검색 기능들이 다른 에디터로 돌아가지 못하게 만들어버렸다.

아웃룩 리더기 -> 구글 리더기
오픈 소스는 아니지만 어쨌든.
나는 RSS를 구독할 때 아웃룩에 있는 리더 기능을 사용했었는데,
집과 회사에서 동기화가 안되는게 가장 견디기 힘들었다.
그래서 나는 웹기반 서비스 중에 구글 리더기를 선택했는데,
구글 리더기에서 가장 좋은 점은 내가 관심있어하는 분야의 블로그를 자동으로 찾아서
추천해주는 기능이었다.
나는 현재 200여개 정도의 블로그를 구독하고 있는데, 이 중 절반 정도는 구글 리더기가 추천해준 블로그들이다.

Windows Vista -> Ubuntu
비스타에서 리눅스로 바꾼 이유는 그냥 심심해서, 라고 하는게 맞겠다.
어느날 집에서는 리눅스가 쓰고 싶다 생각이 들어서 우분투를 깔아놓고 쓰기 시작했는데,
처음에는 많이 불편해서 비스타로 자주 재부팅 했지만 이제는 익숙하게 잘 쓰고 있다.
- 그렇다곤 해도 리눅스 데스크탑은 아직 갈 길이 한참 멀었다.
얼마전부터인가 다른 컴퓨터들의 바탕화면이 하나둘씩 까만색으로 변한 것들을 볼 수 있었는데, 나는 리눅스로 바꾸길 아주 잘했다고 생각했다.

vmware -> Virtualbox
우분투 안에서 윈도우즈를 띄우기 위해 VirtualBox를 선택했다.
이유는 물론 무료로 쉽게 구해 설치 할 수 있기 때문이었다. 성능 따위야 좀 떨어지면 어때 라고 생각했었지만, vmware를 사용했을 때와 별반 다름없이 아주 잘 쓰고 있다.

MS Word, Excel -> Google docs
나는 애플리케이션들을 다루는 능력이 거의 컴맹 수준이라 기획팀 여자들이 나를 자주 놀리곤 하는데,
내가 워드나 엑셀에서 사용하는 기능의 95%는 글씨 크기 조정, 글씨 두껍게 만들기 정도이다.
Google docs라는 것을 한 번 사용해보고 난 후에 나는 갈아타지 않을 이유가 아무것도 없다는 것을 깨달았다.
내가 할 수 있는 모든 것을 Google docs에서도 할 수 있었으며, 게다가 윈도우즈나 리눅스에서, 또 집이나 회사에서 역시 잘 사용할 수 있다.
Sun의 OpenOffice도 좋다고 하지만 나는 사용하지 않는다. 어짜피 글씨 두껍게 밖에 못하는거......

대충 정리가 된 것 같다.
내가 오픈소스 애플리케이션을 더 사랑하게된 이유,
1. 불법 프로그램을 다운받아 시디키를 넣고 크랙하지 않아도 된다.
2. 공식 페이지에서 쉽게 다운로드 받을 수 있다.
3. 사용하는데 있어서 불편함을 모르겠거나 상용프로그램보다 훌륭하다.

그리고 위의 것들을 제쳐두고 내가 가장 좋아하는 이유 중 하나인데,
바로 업데이트가 빠른 간격으로 잘 된다는 점! 나는 개발이 중단된 프로젝트는 절대 사용하지 않는다. 업데이트하는 맛이 없으면 어떻게 쓰라고.

이 외에도 좋아하는 프로그램들이 꽤 많이 있는데, 그것들은 사용자 입장에서 쓰는게 아니라 개발자로써 사용하는 것들이기 때문에, 다음 기회에.