티스토리 뷰

IT

비주얼베이직 6.0의 역사와 특징

siren911 2016. 9. 11. 20:51

비주얼 베이직(Visual Basic)이란 프로그래밍 언어는 어떻게 탄생하고 발전되었을까요? 그리고 6.0 버전에서 새롭게 추가된 기능에는 어떤 것이 있을까요? 지금부터 이러한 질문에 대해 알아봅시다.




 

비주얼 베이직은 베이직(Basic)을 토대로 만들어진 언어입니다. 베이직(Basic, Beginners All-Purpose Symbolic Instruction Code)은 1963년 미국의 존 케머니(John Kemeny)와 토마스 쿠르츠(Thomas Kurts)교수가 시분할 시스템용으로 개발한 간단한 언어입니다. 이것은 1980년대 초반 애플컴퓨터에 사용되면서 교육용, 사무 처리용 및 가정용으로 널리 보급되었습니다. 베이직은 초보자도 쉽게 사용할 수 있도록 개발된 언어로, 프로그래밍의 개념을 소개하고 가르치는 데 자주 사용되었습니다.

 

베이직 언어는 IBM의 16비트 PC에서 도스(DOS)와 함께 GW-베이직(GW-Basic)으로 배포되면서 널리 보급되기 시작했고, 이 때부터 많은 사람들이 베이직을 통해 프로그래밍을 시작하게 되었습니다. 그리고 GW-베이직은 다시 퀵 베이직(Quick Basic)으로 발전했습니다.

 

운영체제가 도스에서 윈도우 환경으로 변화되면서 베이직 언어는 윈도우의 GUI(Graphical User Interface)환경에 맞는 프로그램을 개발할 수 있는 비주얼 베이직으로 발전했습니다. 비주얼 베이직은 버전 4.0이 발표되면서 데이터베이스 언어로서의 모습을 더욱 완벽하게 갖추었고, 5.0, 6.0 등으로 버전이 올라갈수록 데이터베이스 분야에서 더욱 다양하게 활용되고 있습니다.




 

비주얼 베이직의 장점은 무엇보다도 윈도우 프로그램을 처음 만들어 보는 초보자에게 좀더 쉽고 편리한 환경을 제공한다는 것입니다. 그리고 마이크로소프트에서는 오피스97 버전 이후의 모든 오피스 제품에서 비주얼 베이직의 일종인 VBA(Visual Basic for Application)를 이용해 사용자가 원하는 기능을 직접 추가할 수 있도록 지원하고 있습니다.

 

프로그래밍 언어로서 비주얼 베이직은 어떤 특징을 가지고 있는지 알아 보겠습니다.

 

비주얼 베이직은 인터프리터 언어인 베이직 언어를 기초로 해서 만들어졌기 때문에 인터프리터 언어로 분류할 수 있습니다. 한 줄씩 번역되는 인터프리터 언어의 특징을 가지고 있기 때문에 오류를 곧바로 알 수 있다는 장점이 있지만, 컴파일 언어보다 실행 속도가 느리다는 단점이 있습니다. 그러나 비주얼 베이직 5.0부터는 컴파일 방식을 지원하여 실행 속도에 대한 문제를 해결하고 있습니다. 이와 같이 비주얼 베이직은 베이직 언어를 모태로 하여 인터프리터 언어의 특징을 가지면서도 컴파일 방식으로 실행 파일을 만드는 컴파일 언어의 특징을 가지고 있습니다.

 

비주얼 베이직은 비주얼한 도구를 이용할 수 있기 때문에 프로그래밍 입문자가 가장 쉽게 배울 수 있을 뿐만 아니라 윈도우 환경에 맞는 프로그램을 단시간에 효과적으로 작성할 수 있는 언어입니다. 이러한 특징은 베이직이라는 언어 자체가 쉬운 이유도 있지만, 비주얼 베이직을 만든 마이크로소프트에서 사용자의 편의를 위한 각종 기능을 추가하여 마치 레고 블록을 맞추듯이 프로그램을 만들 수 있는 개발 환경을 제공하고 있기 때문입니다.

 

비주엘 베이지 6.0부터는 개체와 속성, 메서드, 이벤트 등의 특성을 가지는 개체 지향(object-oriented) 개발 방식을 지원합니다. 이러한 개체 지향 방식은 비주얼 베이직 6.0의 다음 버전인 비주얼 베이직 닷넷(Visual Basic.NET)에서 완벽하게 지원하게 됩니다. 개체 지향 언어는 프로그램을 쉽게 개발할 수 있고, 유지 보수가 쉬우며, 개체를 다시 사용할 수 있다는 장점이 있습니다.

 

최근 프로그래밍 언어에서 중요하게 다루는 개념 중의 하나가 바로 '이벤트(event)'입니다. 이벤트라는 개념을 사용하지 않은 경우에는 일정한 순서에 의해 순차적으로 프로그램이 처리되지만, 이벤트 개념을 적용한 경우에는 실행자가 어떤 작업(이벤트)을 하느냐에 따라 서로 다른 명령이 실행되도록 처리합니다. 예를 들어, 빠른 메뉴를 보기 위해 마우스 오른쪽 버튼을 누리는 작업이나 특정 프로그램을 실행하기 위해 마우스를 더블클릭하는 작업 등이 이벤트에 해당합니다. 비주얼 베이직은 이렇게 어떤 작업(이벤트)이 일어날 때 실행할 동작을 기술하는 형태로 프로그램을 만들 수 있는 이벤트 중심의 언어입니다.

 

운영체제가 글자 중심의 도스에서 그래픽 중심의 윈도우로 바뀌면서 폼과 버튼 등의 요소들이 모든 응용  프로그램의 기본 요소로 자리잡게 되었습니다. 비주얼 베이직에서는 마우스만 사용해서 이러한 폼과 버튼 등의 요소를 쉽게 만들 수 있는 환경을 제공합니다.

 

비주얼 베이직은 다양한 데이터베이스를 지원합니다. 즉, 비주얼 베이직을 이용하면, SQL, 오라클(Oracle), MS-액세스(Access) 등의 다양한 데이터베이스를 사용 할 수 있습니다.

 

비주얼 베이직 6.0에는 5.0에는 없던 많은 기능이 추가되었습니다. 특히 데이터베이스와 관련된 기능이 좀더 보완되었는데, 구체적으로 어떤 기능이 추가되었는지 하나씩 알아 보겠습니다.

 

비주얼 베이직 6.0에서는 기존의 5.0에서 사용하던 데이터베이스 액세스 방식인 ODBC나 DAO보다 훨씬 강력하고 빠른 속도를 제공하는 OLE DB, 그리고 마이크로소프트 ADO(Microsoft ActiveX Data Objects) 개체를 제공합니다. 이 개체는 SQL 서버나 오라클과 같은 관계형 데이터베이스뿐만 아니라 텍스트 파일과 전자 우편과 같은 데이터도 마치 데이터베이스를 사용하듯 처리해서 - ODBC를 사용하는 것보다 - 더 높은 신뢰성과 빠른 속도를 제공합니다. 특히 ADO 개체를 이용하면, 대규모 업무나 인트라넷 등을 좀더 효율적으로 관리할 수 있습니다.

 

대부분의 응용 프로그램들은 데이터베이스를 다룹니다. 비주얼 베이직 6.0에서는 이러한 데이터를 쉽게 관리하기 위해 드래그 & 드롭 기능으로 손쉽게 데이터를 처리할 수 있는 데이터 환경 디자이너(Data Environmnet Designer)를 제공합니다. 그리고 데이터 뷰(Data View), SQL 작성기와 같은 비주얼 데이터베이스 도구도 지원합니다. 마이크로소프트의 엑세스를 사용해 본 사람이라면, 비주얼 베이직 6.0을 이용해서 편리하고 손쉽게 데이터를 처리할 수 있을 것입니다.

 

비주얼 베이직 6.0에서는 기존에 제공되었던 크리스털 리포트와 달리 ADO에서 사용 할 수 있는 '데이터 리포트(Data Report)' 컨트롤을 제공합니다. 이것을 사용하면, 데이터베이스를 연결한 상태에서 보고서를 출력될 해당 데이터 필드를 데이터 환경 디자이너에서 보고서 디자인 화면으로 드래그하는 것만으로도 손쉽게 보고서를 작성할 수 있습니다.

 

HTML로 구성된 웹 페이지로는 구현할 수 없는 기능을 비주얼 베이직 코드로 구성한 것을 '다이내믹HTML 문서' 혹은 'DHTML(Dynamic HyperText Markup Language) 응용 프로그램'이라고 합니다. 비주얼 베이직 6.0에서는 인터넷 홈페이지를 개발하기 위해 DHTML 응용 프로그램을 제공합니다. 즉, 웹 페이지의 시각적인 이벤트, 화면설계, 컨트롤 등을 손쉽게 작성할 수 있도록 마법사 폼과 기타 기능들을 제공합니다.

 

IIS(Internet Information Server) 응용 프로그램은 웹 서버쪽에서 처리한 결과를 HTML로 만든 후 웹 브라우저에 보내는 역할을 합니다. 비주얼 베이직 6.0에서는 이 IIS 응용 프로그램을 웹 클래스 디자이너라는 도구를 사용해 작성할 수 있습니다. 이 프로그램은 서버저에서 작성하는 것으로, 마이크로소프트의 IIS가 설치되어 있어야 합니다.

 

비주얼 베이직 6.0을 이용하여 프로그래밍의 개념을 익히거나 간단한 프로그램을 만들어 보면서 프로그래밍의 세계에 모두 빠져들 준비가 되었나요?




'IT' 카테고리의 다른 글

삼성 SM961 SSD 구매후기 및 사용후기  (0) 2016.09.19
시리얼 통신 개념  (0) 2016.09.12
어셈블리 언어란 무엇인가  (0) 2016.09.11
아이폰 OS를 알아보자  (0) 2016.09.11
아두이노 프로그래밍 시작하기  (0) 2016.09.10
댓글