컴퓨터 시장의 황제. MicroSoft사의 두목.
정식 이름은 William Gates 3세라고 한다.
see also http://www.microsoft.com/BillGates (lots of his speeches, articles, and philanthropic efforts)
세계 최고 부호 ¶
미국 마이크로소프트사의 빌 게이츠 회장이 미국 경제 전문잡지 포브스가 선정한 세계 최고 부호명단에서 7년 연속 정상에 올랐습니다.
지난해 빌 게이츠 회장의 재산은 2002년보다 14%가 늘어난 466억 달러로 조사됐습니다. -- KBS 2004-02-27 20:42:52
지난해 빌 게이츠 회장의 재산은 2002년보다 14%가 늘어난 466억 달러로 조사됐습니다. -- KBS 2004-02-27 20:42:52
프로그래머 ¶
많은 젊은 프로그래머들이 자신이 존경하는 프로그래머 일위에 BillGates를 꼽는데 주저하지 않는다. 요즘 들어서는 LinusTorvalds에 자리를 위협당하고 있기도 하다. 그럼 BillGates는 훌륭한 프로그래머인가? 그가 프로그래머짓을 그만 둔 것이 십 년이 넘었으므로 -- 컴퓨터를 잘 모르는 사람들은 그가 요즘 프로그래머일을 안한다는 사실에 놀라기도 한다 -- 이 질문은 "그는 훌륭한 프로그래머였나?"로 바꿔야 할 것이다.
그는 정말 훌륭한 프로그래머였나?
여기서 중요한 것은 "훌륭한 프로그래머"가 도대체 뭐냐는 질문이 선행되어야 한다는 점인데, 만약 "해커"였는가라는 질문이 된다면 답변하기는 좀 더 쉬워진다. 해커라는 개념은 "훌륭한 프로그래머"만큼 시기에 따라 많은 변화가 있었던 것은 아니었고, 동류집단과 외부집단에 의해 비교적 잘 정의되어 있다. (그런데, 공학적 측면에서는 훌륭한 핵커는 좋은 프로그래머이지 못한 경우가 흔하다.)
최근 BillGates의 알테어 BASIC 소스 코드가 발견되었다. 하버드 대학교 모 실험실 철제 캐비넷 속에서 발견되었던 것이다. 이 코드는 BillGates를 스타로 만들어 준 것으로 그가 컴퓨터 커리어를 시작하는데 전초석이 되어 준 것이다.
그 부분을 보면 알겠지만, 한마디로 BillGates는 당시 상황에선 "훌륭한 해커"였다. 당시 메모리 가격이 상대적으로 비쌌기 때문에 속도를 주고 기억공간을 돌려받는 식의 트릭을 많이 사용했다.
예를 들어 그의 코드에선 "단어의 중간으로 점프하는 명령"이 많다. 일명 Goto 문이라고 하는 것인데, 프로그램의 실행점을 옮기기 위한 명령이다.
다음은 이런 Goto문을 사용한 "밥 먹기" 프로그램이다:
- 숟가락을 밥에 꽂는다.
- 약 120여개의 밥알이 오른 것을 확인한다.
- 상방 15도로 들어올린다.
- 만약 입 위치까지 올라오지 않았다면 Goto 3.
- 입에 넣고 씹는다.
- 만약 밥이 비지 않았다면 Goto 1.
쉽게 말해 (단어의) 중간부터 읽어도 주우욱 말이 되는 글을 써야 하는 것이다. 이걸 하기 위해서는 엄청난 언어적 감각이 필요하다.
물론 이런 기법은 당시 해커들이 종종 사용했던 것이다 -- 요즘은 메모리 가격이 싸지고, 프로그램 유지보수에 드는 비용이 더 높아져서 이런 짓은 잘 하지 않는다. 하지만 단순히 "비지니스맨"이기만 해서는 이런 써커스를 부리기가 쉽지 않다. 그는 분명 훌륭한 해커였던 것이다. --김창준
스티브 워즈니악이 만든 Apple II 의 Basic Interpreter 에도 이런 코드가 나옵니다. 기계어 코드의 특성을 이용한 것인데 사실 ASM 명령에 1:1 로 대응되는 OP-Code 를 제대로 기억하고 있어야 가능한 테크닉이지요. 이를테면 STA #$EA 이라는 명령이 OP-Code 로 8D EA 라는 두 바이트 코드라고 했을때 두 번째 바이트인 EA 에도 대응되는 ASM 명령이 있어 나중에 분기 명령을 두번째 바이트로 가게끔 고의적으로 코딩하는 식이죠. --Mono
고급 언어로 된 프로그램 소스를 어셈블리어로 얻은 다음 (gcc -S) 그것을 최적화 하는 것도 넓은 의미의 코드버밍이라고 들은 것 같습니다. 이런 방법은 자주 쓰죠. --아무개
후후. 저도 goto문을 많이 쓴답니다. 버릇이 되니 어찌할 방법이 없네요. 그렇다고 전 해커가 아녜요~ -- shineforever 세상이 불공평하고 진실되지 않다는 사실을 알아야 한다 라고 학생들에게 연설했던 빌 게이츠의 연설문은 사실이 아니라고 합니다. http://deulpul.egloos.com/291962 --naisis
RefactorMe to another page.
바이러스는 BillGates의 코드와 같이 하나의 코드를 여러가지 방법으로 읽어서 여러가지의 단백질을 만들어낸다. 기생체인 바이러스와 달리 코드를 최대한 압축할 필요가 없는 고등생물들은 이러한 방법들을 쓰지 않는 것으로 최근까지는 알려져 왔으나, HumanGenomeProject 의 결과로 인간의 유전자가 불과 초파리의 2배에 불과하다는 설이 나오면서 이러한 OneGeneOneEnzyme 가설은 심각한 도전을 받고 있다.
{{|
When asked whether studying computer science is the best way to prepare to be a programmer, Gates responded:
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
plz see also 오류인생