[e테크]닷넷(.NET)-C#는 어떤 언어?

닷넷 개발업체들은 다른 프로그래밍 언어가 필요한지를 고려해야 한다. 특히 마이크로소프트가 응용제품을 개발하는 데 다른 언어가 필요한지를 검토해야 한다. 이에 마이크로소프트는 자사의 새로운 언어인 C#가 사용하기에는 편리하지만 특정 기능이 없는 비주얼 베이식과 성능은 좋지만 배우기가 어려운 C++의 간격을 보충할 수 있을 것으로 기대하고 있다.

 마이크로소프트는 전문 프로그래머들에게 비주얼 베이식과 비주얼 C++ 등 두 개의 기본 툴키트를 제공하고 있다. 비주얼 베이식은 기본적으로 시기적절한 신속 응용 프로그램개발(RAD:Rapid Application Development) 계획과 관련이 있는 제4세대 언어 정보기술(IT) 개발자를 직접 목표로 한다. 비주얼 베이식은 세계에서 가장 인기있는 프로그래밍 언어인 동시에 통합개발환경으로서 현재 전세계적으로 300만명이 사용하고 있다. 그러나 비주얼 베이식은 전통적으로 객체지향을 지원하고 스레딩, COM 접속 및 윈32 API와 같은 복잡한 시스템 프로그래밍 기능에는 약하다. 올해 안에 비주얼 베이식과 C++의 차이는 상당히 좁혀질 것으로 보인다.

 비주얼 스튜디오 닷넷이 발표되면 거기에 있는 비주얼 베이식은 완전한 객체지향 언어가 될 것이다. 그러나 객체지향 지원을 확장한다 하더라도 비주얼 베이식은 제4세대 언어로 머물러 있을 것이며 많은 개발자들이 제3세대 언어 환경보다 매력을 덜 느끼게 될 것이다. 그 대신 마이크로소프트의 비주얼 C++는 더 복잡한 객체지향과 체계적인 개발을 목표로 하고 있다.

 전세계에 있는 250만명의 C++ 프로그래머 중 마이크로소프트가 C++개발툴의 80%를 차지하고 있다. 비주얼 C++는 윈32 API를 개발하는 독자적인 소프트웨어업체와 시스템 프로그래머에게 계속인기가 있는 객체지향 언어, 통합개발환경을 제공한다. 그러나 이것은 일반적으로 주력 IT기술과 전자상거래 프로그램을 개발하는 데 부적합하며 다른 C++응용프로그램 개발과 마찬가지로 자바에 대한 선호도가 높아짐에 따라 수세에 몰리고 있다.

 마이크로소프트는 사용하기 쉬운 비주얼 베이식과 성능은 우수하지만 배우기가 어려운 비주얼 C++의 양극화된 프로그램 중간에 어떤 솔루션이 필요하다는 것을 인식하고 있다. 닷넷 프레임워크의 기능을 활용하도록 특별히 고안된 새로운 툴세트가 절실히 필요하게 됐다. 마이크로소프트는 닷넷 개발을 위해 특별히 디자인된 제3세대 객체지향 언어인 C#가 이러한 문제를 해결해 줄 것으로 기대하고 있다.

 C#는 양극화된 비주얼 베이식과 비주얼 C++의 중간에 자리를 잡고 두 진영의 개발자들을 모두 끌어 모을 수 있을 것으로 보인다. C#가 C++와 밀접한 관계를 갖고 있다고 볼 때 비주얼 C++ 개발자들이 대거 C#의 개발 풀을 형성할 것으로 예상된다. 반면 비주얼 베이식 개발업체들은 새로운 추세에 부응하려고 노력할 것이다. 과거 많은 개발업체들이 자바로 전환할 때와 비슷한 상황이 빚어지는 셈이다.

 C#의 한가지 주목할 만한 기능은 닷넷 프레임워크의 구속력을 벗어나 낮은 수준의 관리되지 않은 코드가 될 수 있다는 것이다. 이러한 기능은 C++ 프로그래머들이 당연하게 생각하는 간접 메모리 조정과 같은 여러 가지 기능을 제공해 준다. 그러나 그 기능은 C#가 메모리 유출을 비롯한 많은 C++중심적 문제를 낳게 한다. 마이크로소프트는 프로그래머들이 관리된 환경과 관리/비관리 혼합환경에서 운용할 수 있는 재량권을 주었다. C#의 개발은 다분히 전통적인 C/C++개발의 성격을 띠고 있다. C#는 C++보다 덜 복잡하고 자바보다는 약간 더 복잡하다.

 마이크로소프트가 그렇지 않다고 주장함에도 불구하고 C#는 자바에 영향을 받았고 또 그의 경쟁자가 될 것이다. C#와 자바는 C++, 오브젝티브C 등과 함께 C계열의 언어다. 비록 C#가 기능면에서는 C++와 더 밀접한 관계를 갖고 있지만 구문론적으로 볼 때 자바와 C#는 비슷한 점이 많다.

 C#가 마이크로소프트 자체의 OS플랫폼에서는 성공이 보장되겠지만 다른 플랫폼에서는 그렇지 못할 것으로 보인다. 그렇기 때문에 마이크로소프트는 이례적으로 C#와 공통언어인프라(CLI:Common Language Infrastructure)라고 불리는 닷넷 프레임워크의 하위 프로그램을 표준기관인 유럽컴퓨터업체협회에 제출했다. 이것은 다른 플랫폼에도 채택되게 하기 위한 적극적인 노력의 일환이다.

 오는 2003년까지 비주얼 베이식은 마이크로소프트 플랫폼의 주요 언어로 사용될 것으로 보인다. 마이크로소프트가 닷넷-자바통합 전략을 성공적으로 추진한다면 C#는 틈새시장 제품으로 전락할 것으로 예상된다. 반대로 마이크로소프트가 자바를 탈락시키거나 부분적 툴세트로 계속 사용한다면 C#는 빠른 속도로 닷넷 프레임워크 및 웹서비스 응용 프로그램 개발을 위한 주요 언어로서의 자리를 굳힐 것이다.

 마이크로소프트의 닷넷 프레임워크기술을 전자상거래를 위한 전략요소로 채택하려는 계획을 가진 기업체는 C#언어가 사용될 수 있는 분야를 모색해야 한다. 그러나 올해 말까지는 주요 사업부문에는 이를 채택하지 않는 것이 좋다.

 

<정리=온기홍기자 khohn@etnews.co.kr>


브랜드 뉴스룸