Wednesday, November 25, 2009

그렇게 Objective-C가 좋다면 왜 다른데서는 쓰지 않는가?

Cocoa with Love에 message passing 방식과 virtual table게 기반한 언어의 처리에 대해서 나온 포스트를 링크했었다. 역시 미국애들도 왜 그렇게 좋은 objective-c를 왜 다른 곳에서는 쓰지않는가에 대한 질문이 많다. 이 말은 물론 다른 뜻을 내포하고 있겠다.
이 말에 대한 답을 하자면, 우선 역사를 알아야 하나는 점이다. 그리고 여기에는 일종의 사보타지가 있었다는 것도...

우선 Objective-C는 SmallTalk에 기반을 두었다. 이 언어는 OOP를 구현하는 연구적인 언어의 성격이 강한 언어다.
그러므로 성능보다는 어떻게하면 소프트웨어를 만드는 데 있어서 부품화를 잘 할 수있는지, 실제 소프트웨어를 제작 관리하는데 어떤 기능이 어떻게 필요할지에 더 촛점을 두고 개발이 되었다. 그러므로 80년대 초에 OOP언어가 실제 환경에서 쓰일때는 실제와의 trade-off 즉 성능과 이상적 기능과의 타협이 있어야만했다. 그래서 대부분의 용도에는 C++의 접근이 더 현실성이 있었던 것이다. 하지만 잦은 코드의 변경이 요구 되는 환경에서는 코드의 관리가 중요했다. 큰 프로젝트를 하는 사람들은 느끼겠지만 코드의 유지 보수에 드는 시간과 인력이 오히려 제작보다도 더 든다는 것은 익히 알것이다.
그래서 그런 것이 요구되는 증권사같은 곳에서는 NeXT가 많이 쓰인 것으로 알고 있으며, Web Object와 같은 경우는 NeXT가 없어지는 날까지 아주 호평을 받으며 쓰였었다. (참 아깝다. 지금은 Apple이 web object를 포기했으니 말이다. 아무래도 Apple로 흡수 통합되면서 플랫폼이 생기니 우선 OS와 그 위에서 도는 compiler기반의 것이 더 중요해서였을 것이다. 이때 많이 포기했는데 3 tier binary code라던가 OPENSTEP, White NeXT와 같은 것이 그것이다. )

하지만 점점 더 컴퓨터의 성능이 좋아지고 Java같은 Virtual Machine언어도 광범위하게 쓰이는 판국에 더 이상 Objective-C의 성능은 문제거리도 되지않게 되었고 바야흐로 코드의 유지 보수 관리라는 것이 더 중요하게 된 시점이다.

또 다른 이유는 사업계에서의 정치적인 이유로 알고있다. 산업계는 NeXT의 개발 환경의 우수성을 알고 있었다. Sun, HP, IBM 모두 NeXT의 환경을 받아들이기로 다 협상을 하고 실제 동작하는 것을 가지고 있었다고 한다. 하지만 이 환경을 기본 제공하는 것이 아니라 옵션으로 제공하면서 광고는 전혀 하지 않았다고 한다. 여기에는 그 세 회사가 Steve Jobs를 어떻게 생각하고 있었는가에 그 이유가 있다. 그때 당시 Steve Jobs는 비록 NeXT의 사장이지만 Apple이나 MS처럼 강력하지 못했다.하지만 업계는 이미 그가 Bill Gates보다 더 위험 인물이라는 걸을 이미 경험을 해 보았기에 알고 있었다. 이미 Bill Gates만으로도 충분히 골치가 아프던 업계는 또 한명의 더 지독한 인물이 재부상하는 것을 원치 않았었다고 한다.
그럼 그것을 사보타지하는 게 좋지 않은가? 그래서 Jobs와 계약을 해서 딴 생각 못하게 해 놓고 사실은 그쪽으로 사업을 추진하지 않은거라고 한다.

이 같은 사실을 어디서 알았는지 궁금해 하시는 분들이 있을 줄 안다. 다 그때 당시에 분석기사들에 있던 것이다. 오랬동안 관심있게 봐왔기에 기억하는 것일 뿐이다.

MS의 연구자들도 같은 생각을 하는 것 같다. .Net을 보면 Objective-C와 Cocoa와 무척 흡사하다는 것을 느낀다. 그렇다면 그냥 Objective-C와 Cocoa를 채택하지 왜 C#/C++ .NET을 만들었는가? 그거야 뭐 당연한 것이고..

Friday, November 20, 2009

Good introductory article on Chrome OS

I should write about it someday.

By the way, if the subject is clicked, you will see an article on Gizmodo.

Monday, October 5, 2009

한심한 교보 문고

한심한.. 시리즈 2

한국의 컴퓨터 이용 상황.. 사람들이 왜 표준을 지켜야 하는지 이해를 아직도 못하는 듯하다.
중소 웹 프로그래밍 회사들, 그리고 대기업도 마찬가지.. 그저 MS가 전부인줄 알고, IE에만 맞추어서 코딩들을 해 왔다.
예전 어떤 회사는, 한국에서 Free Bank 운동인가 때문에, 꼴에 척한다고 Apple사와 손을 잡고 웹 표준화를 지향하는 웹 사이트를 만든다고 했다. 웃긴다. 그냥 서점에서 싼 HTML이나 JavaScript 책 사던가 하면 끝날 일을 그따위 속 뻔히 보이는 멘트만 한다.
자주 가던 MacZoo사이트에선 내가 이런 말을 했더니 어떤 사용자가 ( 절대 개발자는 아니라고 본다 ), 왜 공부 못하는 애가 공부 좀 하겠다고 참고서 사겠다는데, 면박 주냐라는 식으로 말을 했다. 도대체 비교의 대상이 되지 않는 것을 비교한 것이다.
뭘 좀 알고나 이야기 하면들 좋겠다.

오늘 Kyobo Book Center의 online 페이지로 가봤다. 이제 eBook을 사 볼까 하는 생각에 갔는데.. 회원 가입을 해서 우선 Free eBook을 다운 받아 볼까 했다.



참.. 한심하다. 제일 밑의 동의함을 눌렀는데, 아무런 변화가 일어나질 않는다.
도대체가 테스트나 하고 이런 페이지를 만든 것일까?
교보 문고는 잠정 고객 하나 잃은 것이다. 어디 나 뿐일까?

요새 웹을 사용하는 장비들이 얼마나 많은가? 이런 저런 각종 휴대용 장비들이 참 많다.
그런데 한국의 웹 개발사들은, 그리고 "갑"의 위치에 있는 의뢰자들은 다들 그런 장비로 부터의 접근을 스스로 포기들 한 셈이다.
PSP에서도 저게 들어가질까?
Playstation에서도 들어가질까?

쯧쯧쯧..... 한심하다.
도대체 개발사들의 윗대가리 놈들은 뭐야?

Friday, October 2, 2009

한심한 iRiver

무슨 디자인? 디자인 꽤나 신경쓴다는 iRiver

미국 사람들이 다 웃더라.
이게 뭐냐.


[iRiver Story ]


[Amazon Kindle]

또 이러겠지. 디자인이란게 그렇다고. 거의 비슷한 생각한다고 혹은 트렌드가 있다고.
근데 말이다. 현대 소나타 때도 그렇고.. 어느 한 업체의 디자인이 과연 트렌드이냐 말이다. 그리고 세상의 거의 모든 차들이 다 그것과 비슷한 디자인을 하고 있냐 말이다.

다른 eBook 리더들을 보자. 이 Kindle과 비슷한게 있던가?
다 다르지?

기억하기로 아마 iRiver 사장이 iPod의 성공은 디자인때문이었다고 했었지? 그외엔 아무것도 없다고..
참.. 한심한...

Saturday, September 19, 2009

Google Chrome problem

The Google Chrome looks to have some problem.
Here is a screenshot for my blog.



Hmm.. Even Safari on Windows seems to have the same problem.

Thursday, September 17, 2009

Why I want to have #pragma mark in Visual Studio

This is on Windows.



This is on Mac.



Visual Studio needs #pragma mark.

Sunday, August 30, 2009

The difference between Mac and Windows

사람들이 도대체 Mac을 왜 쓰냐고 물어볼때, 특별히 해 줄 말이 없다. 프로그래머로써 좋은 것을 그 보통 사람들이 알리가 없었고, 그들은 대개 사용하는 측면에서의 다른 점을 물어 본 것이기 때문이다.



글쎄.. 물론 둘 사이엔 차이점이 대단히 많다. 하지만 대개 직관적인 측면에서 이루어지는 것들이어서, 부지 불식간에 혜택을 보는 면이 많아, 뭐라 딱 뽑아서 말하기 힘들다.


그래서 대개 해 주는 답변은 "써 보라"였다. 참.. 어처구니 없는 답변이다. 비싼 컴퓨터를 ( 옷, 신발, 여자들 용품에 비하면 대단히 싼게 컴퓨터지만.. 근데 왜 사람들이 비싼 소품들 살때는 비싸단 소리 하나 안하면서 컴퓨터에 대해서는 비싸단 말을 하는거야? ) 사는데 충분한 설득력을 유발하기 위해서 해달라는 질문인데.. 써 보라니...





요번에 그런 자잘한 것 중 마침 기억나는 것이 있어 여기에 포스팅 해 본다.



자 우선 Windows의 화면이다.



그럼 이제는 Mac에서의 화면이다.


차이점이 느껴지는가?
파일 이름을 표시하는 것을 보라.
Windows에서는 첫 몇글자가 보인다. 반면에 맥에서는 첫 몇글자와 끝 몇글자가 보인다.
이 정도면 무언가 딱 하고 오지 않는가?

Apple의 개발자들이 얼마나 사려 깊은지 알 수있다.

자 예를 들어 보자. Visual SourceSafe(VSS) 서버에서 소스코드를 check out하고 작업하다가, 이런 저런 이유로 첫 몇글자가 같은 폴더등에서 작업할 수가 있다. 그런데, VSS의 클라이언트 프로그램은 파일 이름이나 폴더 이름을 선택하면 대단히 짧은 Text Field에서 그 이름을 보여준다. 그리고 사용자는 텍스트 필드의 길이를 조절 할 수가 없다. (VSS 6)
이럼 도무지 어떤 폴더의 것인지, 어떤 파일인지 알 수가 없다. 화면에 나타난 부분은 다 똑같기 때문이다.

대개 사람들이 폴더나 화일 이름을 정할때, 그 구별을 할 수있는 텍스트를 앞에나 뒤에 넣게 마련이다. Mac에서의 이런 사려 깊은 디자인... 이런 성격의 것이 OS의 도처에 있다.