티스토리 뷰



 

Visual Basic과 Visual Basic.Net은 다른 것일까?

 

결론부터 말하면 다른 언어라고 할 수 있습니다. 비주얼베이직이 1991년 VB 1.0으로 발표되던 시점으로 돌아가 보면 한창 인기 운영체제로 사용하던 MS-DOS 체계에서 1990년 Windows 3.0과 후속으로 Windows 3.1이 발표 되고 인기를 얻으면서 GUI 기반의 응용 프로그램을 복잡하고 힘들게 만들었다면 VB 1.0은 프로그래머에게 윈도우 프로그램을 쉽게 제작할 수 있는 기회를 제공하였습니다.

 

이후에 VBX(Visual Basic eXtension)를 통해서 VB에 다양성과 확장성을 부여하게 되었고 VB 3.0에서는 DAO(Data Access Objects)를 통해 데이터베이스에 접근할 수 있도록 하면서 단순하고 소규모의 응용 프로그램에서 업무 프로그램의 영역으로 확장해 갔습니다. VB 4.0, 5.0에서는 OOP(object-oriented programming)가 소개 되었고 VB 6.0에서는 ADO(ActiveX Data Objects)가 소개되면서 데이터베이스 뿐만아니라 인터넷등 다양한 매체로의 접근이 가능해졌습니다. 2005년 VB 6.0으로 비주얼베이직이 종료될 때 까지 많은 발전이 있었지만 .Net 프레임워크의 발전, 인터넷의 급격한 발전은 기존의 비주얼베이직에서 많은 부분이 수정 및 대치된 VB .Net 2002의 탄생을 가져왔습니다. 

 

VB.Net은 기존의 비주얼베이직의 기본적인 문법은 가져왔지만 +=, -= 연산자와 같은 C 문법이 들어오기도 했고 무엇보다 기본적인 닷넷 타입을 적용시키면서 이전 VB 버전에서 작성된 코드는 하위 호환이 되지 않아 VB.Net에 맞도록 재작성해야만 실행할 수 있게 되었습니다. 글의 처음에 있는 그림은 새 프로젝트를 만들고 속성>참조 탭을 확인한 것으로 VB.Net 언어의 기반이 닷넷 프레임워크임을 확인할 수 있습니다. 

 

이전의 VB와 현재의 VB.Net을 구분 짓는 기반에는 바로 닷넷 프레임워크가 있습니다. 프로그램이 만들어져서 실행되는 과정을 살펴보면 VB 코드는 컴파일과 링크 과정을 거쳐 대상 운영체제나 프로세서(CPU)에 맞는 기계어(Machine language)로 만들어지고 사용자의 수행 요청에 따라 운영체계의 통제아래 프로그램이 실행되는 방식이 이전 모델이라면 닷넷 프레임워크 체계에서는 대상 운영체제나 프로세서의 종류에 관계없이 닷넷(.Net)의 규격에 맞는 프로그램을 생성하면 닷넷 프레임워크의 CLR(Common Language Runtime)을 통해서 다양한 운영체제와 프로세서에서 동일한 기능을 발휘하는 응용 프로그램을 동작시킬 수 있는 것입니다. 실제로 모노 프로젝트(http://www.mono-project.com/)에서는 윈도우 뿐만아니라 Linux, Mac OS X, iPhone OS, Sun Solaris, BSD와 같은 범용 운영체제에 더불어 Nintendo Wii, Sony PlayStation 3에서도 닷넷 응용을 실행시키고 있습니다. 프로세서도 x86, x86-64, IA64같은 인텔 계열 뿐만아니라 PowerPC, SPARC, MIPS에 최근 스마트폰이나 태블릿에 많이 채용하고 있는 ARM 계열에서도 닷넷 응용을 실행시킬 수 있습니다.

 

앞서 닷넷(.Net) 규격에 맞는 코드를 생성한다고 언급했는데 이를 중간코드(Common Intermediate Language, 이전에는 Microsoft Intermediate Language 또는 MSIL로 부름)라 부르고 유사한 체계로 Java가 있습니다. Java 환경 또한 Java 언어로 프로그램을 작성하면 컴파일러가 자바 바이트코드(Java bytecode)를 생성하고 그 코드를 다양한 운영체제와 프로세서에서 수행할 수 있는 Java 가상머신(VM)을 통해 실행하는 것입니다. 

 

이전 버전에도(VB 5.0, VB 6.0) 닷넷 중간코드와 CLR 가상머신(VM)을 통해서 프로그램을 실행 시키는 것과 유사한 P-Code(Packed code)와 VB가상머신이 존재했는데 P-Code는 말 그대로 명령어를 축약시켜 프로그램의 크기를 줄이는데 주안 점이 있는 것으로 시스템 전반을 다루고 있는 닷넷과는 큰 차이점이 있습니다.

 

요즘 만들어지는 있는 비주얼스튜디오는 자체를 닷넷으로 제작하고 있습니다. 닷넷으로 제작한 응용은 웹 환경에서도 사용될 수 있을 뿐만아니라 닷넷을 채용한 모바일 기기에서도 활용할 수 있는 등 그 확장성은 무한하다고 할 수 있습니다.

 

VB.Net 공부하기에 기대가 모아지는 대목입니다. :-)



 ※ 연관글 목록

 



댓글
댓글쓰기 폼