더북(TheBook)

2.3.1 타입에 강해지기

대부분의 프로그래밍 언어에는 타입이 있다. 베이직과 같은 가장 단순한 프로그래밍 언어도 문자열과 정수 타입을 가지고 있다. 이와 유사한 언어 중 일부는 심지어 실수를 위한 타입도 가지고 있다. Tcl, REXX, Forth 등과 같이 타입리스(typeless)라고 불리는 몇 가지 언어가 있다. 이러한 언어들은 일반적으로 문자열이나 정수와 같은 단일 타입에서만 동작한다. 타입을 염두에 둘 필요가 없기 때문에 프로그래밍하는 것은 편할지 몰라도, 이렇게 작성된 프로그램은 느리며 버그가 쉽게 발생한다.

타입은 기본적으로 코드의 정확도를 무료로 검사하기 때문에 기본 타입 시스템을 이해하는 것은 생산적인 프로그래머가 되는 데 큰 도움이 된다. 타입을 구현하는 방법은 프로그래밍 언어가 인터프리터 방식인지 혹은 컴파일 방식인지와 밀접하게 관련되어 있다.

파이썬이나 자바스크립트와 같은 인터프리터 방식의 프로그래밍 언어를 사용하면 컴파일 단계 없이 즉시 텍스트 파일의 코드를 실행할 수 있다. 이러한 특성으로 인해 변수가 유연한 타입을 갖는 경향이 있다. 즉, 이전에 정수였던 변수에 문자열을 할당할 수 있고, 심지어는 문자열과 숫자를 함께 추가할 수도 있다. 이러한 언어는 타입을 구현하는 방법 때문에 일반적으로 동적 타입 언어라고 불린다. 인터프리터 언어를 사용하면 타입을 따로 선언하지 않아도 되므로 코드를 훨씬 빨리 작성할 수 있다.

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