'개발'에 해당되는 글 1건

  1. 2008.11.16 개발방식의 모습에서 본 C#과 RAD 툴 이야기. 8
Study - Programming/C#2008. 11. 16. 14:46

※이 글은 본인의 지극히 얄팍한 지식과 경험을 통해서 생각한 주관적인 글입니다. 이 포스팅의 기술적인 내용은 본인의 지식에서 나온 것이라 실제와 다를 가능성도 있습니다. 이에 대한 수정과 비판은 환영이나 비난은 자제해 주시면 감사하겠습니다.


  내가 처음 프로그래밍이란 것을 접한건 초등학교 3학년때 Visual Basic 5.0을 통해서였다. 일반적으로 프로그래밍을 배울 때는 C같은 언어를 통해서 변수,루프,함수 같은 기본 문법을 배우고 거기서 세세한 사항 및 기술 등을 배우고 다른 언어로 넘어가던지 윈도우 프로그래밍 같은걸 배우던지 할텐데, 난 바로 윈도우 프로그래밍부터 시작하다 보니 기본적인 문법 같은것도 대충 대충배우고 그랬었다.(C를 조금 하긴 했었지만 그때도 포인터나 구조체같은건 신경도 안썼다. 결정적으로 그런 개념들에 대한 중요성을 인식하지 못했었다. 독학이다 보니.) 실제로 함수 등의 문법 사항을 이해하기 시작한건 본격적으로 C를 공부하기 시작한 대학 1학년때 미친듯이 프로그래밍 공부 할 때였다.
  아무튼 이런식으로 약간 역순(말은 이렇지만 역순이라고는 생각하지 않는다. 대세가 위의 방식이지 내 방식이 정석이 아니다 뭐다 그런건 없다는 것이 본인의 생각이다.)으로 배우다 보니 편리한 RAD방식에서 딱딱한 콘솔 기반의 프로그래밍 그리고 거기서 윈도우 프로그래밍으로 넘어갈 때는 정말 힘들었었다. 그리고 좀더 편리한 방식이 없나 종종 생각하기도 했다. VB의 편리함은 충분히 좋은 장점이지만 그에 비해 언어적 약점이 많이 아쉬웠다. 그리고 C나 C++, JAVA같은 언어는 강력한 언어적 지원과 갈수록 좋은 개발환경을 제공해 주었지만 역시 VB의 편리함과 비교해서는 아쉬운 점이 많았다.
  그러다 접한 것이 C#이다. C#은 위 두가지의 장단점을 잘 조합한 좋은 언어라고 생각한다. 엄청나게 강력한 언어적 기능 그리고 윈폼을 활용한 강력한 개발 환경. 분명 기존 언어들과 비교해서 한발자국 나가긴 나간 언어이다. 예전에 RAD툴 관련 글들을 보면서 현재는 VB 등의 RAD툴이 강력한 생산성에도 불구하고 부실한 언어적 기능 때문에 빛을 못받고 있지만 갈수록 RAD툴은 대세가 될 것이라는 글을 많이 봤다. C#은 이 말이 실현되고 있음을 보여 주는 한가지 예라고 할 수 있다. 
  그러나 이 C#도 치명적인 약점이 있다. 바로 .NET Framework라는 것. 조그마한 프로그램을 만들었는데도 20MB 가까이 되는 .NET Framework 을 설치해야 한다는 것과 이것이 현재 닷넷의 큰 약점 중의 하나라는 것은 잘 알려진 사실이다.  .NET Framework위에서 돌아가는 방식은 분명 장점도 있겠지만 현재는 이 배보다 배꼽이 큰 문제가 심각할 수밖에 없다. Windows XP가 보급되기 전에 이 .NET Framework가 좀더 기반을 다지고 Windows XP에 .NET Framework가 함께 나왔다면 어떻게 되었을지 모르겠지만 현재로서는 아무리 Windows Vista에 이것을 넣고 Windows Update에 추가하고 하더라도 충분히 보급되기까지는 상당한 시간이 걸릴 것이다.
  그리고 Microsoft에서 만들다 보니 강력한 기능에도 불구하고 .NET Framework가 Windows기반에서만 돌아갈 수 있는 불상사(?)가 발생하여 JAVA와 비교해 아직은 부족하다.(Mono가 있지만 이것이 완전한 .NET Framwork라고 할 수 있을까?)
  이런 C#의 약점을 가지고 있지 않은 다른 언어는 없을까? 최근에 2009버전이 나온 Delphi가 있겠다. 어떠한 프레임워크 위에서 돌아가지 않으면서도 엄청나게 편리한 개발 환경과 최근 2009버전에서도 나타나는 강력한 언어적 기능 그리고 C,C++같은 어느 특정한 곳에서 독점하지 않는 것이 아니라 한 기업에서 독자적으로 밀고 있는 방식이라 그 발전 가능성과 발전 속도도 상당히 높다고 할 수 있다. 그러나 이 Delphi도 왠지 모를 비인기(상대적인 이야기이다.)와 처음 접하는 개발자는 좀 거북할 수 있는 문법 그리고 Windows개발쪽에서만 나타나는 강력함에서 완전하다고는 이야기 할 수 없다.
  아직까지는 RAD툴이 개발 방식의 대세라고는 이야기 할 수 없겠다. 그러나 언젠가는 이런 방식이 주류가 될 것이라고 난 믿는다. 완전하지는 않지만 분명 변화는 일고 있다. 강력한 언어 위의 강력한 개발 환경. 그런 변화가 언제쯤이면 일어날까 기대하며 이 글을 마친다.
Posted by 머리