본문 바로가기
프로그래밍 놀이터/C, C++, C#, VB

VB6 vs. VB.NET ( VB.NET 으로 넘어가야 하는 이유 )

by 돼지왕 왕돼지 2013. 5. 28.
반응형



 VB6 vs. VB.NET ( VB.NET 으로 넘어가야 하는 이유 )

 

이번에 지인의 부탁으로 거의 15년만에 VB6 를 건드려보았다.

지인이 부탁한 프로그램을 만들어 전달했는데, 그 지인의 컴퓨터에서 안 열린단다...

음.. 그럼 안되는데?


글을 읽기 전에 VB의 특징과 장점을 알고 싶나요? 이곳을 클릭!


확인해보니, 그 친구(?)는 Visual Studio 에 있는 Visual Basic.. 즉 VB.NET 을 사용하고 있었다.

사실 나는 VB.NET 에 대한 정보가 없었기에 VB.NET 에서도 당연히 VB6 프로젝트가 쉽게 열릴 줄 알았다.

하지만, 그것이 아니었다.. 음.. 

사실 VB6 와 VB.NET 은 상이한 점이 많아서, VB.NET 을 새로운 언어로 봐야 한다는 의견도 있다.

즉, 기존 VB의 연장선상이 아니란 의미렸다.


여튼 이것을 계기로, VB6 와 VB.NET 에 대해서 간단히 조사를 해보았고,

필자의 결론은 VB.NET 으로 넘어가는 것이 좋겠이다.





VB6 프로그래머들이 VB.NET 을 거부하는 이유.


사실 VB6 는 매우 오래된 언어이다.

필자(현재 29살)가 초등학교 때 처음 VB 를 접할 때 VB 버전이 6 였던 듯 싶다.

이렇게 오래된 언어인데도, 현재 VB 계열에서 가장 많이 사용되고 있는 언어라고 한다.

그만큼 뿌리깊은 개발자가 많을 테니, 그들의 의견 또한 상당히 신빙성이 있다.



1. 개발 Tool 이 너무 무겁다.


 VB.NET 의 개발툴인 Visual Studio 는 기존 VB6 에 비해 개발 Tool 이 무겁다는 의견.

 둘 다 써본 사람이라면 알겠지만, 사실 Visual Studio 는 많은 리소스를 차지하는 것은 물론, 

 체감상으로도 꽤 무겁다.



2. 자료가 매우 부족하다. MSDN 이 그나마 가장 체계가 잘 잡혀있지만 내용이 부실하다.


 VB6 는 오래된 언어이니만큼, 자료와 샘플 코드등의 양이 방대하다.

 하지만 VB.NET 의 경우는 이제 막 성장해가고 있는 언어라서 MSDN 이 그나마 체계가 잡힌 Doc 인데..

 많은 VB6 유저들이 MSDN 문서가 무슨 말을 하는지 알아듣기 힘들다고 고백한다.

 ( 개인적으로 조금 이해가 안 가는데.. OOP 개념이 좀 강해져서 이해가 안 되는걸까..? )



3. 실행을 위한 .NET Framework 가 무겁다. 

    따라서 성능상으로 VB6 가 빠른 경우도 많다. 특히 GUI 부문에서.


 VB.NET 을 사용하기 위해서는 컴퓨터에 .NET Framework 가 설치되어 있어야 한다.

 이 .NET Framework 는 파일 용량이 커서 배포하기 힘들다고 한다.

 또한 설치하였을 때 구동환경으로서도 상당히 무겁다고 한다.

 .NET Framework 가 무겁기 때문에 일반적인 연산들에서 VB.NET 이 VB6 에 비해 느리다고 한다.

 특히 GUI 처리 부문에서는 현저하게 차이가 있다고도 한다.

 








VB.NET 프로그래머들의 주장


1. 개발 Tool 이 너무 무겁다?


 개발 Tool 이 조금 무거운 건 인정한다. 

 하지만, 요즘 컴퓨터들은 충분히 이 개발툴들을 여유롭게 돌린다.

 게다가 개발 Tool 이 무거운만큼 많은 기능들을 제공해서 편리하며, 디버깅도 훨씬 쉽다.



2. 자료가 매우 부족하다? MSDN이 이해하기 어렵다?


 VB6 에 비해서는 역사가 짧으니 자료가 부족한 것은 맞다. 하지만 그렇다고 자료양이 고정되는건 아니다.

 분명 유저들이 늘어나면서 자료는 자연스레 늘어날 것이고, 

 Newbie 들은 VB6 보다는 VB.NET 을 많이 택할 것이기에 ( .NET 의 영향력이 크기에?? )

 앞으로 분명히 자료는 VB.NET 쪽이 더 늘어가게 되어 있다.

 그리고 MSDN 자료가 이해하기 어렵다는 것은 이해하기 어려운데, 

 아마도 OOP 개념이 확장되서일것 혹은 영문이 한글로 번역되는 과정에서 잘못 되었기 떄문일 것이다.

 이는 OOP 에 대한 학습과 영문자료를 볼 수 있는 능력을 기르면 된다.


 

3. .NET Framework 가 문제다?


 .NET Framework 는 Vista 와 Win7 에는 기본으로 설치되어있다.

 배포문제에 대해서는 요즘같이 세계적으로 인터넷이 발달한 상황에서 

 .NET Framework 하나 다운받아 설치해는게 배포에 그렇게 큰 문제가 되리라고는 생각치 않는다.

 .NET Framework 가 무거워서 성능이 안 나온다는 이야기가 있는데, 

 그렇게 큰 문제가 될만큼 큰 성능차이가 나지는 않는다.

 많은 경우에서 VB.NET 이 더 빠른 성능을 낸 실험자료도 많이 있다. ( 예를 들면 Database 쪽 )

 게다가 하드웨어가 발전할수록 VB6 보다 VB.NET 이 좋은 성능을 낼 것이다. ( 실험자료가 있다함 )

 또한 VB6 개발자들이 VB6 스타일로 VB.NET 에서 코딩하기 때문에 제대로 성능측정이 안 된 것이다.

 






4. 덧붙여 VB.NET 은 발전된 언어이다.


 VB.NET 은 OOP 가 더 체계적으로 잡힌 더 발전된 언어이다.

 VB6 에서 1,000 줄이나 코딩해야 하던 것도, API 들이 잘 발달되어 10줄이면 쓸 수 있다고도 한다.

 VB6 에서 잘 발생하는 메모리 누수등의 문제들도 VB.NET에서는 GC 를 이용해서 해결가능하다.

 게다가 VB6 는 64bit 를 제대로 지원하지 못하지만, VB.NET 은 제대로 지원한다.

 VB6 는 지원이 종료된 상태지만, VB.NET 은 계속해서 발전해 나갈 언어이다.






필자의견


개인적으로 어떤게 더 좋은 언어라고 단정짓기는 어렵다.

하지만, 개인적으로 Java 를 Main 으로 개발하는 필자는 VB6 의 문법은 이건뭐지? 싶은 경우도 많고,

대부분의 경우 코드를 인터넷에서 찾아야 하는 수고가 생긴다. 

( 그렇다고 인터넷 자료들이 그렇게 빡! 문제해결을 해줄만큼 좋지도 않더라... )


반면 VB.NET 의 경우는 Class 개념도 생기고 조금 더 OOP 에 가까워져서인지

조금 더 편안하게 작성할 수 있는 장점이 있긴 하다.


언어는 프로젝트 특성에 따라 가장 빨리 제대로 만들 수 있는 언어로 선택하는 것이 정답이지만,

추후의 상황을 고려하여 지원이 끊기고, 64bit 를 제대로 지원하지 않는 VB6 보다는

계속 지원이 되고, 하드웨어를 더 효율적으로 사용할 수 있는 VB.NET 이 

(조심스럽게) 더 합리적인 선택이지 않을까 생각해본다.


솔찍한 생각으로는 VB.NET 이나 VB6 다 기본은 알고 있고,

차라리 할거면 C# 을 제대로 하는 것이 좋은 선택이라는 생각이 든다.

( 물론 Java 는 별개고.. )





VB6 에서 쉽게 VB.NET 으로 갈아탈 수 있을까?


1. 우선 VB6 -> VB.NET Converter 를 MS 에서 제공한다. 

   하지만, 더럽게 전환하여 리펙토링이 필수이며, 100% 전환되는 것도 아니다.





2. VB.NET 은 객체지향 프로그래밍 언어이다. 

   따라서 객체지향 프로그래밍 언어에 대한 경험이 뒷받쳐 준다면 어렵지 않게 배울 수 있을 것이다.


3. VB6 에 비해 VB.NET 은 그 자료가 부족하다고 한다. 따라서 

   MSDN 자료( Reference 자료 )만 보고도 코딩할 수 있는 능력을 길러야 한다.

   ( 너무 example code 에만 목숨걸지 말라는 이야기 )







반응형

댓글