C로의 회귀 , 그리고 C# Python으로 진화

프로그래밍 2008/07/09 21:50
얼마전에 이와 비슷한 회귀의 포스트를 SMGAL님의 사이트에서 보았지만,

나는 좀 다른 이유로 STL도 아닌 , C++ 자체의 사용을 하지 않으려고 하고있다.
1995년 부터 작성한 수많은 C++ 소스가 있지만 , 더이상의 C++소스의 생산은
자제하려고 하고 있다.

좀더 편의적인 프로그래밍을 위해서는 Python이나 C#을 사용할것이고 ,
좀더 로우레벨적인 접근이 필요한 프로그래밍에서는 C나 PASCAL
그리고 ASM 을 사용할 것이다
.

C++의 초창기 버전과 최초의 C++의 컴파일러를 사용해보았고 ,
C++의 갖은 변천사를 보았으며  C++이 불완전한 OOP를 지원하는
단계부터 , 현재의 일반화 프로그래밍까지의 과정을 지켜보았다.

C++을 C를 포용함으로써 많은 이익을 보았지만 또 다른 측면에서는
많은 손해를 보고 결국 현재의 C와 C++는 다른길을 걷고 있다.

아이디어가 표현되는 방법은 많다.

C++은 갈수록 복잡해지고 있다.
그리고 현재의 추구하는 이상으로 볼때 더욱더 복잡해질 것 같다.
C++의 가장 큰 단점은 바로 이것에 있다. 기나긴 학습기간
그리고 가장 복잡한 언어.

문제해결의 촛점은 문제를 단순화하는데 있다.

프로그래밍의 문제해결을 위해서 더이상 C++을 고집할 이유가
없는 것으로 판단했다.

속도가 요구되는 부분은 C와 ASM으로 , 인터페이싱과 툴과 편의를 위한
프로그래밍은 RAD툴로
이것이 훨씬 나은 방법으로 판단되기 때문에 나는 과감히 C++과 좀 멀어지려고 한다.

C++은 현재 가장 강력한 언어중에 하나이며 많은 유용한 소스가 나올 것이다.
그러나 C++의 경우 좋은 소스일 경우 오히려 그것을 배우고 익히는 시간이 엄청나게 길다.

일단 익히고 나면 그 다음에는 최상이다라고 말할 수 있지만
기술은 너무 빠르게 변하고 있다. 그렇게 오랜 시간을 두고 배워야 한다는 것은
경영적으로 보면 기회비용의 문제가 될 정도로 방대해져 버린것이 문제이다.

------------------------------------------------------------------

다른 좀더 철학적 이유.

아이디어가 중요하다. 아이디어를 표현하는 방법은 많다.
아이디어를 표현하는 방법은 중요하다. 표현은 중요하다 하지만
아이디어가 보다 중요하다.

문제 해결의 아이디어에 집중하게 하는 것보다 표현에 집중하게 하는듯 하다.


소스를 재활용 할 수 있게 해야되고 , 소스를 최적화를 염두에 두어야 하고
소스의 신격화를 위해서 힘써야 한다.

당연히 재미없다.
소스 자체 보다는 문제해결에 아이디어를 더 고민하게 하고 아이디어를
직접적으로 표현할 수 있는 형태의 언어쪽으로 회귀한다.

내 소스를 항상 재활용해에겠다 라는 강박관념과 편견에서 벗어난다.
대신 문제해결에 대한 몰입의 방법과 ,프로그래밍 자체가 재미있어서
눈을 땔수 없었던 시절의 재미의 본질을 찾아갈것이다.

PS. 하지만 필요하면 언제든지 C++를 사용할 것이다.
    프로그래머가 언어를 선택하는 것이고 언어는 문제해결을 위한 하나의 도구일 뿐이다.
top

Trackback Address :: http://xevious7.com/trackback/383

  1. Sikuru 2008/07/10 16:37 MODIFY/DELETE REPLY

    언어는 정말 어디까지나 상황에 맞는 도구일 뿐인 것 같아요 =)

    허나, 전 아직 갈길이 까마득해서 난감난감ㅠㅠ

    • xevious7 2008/07/10 16:54 MODIFY/DELETE

      C++은 참 훌륭한 언어이고 지금도 강력하지만,
      그런 이유가 하나의 '독'이 되는것 같습니다.

      중요하 것은 역시 ,언어는 프로그래밍을 위한
      도구라는 생각인것 같습니다.

      항상 그렇게 말씀하셔도 강력한 포스를 느낍니다. ㅎㅎ

  2. 슴갈 2008/07/11 11:44 MODIFY/DELETE REPLY

    최근 회사의 총괄이 바뀌면서(기술총괄->통신연구소) C로의 회기가 중요한 이슈가 되었습니다. (제가 C의 회기에 대한 포스팅을 한 후 곧바로 그게 현실이 되어버렸습니다)

    계속 C를 써왔더라면 C99 이후의 변화에 대응하고 여러 방법론을 익힐 수 있었겠지만, 최근 4~5년간은 degisn pattern이나 template 파생 프로그래밍같은 C++의 유행을 쫓고 있었기에, 다시 C적인 사고를 하는 것이 약간 힘들게 되었습니다.

    회사의 팀에는 C로의 회기를 이야기 하였으나 그다지 먹히지는 않고 있는데, 일단 추이를 계속 봐야할 것 같습니다. 아직은 조심스럽고... guru들의 의견을 좀 더 들어봐야겠습니다. 그리고 GPG study에 만드신 thread도 계속 감시(?)를.. ^_^


    • xevious7 2008/07/11 12:13 MODIFY/DELETE

      댓글 감사합니다.
      전세계적인 추세이기도 하지만 , 특히 프로그래밍 분야에서는
      과거 10년만 돌아보아도 새로운 기술에 집착하는 것이
      IT회사들의 어떤 활로 였습니다.
      뒤돌아 생각해보면 비즈니스와 정치가 결합된 하나의
      흐름이 아니였을까 생각합니다.
      소프트웨어 공학의 사실과 오해나 , 피플웨어 ,
      조엘온소프트웨어 등의 여러사례와 guru들의 의견을
      보면 ,저를 포함하여 많은 프로그래머들이 이러한 것에
      휩쓸리고 있는 것이 아닌가 하는 생각이 들었습니다.

      많은 시간 고민한 결과, 현재 회사에서 하는 작업에서도
      딱히 꼭 필요성을 느끼는 환경이 아니였고,
      잃어버린 프로그래밍의 재미를 찾기위해서 어떤것을
      해야할까 고민중에 그 첫번째 단계로 툴로부터 자유를
      추구하는 것이라고 해야될까요.

      재미에 대한 고찰은 포스트로 올려볼 생각입니다.
      몇번 작성했다가 지우고는 하고 있어서 공개여부는
      모르겠습니다.

Write a comment