오늘 C언어의 창시자이자 UNIX시스템을 개발한 Dennis Ritchie가 사망하였다. 또한 그는 C를 좀 할줄 안다면 당연히 봤어야 할 The C Programming Language의 공저자이기도 하다. UNIX를 직접 접하지 못한 사람들이 꽤나 많을것이라 생각된다. 하지만 여러분이 가지고 있는 안드로이드 폰에는 UNIX 클론으로 시작한 Linux 커널이 기본으로 달려있고 아이폰이나 맥의 경우 UNIX의 일종인 BSD UNIX커널이 기본으로 들어있다. 사실 현대적인 운영체제의 개념을 정립했다고 보는것이 더 좋을수도 있겠다.

그리고 그런 UNIX를 만들기 위해 개발한 프로그래밍 언어 C는 요즘도 가장 많은 사람들이 처음으로 배우는 언어이자 가장 널리 쓰이는 언어중에 하나이다. 그 이후에 나온 C++이나 Java, C# 보다는 부족한 점도 있지만 아직도 성능을 위해서 C를 써서 개발되는 프로그램들이 많다. 운영체제는 말할것도 없고 Python의 수치계산 라이브러리인 NumPy도 성능이 중요한 부분은 C를 써서 만들고 있다. 게임도 요즘와서 C++이 많이 쓰이지 예전엔 모두다 C로 개발되었다. 이뿐만 아니라 시스템의 메모리를 직접 접근해야 한다던지 하는 경우는 C말고 도저히 쓸만한 언어가 없다. 즉, 아직 많은 부분에서는 C보다 나은 언어가 별로 없다는 이야기. 

이뿐만 아니라 아까 언급한 Java나 C#의 경우도 기본적인 문법은 C에서 모두 빌려왔다. 결국 현대적 프로그래밍 언어의 원조격이라고 할수 있는것이 C이다. 이러니 Dennis Ritchie가 컴퓨터 역사의 발전에 기여한것이 어마어마하다고 밖에 할수 없는것이다. 시간이 갈수록 Computer Science는 발전하고 Computer Science가 발전하면서 이런 전설적인 인물도 역사의 뒤편으로 사라진다. 

내 생각에는 진정한 혁신은 이런 사람에게서 발견해야 하는것이 맞는것 같다. 

Dennis Ritchie를 추모하며. 
헬싱 Other Stories 2011. 7. 10. 01:02
헬싱
카테고리 만화 > SF/판타지
지은이 KOUTA HIRANO (조은세상, 2000년)
상세보기

소장하고 있는 만화책중에 하나이다. 이 만화책은 처음부터 끝까지 '강함'만을 이야기 한다. "주인공 흡혈귀인 '아카드'가 엄청나게 강하다"가 이 책의 모든 줄거리 요약이다. 하지만 이 강함을 풀어가는 방식이 정말로 독특하다. 열권밖에 안되니 시간이 남을때 한번 보는것을 추천한다.
Mac OS X 와 Ubuntu Other Stories 2011. 3. 12. 14:23
나는 현재 데스크톱에 Ubuntu 10.10 버전을 사용하고, 노트북으로는 MacBook Air 13' 형을 사용하고 있다. 맥북에는 기본적으로 Max OS X가 들어가있고, 아직 MacBook Air 를 지원하는 다른 운영체제는 미흡하므로 결국 Ubuntu 와 Mac OS X 를 쓰고 있는 셈이다. 사실 두 운영체제는 크게 다르지 않다. 많은 사람들이 Mac OS X 의 화려한 화면 효과를 보고 좋아하지만, 사실 리눅스 Gnome 데스크톱 환경에서도 Compiz 를 통해 더 좋은 화면 효과를 낼 수 있다. 

두 운영체제는 둘다 POSIX 기반이다. Ubuntu 는  GNU/Linux 환경의 배포판이고 Mac OS X 의 Darwin 커널은 BSD Unix 기반의 커널이다. 다만 Ubuntu는 기본적인 패키지 관리 시스템을 내장하고 있어 오픈소스 프로그램의 설치가 쉬운 편이지만, Mac OS X 의 경우 별토의 패키지 관리 시스템이 없다. 다만 시스템적으로 Ruby, Python, Perl 등의 환경은 기본적으로 제공된다. 또한 Macport 와 Homebrew 등의 다른 패키지 관리 시스템을 사용하여 GNU환경을 비슷하게 꾸밀 수 있다. 

사실 이런 패키지 관리 시스템을 사용하면 개발환경이나 터미널 환경에서는 두 운영체제는 별로 차이를 느끼기 힘들다. 다만 Mac OS X 를 지원하는 게임들은 좀 있지만 GNU/Linux 환경의 게임은 별로 없다는 점, Macport 는 소스를 다운받아 빌드하는 방식이기 때문에 미칠듯이 느리다는 점이 어느정도 체감할 수 있는 차이이다. 사실 POSIX 환경에서의 터미널 환경에 익숙해 지면 MS Windows 시스템을 쓰기가 좀 힘들다. 시스템 환경변수를 바꾸기 위해서는 귀찮게 GUI환경에서 이것 저것 찾아들어가야 하고, cmd 도 사용하기 꽤나 불편하다. 사실 게임이나 여타 응용프로그램이 아니라면 MS Windows 는 딱히 데스크탑 환경으로도 별로 좋은 것 같지는 않다.