Bill Gates

FrontPage|FindPage|TitleIndex|RecentChanges| UserPreferences P RSS
컴퓨터 시장의 황제. MicroSoft사의 두목.

정식 이름은 William Gates 3세라고 한다.

see also http://www.microsoft.com/BillGates (lots of his speeches, articles, and philanthropic efforts)

사업가

개그맨

[http]빌 게이츠, 매트릭스 '모피어스'로 변신
무지 웃깁니다. --서상현
'해당 언론사의 요청에 의해 삭제된 기사입니다.' 그래서 연합뉴스를 직접 찾아가 봤는데, 기사를 보려면 명인증 가입이 필요하군요. -Zer0

세계 최고 부호

미국 마이크로소프트사의 빌 게이츠 회장이 미국 경제 전문잡지 포브스가 선정한 세계 최고 부호명단에서 7년 연속 정상에 올랐습니다.
지난해 빌 게이츠 회장의 재산은 2002년보다 14%가 늘어난 466억 달러로 조사됐습니다. -- KBS 2004-02-27 20:42:52

올해(2005년)로 11년 연속 세계 최고 부자로 선정되었습니다. [http]네이버 관련기사

프로그래머

많은 젊은 프로그래머들이 자신이 존경하는 프로그래머 일위에 BillGates를 꼽는데 주저하지 않는다. 요즘 들어서는 LinusTorvalds에 자리를 위협당하고 있기도 하다. 그럼 BillGates는 훌륭한 프로그래머인가? 그가 프로그래머짓을 그만 둔 것이 십 년이 넘었으므로 -- 컴퓨터를 잘 모르는 사람들은 그가 요즘 프로그래머일을 안한다는 사실에 놀라기도 한다 -- 이 질문은 "그는 훌륭한 프로그래머였나?"로 바꿔야 할 것이다.

그는 정말 훌륭한 프로그래머였나?

여기서 중요한 것은 "훌륭한 프로그래머"가 도대체 뭐냐는 질문이 선행되어야 한다는 점인데, 만약 "해커"였는가라는 질문이 된다면 답변하기는 좀 더 쉬워진다. 해커라는 개념은 "훌륭한 프로그래머"만큼 시기에 따라 많은 변화가 있었던 것은 아니었고, 동류집단과 외부집단에 의해 비교적 잘 정의되어 있다. (그런데, 공학적 측면에서는 훌륭한 핵커는 좋은 프로그래머이지 못한 경우가 흔하다.)

최근 BillGates의 알테어 BASIC 소스 코드가 발견되었다. 하버드 대학교 모 실험실 철제 캐비넷 속에서 발견되었던 것이다. 이 코드는 BillGates를 스타로 만들어 준 것으로 그가 컴퓨터 커리어를 시작하는데 전초석이 되어 준 것이다.

코드는 BillGates와, Paul Allen, Monte Davidoff 세사람이 공동 작업을 했는데, 런타임류의 것만 BillGates가 작성했다.

그 부분을 보면 알겠지만, 한마디로 BillGates는 당시 상황에선 "훌륭한 해커"였다. 당시 메모리 가격이 상대적으로 비쌌기 때문에 속도를 주고 기억공간을 돌려받는 식의 트릭을 많이 사용했다.

예를 들어 그의 코드에선 "단어의 중간으로 점프하는 명령"이 많다. 일명 Goto 문이라고 하는 것인데, 프로그램의 실행점을 옮기기 위한 명령이다.

다음은 이런 Goto문을 사용한 "밥 먹기" 프로그램이다:
  1. 숟가락을 밥에 꽂는다.
  2. 약 120여개의 밥알이 오른 것을 확인한다.
  3. 상방 15도로 들어올린다.
  4. 만약 입 위치까지 올라오지 않았다면 Goto 3.
  5. 입에 넣고 씹는다.
  6. 만약 밥이 비지 않았다면 Goto 1.

여기서 Goto는 모두 "문장 단위"로 점프를 한다. 그런데 BillGates의 코드에선 단어 중간으로 점프하는 명령이 있다. 예컨대, "약 120여개의 밥알이..."라는 문장에서 120의 2라는 숫자로 점프를 해서, "20여개의 밥압이 ..."라는 문장을 실행하도록 하는 것이다. 이런 묘기를 부리면 다른 문맥에서 20여개의 밥알이 오른 것을 확인하는 문장이 별도로 필요해도 다시 이 문장을 쓸 필요가 없다. 기억공간을 절약하는 것이다.(CodeBumming이라고 한다)

쉽게 말해 (단어의) 중간부터 읽어도 주우욱 말이 되는 글을 써야 하는 것이다. 이걸 하기 위해서는 엄청난 언어적 감각이 필요하다.

물론 이런 기법은 당시 해커들이 종종 사용했던 것이다 -- 요즘은 메모리 가격이 싸지고, 프로그램 유지보수에 드는 비용이 더 높아져서 이런 짓은 잘 하지 않는다. 하지만 단순히 "비지니스맨"이기만 해서는 이런 써커스를 부리기가 쉽지 않다. 그는 분명 훌륭한 해커였던 것이다. --김창준
스티브 워즈니악이 만든 Apple II 의 Basic Interpreter 에도 이런 코드가 나옵니다. 기계어 코드의 특성을 이용한 것인데 사실 ASM 명령에 1:1 로 대응되는 OP-Code 를 제대로 기억하고 있어야 가능한 테크닉이지요. 이를테면 STA #$EA 이라는 명령이 OP-Code 로 8D EA 라는 두 바이트 코드라고 했을때 두 번째 바이트인 EA 에도 대응되는 ASM 명령이 있어 나중에 분기 명령을 두번째 바이트로 가게끔 고의적으로 코딩하는 식이죠. --Mono

고급 언어로 된 프로그램 소스를 어셈블리어로 얻은 다음 (gcc -S) 그것을 최적화 하는 것도 넓은 의미의 코드버밍이라고 들은 것 같습니다. 이런 방법은 자주 쓰죠. --아무개

후후. 저도 goto문을 많이 쓴답니다. 버릇이 되니 어찌할 방법이 없네요. 그렇다고 전 해커가 아녜요~ :D -- shineforever

세상이 불공평하고 진실되지 않다는 사실을 알아야 한다 라고 학생들에게 연설했던 빌 게이츠의 연설문은 사실이 아니라고 합니다. http://deulpul.egloos.com/291962 --naisis

RefactorMe to another page.

바이러스는 BillGates의 코드와 같이 하나의 코드를 여러가지 방법으로 읽어서 여러가지의 단백질을 만들어낸다. 기생체인 바이러스와 달리 코드를 최대한 압축할 필요가 없는 고등생물들은 이러한 방법들을 쓰지 않는 것으로 최근까지는 알려져 왔으나, HumanGenomeProject 의 결과로 인간의 유전자가 불과 초파리의 2배에 불과하다는 설이 나오면서 이러한 OneGeneOneEnzyme 가설은 심각한 도전을 받고 있다.
AnswerMe 글의 의도를 모르겠습니다. 고난도의 유머인 거 같기는 한데... --PuzzletChung
유머가 맞지요. 풀어서 말하자면 BillGates의 코드에는 앞에 설명되었듯 CodeBurnig 같은 기분이 드는 방식이 쓰인다는 것이죠. 바이러스도 이와 같이 ABACDDCAB...가 만들어져야 하는 RNA로 ABACDD.. 단백질을 만들기도 BACDDC.. 단백질을 만들기도, ACDDCA.. 단백질을 만들기도 한다는 말이죠. --musiki

{{|
When asked whether studying computer science is the best way to prepare to be a programmer, Gates responded:

No, the best way to prepare is to write programs, and to study great programs that other people have written. In my case, I went to the garbage cans at the Computer Science Center and I fished out listings of their operating system. You've got to be willing to read other people's code, then write your own, then have other people review your code. --BillGates

&From ''A Computer Science Tapestry, Owen Astrachan (maybe taken from Programmers at Work)''&
|}}

자유소프트웨어의 개발 방식이야말로 인용문이 설명하는 그대로 아닌가? --kz

plz see also [http]오류인생


"; if (isset($options[timer])) print $menu.$banner."
".$options[timer]->Write()."
"; else print $menu.$banner."
".$timer; ?> # # ?>