2009년 1월 4일 일요일

Turing Machine

"튜링은 동성애자라는 이유로 체포되었고, 감옥에 갈 것인지 아니면 여성호르몬 에스트로겐을 맞을 것인지의 기로에서 후자를 선택했다. 호르몬 주사의 영향으로 신체의 변화를 겪게 되자 튜링은 모멸감을 견디지 못해 주사기로 사과에 청산가리를 주입한 후 백설공주처럼 독사과를 한 입 베어 먹고 자살했다. 53년 그의 나이 겨우 42세였다."

컴퓨터의 아버지, 세계 최초의 해커, 알란 튜링

배척의 원리는 자유롭게 사귀도록 내 버려둔다면 타락할지도 모를 사람들에게만 적용된다. - 알란 튜링 (Alan Turing, 1912-1954, 영국)


그가 있기에, 지금의 우리가 있다고 말해도 과언이 아니다. 그래 분명한건 누군가는 분명히 알란이 생각했던것과 똑같은 이론을 구했을지 모르겠다. 사실 알론조 처치의 람다 계산법이 튜링머신과 같은 시스템이라는 것도 정설로 받아들여지고 있다.

혹자는,

"에이~~ 저양반이 개발한게 컴퓨터야?!", "IBM은?!","APPLE은?!","그래도, 프로세서는 Intel Inside 지..."


프로그래밍언어론 시간에, 교수님은 프로그래밍 언어의 본질에 대해 이야기해 주셨다!

머 익히 다들알고 있는 것이겠지만, 수업은 다음과 같이 질문으로 시작했다.

"컴파일러는 왜 모양이 다 다르지?! C면 C지 왜 C++, Java, Basic...이런걸 만들어서 자꾸 배우게 하나?! 정말 다른건가?!", "C로 만들수 있는걸, Basic으로 못만드나?!"



교수님의 질문에 난 자신있게,

"당연히 다른언어로 할수있고, 결과적으로 언어의 본질은 다 같습니다. 이유인즉 어차피 프로그램은 기계어로 바뀔수 밖에 없거든요~~"

이랬더니!! 교수님은 그에 대해 장대하게 설명해 나가기 시작했다!
설명은 Turing Completeness 에 대한것이었다. 모든 언어는 본질적으로 같다. 다양한 언어들이 있지만, 결국 튜링 머신에 의해 계산되는 것이다. 컴퓨터 과학에서 이것은 컴퓨팅 파워에 관한 것이다. 따라서 다음과 같은 대화는 오류가 있다.

철수 : 휴~~ 이번 프로젝트는 JAVA로 해야겠어~~
규리 : 왜!? BASIC으로는 못해?!
철수 : 응!! 아마 그런 기능이 없을꺼야!!! (Library..)

위의 대화는 다음과 같이 고쳐져야 한다.

철수 : 휴~~ 이번 프로젝트는 JAVA로 해야겠어~~
민혁 : 왜!? BASIC으로는 못해?!
철수 : 할수는 있지만, JAVA로 하는게 더 편해!! 라이브러리가 막강하거든,

댓글 없음:

댓글 쓰기