테크레시피

비주얼 베이직은 어떻게 탄생했나

마이크로소프트가 개발한 프로그래밍 언어인 비주얼 베이직(Visual Basic)은 한때 높은 인기를 누렸지만 지금은 눈에 띄지 않는 존재가 되고 있다. 이런 비주얼 베이직은 어떻게 탄생했을까.

비주얼 베이직은 알란 쿠퍼가 개발한 프로그래밍 언어 루비(Ruby)를 마이크로소프트가 구입한 형태로 시작된 언어다. 쿠퍼에 따르면 루비 전신인 트라이팟(Tripod) 개발은 1985년 시작됐었다고 한다. 당시 윈도는 GUI를 탑재하고 있었지만 GUI는 경쟁자인 매킨토시보다 훨씬 빈약했다. 따라서 쿠퍼는 윈도 GUI 환경을 크게 강화할 메커니즘을 개발하기 시작했다.

GUI 개선을 향한 개발은 생각대로 진행되지 않았다는 것. 하지만 1987년 쿠퍼가 마이크로소프트와 대형 은행인 뱅크오브아메리카 상담에 동석했을 때 뱅크오브아메리카 담당자가 고급 기술을 보유한 시스템 관리자로부터 창구계와 같이 한 컴퓨터에 익숙하지 않은 사람까지 모든 직원이 윈도를 사용할 수 있도록 할 필요가 있다고 발언했다. 이 발언을 들은 쿠퍼는 개발자에게 이상적인 UI를 제공하는 게 아니라 UI 부품을 제공하고 개발자가 부품을 조합해 상황에 따른 이상적인 UI 만들기라는 아이디어를 생각해냈다.

그는 이런 아이디어를 바탕으로 트라이팟 개발을 진행해 버튼, 리스트, 디렉터리 내용을 표시하는 리스트 등 부품을 조합해 UI를 만들 수 있는 시스템을 만들었다. 버튼, 리스트 같은 부속은 현재 컨트롤러이라고 불리지만 쿠퍼는 리모트 매니퓰레이터 애칭을 따서 월드라고 불렀다고 한다. 하지만 개발 협력자가 이 월드라는 명칭이 너무 난해하다며 소품(gizmos)으로 바꿨다. 이후 기즈모는 마이크로소프트에 의해 컨트롤러 바뀌며 지금까지 계속된 호칭이 됐다.

쿠퍼가 개발한 컨트롤은 드래그앤드롭이나 애니메이션이라는 현대 GUI에 통하는 기능을 갖추고 있었다고 한다. 더구나 사용자가 버튼 클릭 같은 액션을 일으키면 특정 코드를 실행하는 기능도 짜넣었다고 한다. 이 코드 실행 기능명을 생각하던 중 모니터 화면을 향해 링 고무줄을 발사하거나 시거를 피우기 위해 라이터에 불을 붙이는 것에서 ‘fire an event’라는 지금까지 사용되는 개발 용어를 떠올렸다고 한다.

이후 1988년 쿠퍼는 마이크로소프트 직원에게 트라이팟을 소개할 기회를 얻었다. 트라이팟 기능을 확인하자 당신은 빌 게이츠를 만나야 한다고 말했고 게이츠와의 만남을 주선했다. 이 때 쿠퍼에게 게이츠와의 만남을 주선한 인물이 나중에 게임 플랫폼 스팀을 개발한 밸브 설립자인 게이브 뉴웰이다.

쿠퍼는 트라이팟을 게이츠에게 선보였고 순식간에 게이츠는 트라이팟 매력을 알아챘다고 한다. 게이츠와 동석한 마이크로소프트 직원이 트라이팟 결함을 지적하는 장면도 있었지만 게이츠는 트라이팟을 마음에 들어했고 쿠퍼를 대신해 트라이팟을 옹호할 정도였다고 한다. 게이츠는 쿠퍼와 계약을 맺고 1990년 출시 예정인 윈도 3.0에 트라이팟 통합을 요구했다.

쿠퍼는 윈도 3.0이 등장하기 전에 트라이팟 코드를 정교하게 다듬을 필요가 있었기 때문에 프로젝트명을 루비로 바꾸고 코드 대부분을 재작성했다. 더구나 루비에는 타사 개발자가 독자 컨트롤을 추가할 수 있는 기능을 추가했다. 1990년 초 완성판 루비를 마이크로소프트에 납품하는데 성공했다.

하지만 윈도 3.0 개발은 난항을 겪고 릴리스는 8개월 늦어졌다. 더구나 마이크로소프트 내 정치적 투쟁에 휘말리면서 루비는 윈도 3.0에 탑재되지 않았다. 루비가 세상에 나오지 않은 것에 불만을 느낀 쿠퍼는 게이츠에게 루비 환매를 제안했다. 하지만 게이츠는 루비 권리를 쿠퍼에게 돌려보내는 걸 거부했고 대신 프로그래밍 언어 베이직에 루비 기능을 통합해 베이직을 비주얼 프로그래밍 언어화하기로 결정했다.

루비를 베이직에 통합하는 프로젝트는 당초 6개월 단기 프로젝트로 시작했다. 하지만 프로젝트는 난항을 겪고 완성까지 18개월이 걸렸다. 완성된 비주얼 프로그래밍 언어는 비주얼 베이직으로 명명되며 1991년 출시됐다. 이 때 쿠퍼는 베이직을 싫어했기 때문에 마이크로소프트 전략에 불만을 느끼고 있었다고 한다.

비주얼 베이직 등장으로 개발자는 소프트웨어에 GUI를 쉽게 탑재할 수 있게 됐다. 이로 인해 GUI 소프트웨어가 폭발적으로 증가하고 윈도는 초보자에게도 사용하기 쉬운 운영체제로 점유율을 단번에 확대하게 된다.

전성기에는 350만 명 이상 개발자가 비주얼 베이직을 이용해 업무를 했고 윈도상에서 동작하는 애플리케이션 3분의 2가 비주얼 베이직에서 개발되고 있었다고 한다. 하지만 1990년대 마이크로소프트가 자바에 대항하는 개발 프레임워크로 닷넷을 개발할 무렵부터 비주얼 베이직 인기에는 그늘이 지기 시작했다. 이후 마이크로소프트는 비주얼 베이직을 닷넷에 대응시킨 프로그래밍 언어(Visual Basic .NET(VB.NET))를 개발했고 BV.NET 등장으로 비주얼 베이직은 개발 주요 시장에서 모습이 사라지게 됐다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사