본문 바로가기

조엘

아이팟 아이팟을 한 번 보세요.아이팟은 배터리를 갈아 낄 수 없습니다.배터리가 수명을 다하면, 정말 안 됐습니다만, 새 아이팟을 사러 가세요.애플은 배터리를 바꾸려면 친절하게도 직접 공장에 보내라고 합니다.직접 한 번 보내 보세요.배터리 갈아 끼우는데 65.95 달러나 받습니다.우째 이런 일이..... 제 이론은 이렇습니다.애플은 완벽하게 부드럽고 매끄러운 아이팟 표면을 형편없는 배터리 덮개로 망치고 싶지 않았습니다.아이팟 뒤태는 얼마나 아름답고 섹시합니까!여기에 툭하면 깨지는 작은 걸쇠가 달렸고, 주머니 속 먼지와 온갖 지저분한 때가 틈새에 잔뜩 끼는 배터리 덮개라니!싸구려 잡동사니 가전제품에나 붙는 구역질 나는 놈이 말이나 됩니까?아이팟은 제가 여태까지 보아온 가전 제품 가운데 최고로 매끈한 작품입니다.아이.. 더보기
Winamp ...지난 몇 년 동안 진정한 고음들이 모인 위대한 소프트웨어들이 많이 나왔습니다.그럭저럭 프로그래머들은 결코 만들어내지 못하는 소프트웨어들이죠. 2003년, 널소프트는 윈앰플 새 버전을 출시하면서 웹사이트에 다음과 같은 글을 올렸습니다.(http://web.archive.org/web/20031224061615/www.winamp.com) - 죽여주게 멋지고 새로운 외관!- 신바람 나는 새로운 기능들!- 대부분 제대로 동작! 마지막 '대부분 제대로 동작!'에서 사람들은 모두 배꼽을 잡고 뒤집어졌습니다.사람들은 행복했고 윈앰프에 열광했습니다....그게 다 웹사이트에 올라온 '대부분 제대로 동작!'이란 문구 때문이었습니다. 멋지지 않나요? 조엘온소프트웨어를 넘어서, 272p 더보기
밀리미터 싸움 사람들에게 팔려고 만든 소프트웨어, 상품 소프트웨어는 밀리미터 싸움입니다.매일매일 조금씩 전진합니다.단 한가지씩 찔끔찔끔 나아집니다.공장 설정 알람 시각을 자정에서 오전 일곱 시로 바꿉니다.간신히 누군가에게 도움이 되는 작은 개선을 이룹니다.겨우 1 밀리미터 전진합니다. 이렇게 개선해야 할 사소한 일들은 수천, 수만 가지나 됩니다.이런 사소한 일들을 찾아내려면 끊임없는 비판 정신이 필요합니다.모든 사물에서 오류를 찾아내도록 마음을 다잡아야 합니다.여러분 주위의 소중한 사람들이 짜증나서 미치더라도 할 수 없습니다....이렇게 작은 문제 하나하나를 조금씩 바로잡아 가면서 제품을 닦고, 다듬고, 광내고, 장인정신으로 무장시키면 마술이 일어납니다.밀리미터가 모여 센티미터가 되고, 센티미터가 모여 미터가 되고, .. 더보기
헝가리안 표기법 (틀린 코드를 틀리게 보이도록 만들기) 틀린 코드를 틀리게 보이도록 만들기2005년 5월 11일 목요일 ...(중략)다음 C코드는 문법도 정확하고, 코딩 표준도 지켰습니다. 일부러 이렇게 짠 것 같아 보이기 까지 합니다.char* dest, src; 하지만 C로 코딩을 많이 해본 사람이라면, dest는 char형 포인터지만, src는 단순한 char형이란 사실을 금세 알아차립니다.... 코드에서 더러운 냄새가 납니다. ...조금 더 미묘한 문제도 있습니다.if (i != 0) bar(i); foo(i); 중괄호 팔아먹기 신공으로 여러분 뒤통수를 때립니다. i값이 뭐든 foo(i)를 호출해버리는군요.이렇게 중괄호가 없는 코드 블록이 나타나면, 뭔가 찝찝하고 불편한 느낌이 들어야 합니다. 프로그래머가 격는 세가지 단계를 알려드리겠습니다.1. 뭐가.. 더보기
여러분 프로그래밍 언어는 이렇게 할 수 있어요? 여러분 프로그래밍 언어는 이런거 됩니까 (2004년 3월 2일 화요일) 어느 날, 여러분은 코드를 훑어보다가 언뜻 보기에 거의 똑같은 코드 블록들을 발견 합니다.// 시시한 예제: alert("I'd like some Spaghetti!"); alert("I'd like some Chocolate Moose!");코드 중복은 나쁜거니까, 함수를 만듭니다. function SwedishChef( food ) { alert("I'd like some " + food + "!"); } SwedishChef("Spaghetti"); SwedishChef("Chocolate Moose");이 코드는 처음보다 더 낫습니다. 유지보수성, 가독성, 추상화 등등의 이유 때문에. 다른 예제를 살펴보겠습니다. alert(".. 더보기
[조엘]커뮤니티 소프트웨어 만들기 커뮤니티 소프트웨어 만들기2003년 3월 3일 월요일 사회 과학자 레이 올덴버그는 자신의 책 '위대한 좋은 장소(The Great Good Place, 1999)에서 인간에게는 집과 직장 말고, 친구를 만나고, 맥주를 마시고 그날 일어난 일들을 이야기하면서 인간 관계를 즐기는 제3지대가 꼭 필요하다고 역설했습니다. 커피숍, 바, 미용실, 호프집, 당구장, 클럽 같은 단골집들은 생존에에 필요한 공장, 학교, 아파트만큼 필수불가결한 요소입니다.하지만 자본주의자들이 세상을 지배하면서 이러한 제3지대는 잠식 당했고, 사회는 점점 황폐해졌습니다.... (중략)많은 사람들의 삶이 일하러 갔다가 집에 돌아와서는 텔레비전 보기로 굳어졌습니다. 일-텔레비전-잠-일-텔레비전-잠.제가 보기에 이 증상은 시애틀 근교와 실리콘.. 더보기