전 세계적으로 봤을 때 프로그래머들은 어떤 언어를 가장 많이 사용하고 있을까요? Java? C? C++? 정답은 VB(Visual Basic)입니다. 사실 저도 최근에 알았습니다. VB가 데이터베이스 프로그래밍 하기에 다른 언어들보다는 비교적 적합하다는 것만 알았었고 ‘빌게이츠가 자신이 만들었던 Basic에 대한 미련을 버리지 못해 붙들고 있지 않을까?’라고만 생각할 정도로 시대에 역행(?)했던 그런 언어라 생각했습니다. VB는 시대의 대세였던 객체지향 프로그래밍도 아니고 고급 프로그래밍을 위한 멀티쓰레딩의 지원도 미흡하고 여러 가지 문제점들을 안고 있기 때문에 더욱 그렇게 생각했던 것 같습니다.
이러한 VB 6.0이 VB.NET으로 오면서 완전 변신했습니다.
이전의 VB 6.0과 VB.NET이 많이 다르다는 사실을 알고 계시는 분은 생각보다 많지 않습니다. 하지만 .NET의 위용(?)처럼 VB.NET도 새롭게 재무장했습니다. 그렇기 때문에 이 책은 1/2 가량을 이전의 VB 6.0의 달라진 점에 대해(주로 .NET에 중점을 두고) 설명하고 있습니다. 나머지는 .NET 프레임워크에 대한 설명과 실제 응용 프로그램을 작성해 보면서 VB.NET의 새로운 기능들을 설명하고 있습니다. .NET으로 오면서 개발환경이 통합되었기 때문에 ASP.NET 뿐만 아니라 ADO.NET까지 각각 하나의 장을 두어 설명하고 있습니다. 사실 요새 한빛에서 IT 백두대간, Expert 시리즈가 나오고 있는데, 왜 이 책은 그 시리즈에 포함되지 않을까 의아해 했습니다. 개인적으로는 IT 백두대간 수준(VB.NET의 소개 및 차이점, 간단한 예제)과 Expert 수준(다른 책에서는 흔히 볼 수 없는 예제 및 설명)이 혼합되어서 그런 것 같기도 했구요.
저자 분이 실제 비트교육센터 강사이기 때문에 개념을 적절한 예제로 상당히 쉽게 설명하셨고 이전의 VB 6.0과 VB.NET의 달라진 점을 자세하게 설명했습니다. 총 5부 18장으로 구성된 이 책은 VB.NET을 조목조목 파헤치고 있습니다. 보통 이공계 서적을 보면 한정된 지면에 여러 가지를 한꺼번에 보여주기 위해 책의 흐름이 어색한 경우가 종종 있는데 이 책의 경우 전체적인 글의 흐름도 자연스럽고 “여기서 잠깐” 이라는 코너를 통해 간략하게 용어 설명 및 현장에서의 팁도 제공하고 있습니다.
그리고 다른 책들에서는 흔히 볼 수 없었던 예제들도 눈에 띄었습니다. 디지털 컨텐츠 보호 프로그램(DRM), 웹 서비스를 이용한 모바일 기기로 서버 제어하기 같은 경우는 쉽게 접할 수 있는 것이 아니었으니까요. 웹 서비스 장에서 다룬 내용들의 몇몇은 다른 책에서 전혀 다루지 않은 부분을 다루셨더군요. 비동기 메시지 호출 방법과 트랜잭션 같은 부분이죠.
다만 프로그래밍 초보가 이 책을 보기에는 무리가 있습니다. 적어도 한번은 VB 프로그래밍을 해보신 분이라야 기존의 VB 6.0과 .NET의 차이점을 이해할 수 있습니다. 예제도 시작과정을 생략했기 때문에 기본적으로 VB 프로그래밍을 해보신 분이어야 따라 할 수 있습니다. 예제 코드와 연습문제의 해답은 따로 한빛 홈페이지에서 다운 받으셔야 합니다.
실제로 책을 보며 뭔가 빠진 듯 했는데 바로 시각적인 그림이 별로 없다는 것이었습니다. 이미 버튼, 리스트 박스 등 이미 어떤 모양인지 이해하고 있다는 가정 하에 책이 만들어진 것은 이해를 하겠지만 예제의 경우(방명록, 게시판, DRM, 대부분 예제) 간단한 스크린샷 조차도 없어서 ‘도대체 어떻게 생긴 예제를 만드는 것인가?’라는 생각이 들더군요. 그래도 마지막 5부 실전프로그래밍에서는 조그마한 그림이 있네요.
마지막으로 부록에서는 VB 6.0과 VB.NET의 세부적인 차이점(키워드, IDE화면, 문법적 변화), 특이하게 VB.NET과 C#의 다른점(사실 동일한 클래스를 사용할 수 있긴 하지만 대소문자를 구별하죠), VS.NET 설치방법을 다루고 있습니다.
덧붙이는 말: 전체적인 .NET의 간략한 개괄을 보시려면 『IT 백두대간 닷넷 프로그래밍 C#, VB.NET, ASP.NET』을 권해드리고 기존 VB와 VB.NET과의 차이점을 정리하고 싶거나 쉽게 VB.NET으로 이동하시기 원한다면 이 책, 『VB.NET 프로그래밍』을 추천해 드립니다.