2006년 6월 8일 목요일

냠냠~ C#

지금 일하고 있는 회사에서는 C와 Java를 사용하지만, 개인적으로 업무에 필요한 유틸리티가 있으면 C#으로 작업하곤 합니다.

전 C, C++, C#, JAVA, VB 등의 언어를 자유롭게 구사하며, Perl이나 JScript등의 언어를 그럭저럭 다룹니다. 언어를 많이 아는 것과 프로그래밍을 잘 하는 것과는 별개의 문제지만, 적어도 필자 스스로는 언어간의 차이나 장단점에 대해서 이야기할만한 자격이 있다고 생각합니다. ( 이미 한물간 C#과 Java간의 비교 논쟁을 하고 싶은 생각은 없지만 그냥 필자가 수년간 사용해 오면서 느낀 점을 솔직히 얘기하고 싶습니다.)

C#과 비교가 많이 되는 Java 언어는 상당히 장황하고 추상적인 코드를 요구합니다. Java의 팬들이 보면 필자에게 할 말이 많겠지만, 개인적으로는 별로 좋아하지 않습니다. C#은 간결하고 실용적인 코드를 작성할 수 있도록 해주죠. 게다가 조금 익숙해지면 프로그래머가 생각하는대로 바로 로직을 구성할 수 있을 정도로 쉽습니다. 뿐만 아니라, 모든 분야의 소프트웨어 개발이 가능하죠 ^^

Anders Hejlsberg가 볼랜드에서 만들었던 델파이(지금은 사용하지 않지만 필자는 델파이로 프로그래밍을 시작했습니다.)가 그랬듯이, MS에서 그가 만든 작품인 C# 언어 역시 상당히 매력적인 언어입니다. C++ 언어에서 맛볼 수 있는 "프로그래밍 하는 맛"도 느껴지고요.

오늘도 프로그램을 짜다 새삼 C#이 참 멋진 언어라는 생각이 들었습니다. 여러분도 그런가요?

댓글 2개:

  1. 저는 자바란 언어를 접해본 경험이 없지만 C#에 대해서는 매력과 더불어 약간의 불만도 가지고 있습니다. C#가 기본적으로 해당 플랫폼을 일단 설치를 해야 한다는 점에서 (자바도 그렇다고 이야기를 들었습니다) C에 비해 속도가 좀 떨어지는 느낌이 듭니다.

    그렇지만 어느 운영체제에서나 실행이 가능하다는 점은 큰 장점이 아닐 수 없습니다.



    수학함수를 쓰는 경우 자바스크립트와 많이 닮아 있다는 생각이 들고요, VB에서 제공하던 텍스트박스 배열을 제공하지 않는 점은 아쉬운 점입니다. C#이 진화되어 2.0에서 3.0으로 버전업이 됐다고 하더군요. 이번엔 어떤 장점이 추가되었을지 궁금하기도 합니다.



    무엇보다도 C#의 장점은 "쉽다"라는 점이라고 봅니다(너무 건방진가?). C를 최초로 접해서 그런지는 몰라도 C에서 느꼈던 어려움 (특히나 포인터)은 C#에서는 거의 느끼지 못합니다. 그냥 쉽게 읽고 이해할 수 있는 그런 언어...... 그렇지만 제공하는 기능들은 무지 강력한, 정말 좋은 언어라고 생각합니다.(물론 책을 쉽게 쓰시고 필요한 것만을 엄선하신 선생님의 노력이 결정적인 요인이라고 생각합니다)



    요즘은 또다른 프로그램을 짜고 있는데 (외국인들은 프로그램을 "쓴다(write)"라고 하더군요). 질문을 올릴까 하다가도 좀 더 고민해보고 올리자는 생각을 하게 됩니다. 고민 속에서 알고리즘도 실력도 커가지 않을까 하는 생각으로 말입니다.



    제가 짠 프로그램을 실력자가 보면 아마도 웃을 거라고 생각합니다. 알고리즘도 그렇고 전체적인 구조도 그렇고 영 자신이 없지요. 다만 필요한 기능을 구현하고 또 보면서 로직을 좀 낫게 변경하도록 노력할 뿐이지요.



    이야기가 많이 샜네요. 좌우간 몇 안되는 제가 아는 언어 중에는 최고라고 생각합니다.

    답글삭제
  2. @현송 - 2006/06/08 23:37
    현송님 말씀대로 C#으로 작성된 프로그램은 C/C++로 작성된 프로그램보다는 아무래도 실행속도가 떨어집니다. .NET 프레임워크를 설치해야 되는 것도 좀 불편하죠.. 프로그램을 만들어서 배포할 때는 C#은 고민이 좀 되는 게 사실입니다.



    윈도우2003 이상의 플랫폼에는 .NET 프레임워크가 기본적으로 설치되니 미래에는 배포문제는 조금 해소될 것 같고, 실행속도 문제는 MS에서 조금 더 노력을 해 준다면 C/C++ 만큼 나올 수도 있을 것 같습니다.



    ps : 그러고보니 영문으로 된 책에서는 짜다(weave)라는 표현을 본적이 없는 것 같습니다. 어쩌다가 우리나라에선 프로그램을 작성하다(write)와 함께 짜다(weave)라는 표현을 쓰게 됐을까요? 현송님 코멘트를 보고 나니 갑자기 궁금해지는군요 ^^

    답글삭제