근래에 C#으로 5~6개의 프로젝트를 수행하면서 C#은 단지 Java와 C++을 짬뽕시켜놓은 특징없는 언어일뿐이라고 평가절하했던 나의 생각이 많이 바뀌었다.
프로그래머들에게 대체 불가의 언어로 여겨지는 C++과 8~90년대 급격한 성장을 해온 Java의 틈에 끼여 아직 C#이 차지하는 위치는 낮지만, 개인적으로 C#은 무궁무진한 장점을 가진 언어란 생각이 든다.
우선 C#에 대해 소개하자면, 앞서 언급한 것과 같이 C++과 Java를 교묘하게 섞어놓았다.
똑같이 .NET Framework를 기반으로 돌아가는 VB와는 달리, C#은 if, while, for 문이 C++과 정말 닮아있다. 물론, Java와도 정말 닮아있다.
또한, C#은 Java와 유사하게 .. 아니 표절이라고 해야하나?-ㅁ-; Garbage Collection을 지원한다. 따라서 특별한 경우를 제외하곤 프로그래머는 리소스 해제에 대해 신경 쓰지 않아도 된다. (하지만, 성능을 염두에 둔다면 가급적 Garbage Collection이 자주 발생하지 않게 프로그래밍 해야하지만!!)
포인터가 없다! (아니, 그냥 없다고 하면 그렇지만.. 없다고 봐도 무방하다고 하고 싶다.-ㅁ-)
Java와 마찬가지로 primitive type과 object type이 존재한다.
다시말하면, 정수를 다루는 타입이 기본적으로 int와 Integer 2가지가 제공된다. (물론, 역할은 다르지만..)
게다가, C#은 Windows Programming, Web Programming, PDA, Phone 등의 개발에 그대로 적용될 수 있다!
이 모든 것이 다 .NET Framework 때문이다. 따라서, .NET Framework는 Java Virtual Machine이 가지고 한 장점을 고스란히 가지고 있다고 볼 수 있다. (물론, 상이한 점도 존재하지만!)
그리고, Java보다 좋은 점..^^
UI 꾸미기가 마치 VB 만큼이나 쉽다. 고로, 생산성이 좋다! Java는 사실 좋은 툴로 프로그래밍한 기억이 전혀 없어서 그럴 수도 있지만.. 버튼을 생성하고, 이벤트 핸들러를 등록하는 작업이 아직도 악몽같다-_-
그러고보니, 학부 때도 처음에 C/C++ 보다 Java에 더 애착이 갔었던 과거를 생각하면... 난 이상하게도 Managed Code에 잘 이끌리는 것 같다-ㅁ-
물론, 그래도 회사의 주력 제품의 개발 언어가 C++이기 때문에 이 녀석에 대한 공부도 여전히 소홀할 수는 없다. 하지만, 근래에 C#에 대해 많은 수련을 거듭하면서 웹 프로그래밍도 어느 정도 가능하게 되었고.. 프로그래밍에 대한 다양하고 폭 넓은 사고를 할 수 있는 계기가 되고 있다는 생각이 든다.
C#을 공부하면서 드는 생각은..
축구에서도 멀티 플레이어를 강조하는 현대 시대에 더 이상, C/C++ 만 고집해서만은 안되겠다는 생각이 든다. (물론! C/C++이 소프트웨어 개발 분야에서 대체 불가능한 언어란 생각에는 변함이 없다^^)
Trackback
Trackback Address :: http://www.nohungry.net/tt1/trackback/98

Comments
오... 역시 자넨 이것저것 많이 공부하시는구려~
자네말처럼 C#이 C++과 Java의 장점을 섞어만들었다면 아주 쓸만하겠다는 생각이 드는군-_-
생산력 면에서 극강이겠소~
뭐, 적응의 문제겠지만 Java쓸때도 그렇고... 난 포인터가 없는 언어를 쓰면 왠지 손발이 묶인채로 프로그래밍을 하는 느낌이 들어서... 영 개운치가 않다오-_-
남들 다 쉽다고 하는 비주얼베이직을 몇번이고 공부해볼까하다가 집어던진 이유가 아마도...
포인터 없는거도 모자라, 변수형까지 지맘대로 흐느적거리는 것이었던거 같소-_-;;
내 뇌구조가 특이한걸까-_-;;;
으음.. 답글이 늦었네. 주위 사람들의 반응을 보면 자네의 뇌구조가 결코 평범하지 않지.ㅎ
나도 사실 비베는 정말 난감하다오.ㅎ 예전에 학부 때 권교수 아래에서 프로젝트 할 때는 어쩔 수 없이 했었지만서도 말일세.ㅎ
첨에 나도 C#을 할 때 포인터가 없어서 좀 당황스러웠다오. 하지만, 난 Java에도 익숙해서 그런지 몰라도, 곧 적응이 되더군.ㅎ
아 그리고 C#에서 포인터를 완전히 쓸 수 없는건 아니라오, 안전하지 않지만, 지원은 하는걸로 알고 있소.
관련 아티클을 읽어본 기억은 있지만, 굳이 권장하지 않는걸 쓸 필요가 없단 생각이 들어 그냥 기억에서 지웠소만.ㅎ
암튼 주말에 만납세.ㅎ