-
1990년대 초 텍스트 기반 IDE들은 제약된 하드웨어에서도 뛰어난 기능을 제공했음
- 당시 대표적 IDE였던 Borland Turbo 시리즈는 구문 강조, 컴파일러 통합, 디버깅, 도움말 등 현대 IDE에 필적하는 환경을 갖췄음
- 리눅스의 Vim과 Emacs는 커스터마이징 가능하지만, 배우기 어렵고 초보자에게 직관적이지 않은 점이 한계였음
- 최근 TUIs(텍스트 UI)와 IDE 기능은 LSP 등 신기술 등장으로 점차 부활 중이나, 여전히 90년대 수준의 일체감은 부족함
-
TUI IDE의 장점은 원격 접속, 가벼운 리소스 소모, 오픈소스 자유 등이며, 반면 현대 IDE는 기능 추가에 따른 비대화 현상이 두드러짐
서론: 1990년대 초 텍스트 기반 IDE의 추억
- 1980년대 후반~1990년대 초, 필자는 DOSBox로 옛날 개발 환경을 다시 체험하며 현대와 비교해보는 즐거움을 느꼈음
- 당시 텍스트 기반 IDE들은 하드웨어 제약에도 불구, 많은 기능을 갖추고 있었음
- 그 이후 대다수의 기능이 윈도우 운영체제의 부상과 함께 오랜 기간 사라졌고, 최근에서야 일부 기능이 다시 등장하고 있음
초기 에디터와 TUI 환경
- 1990년대 대부분 DOS 프로그램은 풀스크린 Text User Interface(TUI) 를 사용해 텍스트 기반 윈도우, 컬러, 그림자, 심지어 마우스까지 지원했음
- 각 프로그램은 디자인이 달랐지만, 비슷한 작동 방식 덕분에 금방 배울 수 있었음
- MS-DOS는 5버전(1991)부터 내장 TUI 에디터를 제공했으나, 컴파일/실행을 위해 에디터를 종료해야 했고, 다시 불러오면 작업 위치를 찾아야 하는 불편함이 있었음
- SideKick Plus(1984)처럼 TSR(상주 프로그램) 기반 도구도 있었으며, 이는 멀티태스킹이 되지 않던 OS에서 효율적 코드 편집과 빌드를 가능하게 해줬음
- 이미 1980년대 중후반에는 Turbo Pascal, QuickBASIC 등 초기 IDE가 등장했고, 통합 개발 경험을 제공했음
Borland Turbo 시리즈: 통합 IDE의 정점
- Borland Turbo C++, Turbo Assembler, Turbo Pascal 등은 특정 언어 전용이었으나, 풀스크린 TUI와 강력한 기능을 제공했음
- 주요 기능:
-
구문 강조로 코드 가독성 향상
-
컴파일러 통합 및 경고/진단
-
프로젝트/빌드 시스템 제공 및 멀티윈도우
-
디버거(중단점, 콜스택 등)
-
내장 도움말/레퍼런스 매뉴얼
- 모든 기능은 90년대 초 인터넷 없이도 자체적이고 직관적인 환경을 제공했음
당시 리눅스 환경 비교
- 리눅스 역시 텍스트 기반 툴이 주류였으나, 풀스크린 TUI는 흔치 않았음
- 책과 커뮤니티에서 추천한 Vim, Emacs는 기능적으로 확장 가능했으나, 초보자 입장에서 불친절하고 직관성이 부족했음
- 예를 들어 Emacs는 꾸밈 없는 창, 제한적 컬러, 불안정한 마우스 지원, 어렵고 낯선 메뉴 인터페이스 등이 문제였음
- Borland Turbo C++ 등의 IDE는 아무런 사전 지식 없어도 몇 분 만에 “Hello World” 프로그램을 만들고 환경 탐색이 가능했음
오늘날의 텍스트 기반 IDE
- 현대에는 과거의 TUI IDE와 가장 유사한 환경으로 RHIDE, Free Pascal, QB64 등이 있음
- RHIDE는 Turbo C++와 거의 동일하지만 DOS 전용으로 개발 중단됨
- Free Pascal은 유닉스 환경 지원, 내장 계산기, ASCII 테이블 등 강력한 통합 환경 제공
- QB64는 TUI처럼 보이지만 실제는 GUI 시뮬레이션이며 터미널에서는 실행 불가
- Free Pascal, QB64 모두 최근까지 개발되고 있으나, 낡은 언어 노출로 대중적 인기는 약함
진정한 현대 콘솔 IDE
- 최신 텍스트 기반 통합 개발환경으론 Neovim, Doom Emacs, Helix 등이 유명함
- 이들은 다양한 플러그인 덕분에 IDE 수준 경험을 제공하지만, Borland 제품군과 같은 언어별 통합성/직관성은 부족함
- 최근 GNU Nano 등이 단순 TUI 에디터로 각광받지만, IDE 기능이 없어 WordStar와 유사한 느낌임
- 결국 오늘날의 콘솔 에디터는 90년대의 경험 수준에 미치지 못하거나, 30년 전 기능을 겨우 회복하고 있음
TUI IDE의 필요성
- VSCode의 원격 기능이 뛰어나더라도, TUI IDE는 원격 머신에서 SSH 접속 후 바로 사용 가능하다는 점에서 유리함
- 게다가 VSCode의 원격 확장기능이 오픈소스가 아니고, 일부 OS(FreeBSD 등)에서는 작동하지 않아 제약이 있음
- TUI IDE는 자원 소모가 적고, 원격 환경에서 더욱 활용도가 높음
비대화 및 "Bloat" 현상
- Borland Turbo C++은 모든 기능을 포함해 설치시 9MB 이하, 640KB RAM 내 동작 가능했음
- 현행 Doom Emacs는 500MB 이상, 현대 IDE들은 수 GB에 이르면서 비대화가 심각해짐
- VSCode는 350MB로 꽤 가볍지만 Electron 기반이라 실제 시스템 자원 소모가 큼
- 기능, 리팩터링 등 일부 발전 요소는 있지만, 30년 전과 비교해 혁신은 제한적임
- AI 코드보조 등은 최근 변화이나, 실상은 원격 서비스 제공이 주류임
결론
- 필자는 상황에 따라 Doom Emacs, Vim, VSCode, IntelliJ 등 다양한 개발 환경을 활용 중임
- 30년 전의 TUI IDE가 제공하던 일체형 개발 경험 및 효율성은 현대 IDE의 비대화 및 파편화와 뚜렷한 대조를 이룸
- 텍스트 기반 IDE가 갖는 가치와 잠재력은 여전히 유효하며, 그 진화와 부활 여부는 앞으로 지켜볼 필요 있음