더북(TheBook)

요약 프로그램을 전혀 변경하지 않고 표준 입력, 표준 출력, 표준 그래픽스, 표준 오디오를 다양한 물리적 장치에 연결할 수 있으므로, 입출력은 추상화의 힘을 잘 보여주는 사례라고 할 수 있다. 실제 장치는 엄청나게 다를 수 있지만, 특정 장치의 특성에 의존하지 않고 입출력할 수 있는 프로그램을 작성할 수 있다. 이제부터는 stdio, stddraw, stdaudio 모듈이 제공하는 함수들을 이 책의 거의 모든 프로그램에서 호출할 것이다. 이런 모듈을 사용하면 여러분이 작성한 프로그램을 전혀 변경하지 않고도 기존 컴퓨터에서 더 빠르거나 싼 , 혹은 데이터를 더 많이 저장할 수 있는 컴퓨터로 자유롭게 바꿀 수 있다. 다른 컴퓨터로 바꿀 때의 기술적인 문제는 라이브러리 함수와 운영 체제 간 연결 부분에서의 문제만 해결하면 된다. 최신 컴퓨터 시스템을 위한 장치들은 일반적으로 운영 체제와 파이썬 간의 세부적인 사항들을 해결해주는 소프트웨어(장치 드라이버)도 함께 제공한다.

개념적으로 표준 입력, 표준 출력, 표준 그래픽스, 표준 오디오 스트림의 가장 중요한 특징 중의 하나는 이 스트림들은 무한하다는 것이다. 프로그램의 관점에서 보면 길이에 제한이 없다. 이런 관점은 내재적인 한계를 가지고 있는 프로그램보다 기술 변화에 덜 민감하기 때문에 훨씬 더 오래 유용하게 사용할 수 있는 프로그램을 만들 수 있게 해준다. 그리고 무한 스트림은 튜링 기계(Turing machine)와도 관련되어 있다. 튜링 기계는 이론 컴퓨터 과학자가 사용하는 추상적인 장치로서 실제 컴퓨터의 근본적인 한계를 알 수 있게 해준다. 이 모델의 중요한 특징 중 하나는 입력과 출력을 무한히 할 수 있는 유한 상태 장치 개념이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.