PC를 이용한 애플리케이션 개발이나 파일의 조작등을 실시할 때, 유저가 텍스트 베이스로 커맨드를 입력해, 컴퓨터의 시스템이나 애플리케이션을 제어하기 위한 호스트 애플리케이션 "터미널"이 이용되는 일이 있다. 이 터미널에 대해 소프트웨어 엔지니어가 그 역사 등에 대해 해설하고 있는데....
현대까지 계속되는 터미널은, Digital Equipment Corporation이 1978년에 발매한 비디오 표시 단말의 VT100에 그 뿌리를 두고 있다는 것.
비디오 표시 단말이란, 그 이전의 텔레 타입 단말을 개량한 것으로, 텔레타이프 단말기는 키보드로 입력한 내용이나 수신한 메시지를 종이에 출력하는 것이었지만, 비디오 표시 단말기는 종이를 사용하지 않고, 인터랙티브한 인터페이스를 갖추고, 디스플레이 상에 정보를 표시할 수 있었다.
VT100의 등장까지, 비디오 표시 단말은 각 디바이스 마다 독자적인 이스케이프 시퀀스를 사용하고 있었고, 그 때문에, 당시의 애플리케이션에는 어느 시퀀스를 사용해야 하는가를 생각하는 프로세스가 필요해, 새로운 발전에 방해가 되고 있었다.
그래서, 이러한 문제를 해결하기 위해, 텀캡 등의 도우미 프로그램 등이 개발되었으며, 현대에도 Termcap의 개량판인 라이브러리인 Terminfo가 사용되고 있다.
그 후, ECMA-48이나 ANSIX 3.64와 같은 이스케이프 시퀀스의 규격이 정비되어, VT100은 이러한 이스케이프 시퀀스 규격을 지원한 최초의 비디오 표시 단말이 되었고, VT100은 표준 이스케이프 시퀀스 규격을 지원함으로써, 확실한 프로그램의 기동이 가능해졌다. 그 결과 VT100은 높은 인기를 끌었고, 많은 클론이 만들어졌다고 한다.
VT100의 터미널을 기반으로, 1984년에는 매사추세츠 공과대학에서 X Window System의 표준적인 터미널 소프트웨어인 xterm이 개발되었으며, xterm은 기존의 비디오 표시 단말기에는 없었던 마우스 트래킹과 설정 가능한 컬러 팔레트 등의 기능을 갖추고 있어, 여러 클론이 이러한 기능을 복사하게 되었다. 이렇게 해서 xterm은 터미널 소프트에 있어서의 새로운 디팩토 스탠다드로 성장했다고 한다.
현대의 터미널 기반 애플리케이션에서는, 사용자가 자신을 확인할 수 있는 텍스트와 터미널의 상태를 변경하는 제어 코드라는 두 종류의 데이터를 터미널에 쓰게 된다. 제어코드에는 커서를 현재 행의 선두로 이동하는 "r"이나 커서를 다음 행으로 이동하는 "/n" 등의 C0 제어코드 등이 이용된다.
이러한 터미널은, 셸에서 직접 코드를 실행할 수 있는 등, 기본적으로 매우 사용하기 쉽게 설계되어 있지만, 현대의 터미널 에뮬레이터 시스템을 지탱하는 것은 xterm과 같은 오래된 기술이기 때문에, "Ctrl이나 Alt 등의 수식키 취급법" 등의 문제가 발생.
그래도, 거듭된 업데이트와 개발로 인해 이러한 문제는 해결로 향하고 있으며, 엔지니어는 "터미널의 기반이 되는 테크놀로지는, 현대 테크놀로지의 기준에서 보면 매우 오래된 것으로 되어 있습니다. 하지만, 이것은 결점이 아니라 강점입니다. 터미널 소프트웨어는 등장하거나 사라지지만, 터미널의 기반이 되는 플랫폼이 사라지는 일은 없습니다"라고 말하고 있다.