2013년 1월 3일 목요일

Unix vs. Windows

얼마 전에 썼던 [조엘 온 소프트웨어]의 다른 부분 얘기입니다.

<더불어 살기>라는 제목의 글인데 원어로는 Biculturalism이군요.

시작은 Unix와 Windows의 차이점에서 시작을 했는데,
이내 The Art of Unix Programming (에릭 S. 레이몬드 저)이라는 책이 중심이 됩니다.

전체적인 이야기의 흐름은, TAOUP를 읽고 난 후의 감상문(?) 정도의 글입니다.

하지만 TAOUP에 대해 소개하는 부분과 글의 마지막 부분 정도를 제외하면 꽤 비판적인 어조로 글을 썼습니다. 특히 중간에 다음 문장을 읽을 때에는 '적대감'마저 느끼게 되어 사뭇 놀라웠습니다.

미네소타의 도시 세인트 폴을 한번도 벗어나보지 못한 촌뜨기 미국아이처럼 단일 문화 성향을 보이는 프로그래머가 너무도 많은데, 이런 프로그래머는 문화적인 가치와 핵심적인 인간 가치에 놓인 차이점 조차 제대로 구분하지 못합니다. 저는 윈도우가 미개하며 멍청하다고 생각하면서 윈도우 프로그래밍을 비웃는 유닉스 프로그래머를 많이 만나봤습니다. 레이몬드 또한 종종 배경을 무시한 채 다른 문화의 가치를 얕보는 함정에 빠져 있습니다.

조엘의 논조가 너무 비판적이어서 마지막에 TAOUP에 대해 언급한 장점이 오히려 비아냥거림으로 들릴 정도였습니다.


저는 TAOUP를 읽어보지도 않았고, 에릭 레이몬드에 대해서도 아는 바가 없었는데, 조엘과 에릭 둘 중에 누군가가 심하게 편향적이거나, 혹은 둘 사이가 몹시 좋지 않다는 것은 짐작할 수 있겠습니다.

지금 다시 읽어 보니, 이런 문구들도 있네요.
종종 물의를 일으키는 에릭 S. 레이몬드가... 
그런데 레이몬드의 논조가 너무 극우주의(Anti-Idiotarian)에 가까워서...
조엘이 에릭을 꽤 싫어하나 봅니다.


이 글에 대한 다른 사람들의 생각이 어떤지 궁금해서 그의 블로그에 가 보았으나, 블로그에 댓글을 달 수가 없습니다.--;
http://www.joelonsoftware.com/articles/Biculturalism.html

2013년 1월 2일 수요일

iPhone vs. Android Phone

기껏해야 일주일 남짓, 구닥닥리가 된 iPhone 3GS만을 사용해 보고 느낀 점....아니,
상상해 본 것이 하나 있습니다.

몇가지 어플을 설치해서 사용해 보았는데,
우연히 Square Enix의 Symphonica라는 게임을 접하게 되었고, 무척 마음에 들어서 틈만 나면 즐기고 있었습니다.

게임의 제목에 일러스트만 보아도 알 수 있는 쟝르의 게임입니다.
Symphonica의 일러스트
Symphonica의 게임 화면
네, 이 게임은 리듬액션 게임이고, 특히 클래식 음악을 대상으로 하는 리듬액션 게임입니다.


아이폰의 터치 스크린과 리듬액션 게임을 접목하여 다양한 터치 방식을 취하고 있으며, 귀에 익숙한 클래식 음악들을 즐길 수 있고, 각 음악과 터치액션이 적절하게 조화를 이루어 지휘자가 된 듯 한 느낌도 잘 살린 게임이었습니다.


이 게임도, 여러번 반복해서 즐길 수 있도록 각 곡마다 랭크(성취도)를 평가하게 되어 있습니다.
C < B < A < S < SS < SSS
최저의 C Rank 부터 최고인 SSS Rank까지 존재하는데, 아직까지 평가의 기준이 무엇인지는 알아내지 못했습니다.

게임 중에 화면의 액션 노트와 터치의 타이밍에 따라서 Bravo - good - ok - miss의 네가지 평가가 주어집니다. 그리고 miss 없이 연속하여 터치 액션을 한 횟수를 combo라 하고 최대 combo의 수가 얼마인지도 평가에 포함됩니다.

곡마다 Skill Level이 존재해서 Level 1이 가장 쉽고 Level이 올라갈 수록 어려워 집니다.

지금까지 알게 된 바로는, Rank를 결정 짓는 요소는 miss가 얼마나 적은가와 최대 Combo가 얼마나 큰가로 결정 되는 것 같습니다. Bravo와 good, ok의 비중은 상관이 없지 않나 생각됩니다.


이 글의 제목과 상당히 동떨어진 얘기를 했습니다만, 이제부터 시작입니다.

높은 Rank를 받기 위해 열심히 반복을 하다보니 짜증나는 문제가 보이기 시작했는데,
간혹 곡이 빨라지고, 입력해야 할 액션 노트가 많아지면 게임이 끊어지는 문제가 발생을 하더군요. 제 모델이 이 게임을 즐길 수 있는 가장 하위모델이라 그런지 모르겠는데, 이러다보니 최고 Rank를 받는 건 거의 불가능에 가깝습니다.

그리고 이 게임에 대해 검색을 해 보니, Android Phone용으로는 출시를 하지 않았더군요.

잠시 생각해보니, Android 진영은 Android OS만이 공통일 뿐, 사용되는 CPU나 디스플레이 등이 모두 다를 수 있겠더군요. 반면에 iPhone은 모델이 몇가지 있긴하나 극히 제한된 종류이고 그 사양이 어떤지도 알 수 있습니다.

저야 비록 맛보기 무료버전으로 이 게임을 즐겼지만, 정식으로 구입을 하면 $15 정도인 것으로 알고 있습니다.

적지 않은 금액을 지불하고 구입한 게임에서 저와 같은 불편함을 호소하는 사용자가 많아진다면 제작사의 입장에서도 매우 난처하지 않을까 싶습니다. 자칫 자사의 이미지에 안좋은 영향을 끼칠 수도 있으니 말입니다.
이런 문제점을 고려한다면, 다양한 기기와 다양한 환경으로 리스크가 큰 Android 진영보다는 어디부터 어디까지 가능할지 예측이 가능한 iPhone이 리스크가 적은 시장이 아닐까 생각됩니다.

이런 리스크의 문제, 즉 무질서하고 다양한 바다와 같은 Android와 잔잔한 호수이거나 일정한 방향으로 흘러가는 강과 같은 iPhone의 차이 때문에, 이 게임은 iPhone용으로만 출시된 것이 아닐까요?

실제 그 내막이나 배경이 무엇인지는 모르겠습니다만, 어쩌면? 하는 생각에 두서없이 적어 보았습니다.

2013년 1월 1일 화요일

화성인 아키텍트?

꽤 인기가 있었던 [조엘 온 소프트웨어]를 읽다 보니, 14장의 <화성인 아키텍트를 조심하세요>라는 이야기가 있습니다.

요점만 말하면 추상적인 아키텍트와 관련된 많은 노력의 산물들이 끊임없이 고안되고 새로운 이름을 붙여서 나오지만, 현실성이 부족한 [화성인]스러운 개념으로 인해 정작 쓸모는 적고 투자해야 할 시간과 노력은 많으니, 너무 현혹되지 말라는 이야기입니다.

장의 제목이나, 이야기의 처음 시작은 추상화된 아키텍트에 관한 듯 보이지만, 조엘 스폴스키가 예를 든 분야는 분산형 컴퓨팅 시스템의 오랜 숙제인 이기종 RPC/CORBA와 관련이 있습니다.
이 기술은 다양한 컴퓨팅 환경으로 인해 상호 호환성이 떨어지는 문제를 극복하자는 취지에서 시작된 것으로 알고 있습니다.


문득, 이 장을 읽다보니, 컴퓨터와 전자기기 분야에서 오래되어 온 [표준화]와 비슷한 경우가 아닌가 하는 생각이 듭니다.

초기의 8 bit 개인용 컴퓨터의 시대가 시작하면서, 세상에는 참으로 다양한 컴퓨터가 탄생하였습니다. Apple과 Commodore, Tandy Radio Shack, Sinclare, Sharp 등등... 마치 중국의 춘추전국시대 마냥 무수히 많은 기업들이 각자의 컴퓨터를 만들었습니다.

그리고 얼마 가지 않아 사용들은 너무 많은 비슷한 컴퓨터들 사이에 혼란을 느꼈고, 호환되지 않는 소프트웨어에 불만을 가지게 되었습니다.
그리고 이런 자연스러운 요구에 부흥하여 미국의 Microsoft와 일본의 ASCII가 손을 잡고 MSX라는 표준 컴퓨터를 발표하였으나, 일본과 한국 등의 일부 국가에서만 호응을 얻었고, 그나마도 게임용 컴퓨터로 활용되어 애초의 취지는 안드로메다로 가버리고 말았습니다.

MSX (사진은 후기형 기종인 MSX Turbo-R)

게임기의 세계에서도 이러한 노력이 있었습니다.
언제나 몇 개의 게임기 업체가 경쟁을 하는 구도를 이어가자, 사용자들은 유명한 게임을 자신의 게임기에서 즐기지 못하는 불만을 가질 수 밖에 없었고,
이러한 사용자들의 욕구를 감지한 미국의 Electronic Arts에서 3DO interactive라는 회사를 만들고, 3DO라는 게임기를 설계해 여러 회사와 콘소시엄을 체결해 일종의 공동 개발/협력을 할 수 있는 계기를 만들고자 했습니다.
하지만, 참여 업체들이 업계의 마이너 후발주자였고, 소니의 새로운 게임기 출시 등으로 제대로 빛을 보지 못하고 사그라져 버렸습니다.


어쩌면 이런 노력들은 여러 분야에서 항상 존재해 왔던 게 아닌가 싶습니다.
지금은 유물이 되어버린 VTR(Video Tape Recorder)의 VHS와 Beta 방식도 그랬고,
최근에는 표준화가 되어 실생활로 다가온 디지털 TV도 초기 아날로그 방식에서는 NTSC와 PAL로 양분되어 있었죠.


하지만 반대의 경우도 있으니,
한때 윈텔이라 불리던 Intel 기반의 IBM 호환 PC와 Microsoft의 MS-Windows 운영체제가 독점에 가까운 점유율을 보인 적도 있으나,
획일화에 염증을 낸 사용자들 덕분인지 Linux가 활성화되고 매킨토시가 다시 점유율을 높이는 것을 보면,
획일화와 다양화를 반복하는 것이 인간의 본성이 아닌가 하는 생각도 듭니다.