'C++과 결별'에 해당되는 글 1건

  1. 2008/07/09 C로의 회귀 , 그리고 C# Python으로 진화 (4)

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