C , C++ 앞으로의 전망을 어떻게 생각하세요 ?
밑에 글은 좀 주관적인 생각이 많습니다. 사실에 기반한것도 있지만.
제가 프로그래밍에 입문하던 96년도에는....
선택의 폭이 거의 C 뿐이 없었습니다. 학부시절에....
그때 당시 C 아니면 C++ 아니면 ^^ VB 2.0
그래서 다들 C 로 많이 개발했지요... 제가 인사관리프로그램을
짠 기억이 있군요... C 로... 풀다운 메뉴 만든다고 삽질...
하여튼 C 로 뭐든지 다해야 할 정도로.....
그시기에 좀 앞서가시는 분들이 Petzold 책을 가지고 VC 를 하시고..
게임만드시는 분들은 Watcom C 를 가지고.....
웹의 시기가 도래하였으나 C 로 작성된 cgi 나 perl 이.....
그러다 97년5월 인가 ? java 가 본격적으로 국내에 상륙....
98년 99년 저변도 확대되고.....97년 정도에 델파이도 나오고
MS 에서 비주얼 스튜디오를 내노면서 VB 도 급격히 부상을 하고..
2000년이 넘어 오면서 흐름이 많이....
C 와 C++ 로 업무용 ( 특히 회계관련, ) 을 짜는건..사라지면서..
C 와 C++ 은 서버와 시스템 프로그래밍에 한정되는거 같은 분위기..
그런데.. 이 흐름에 따라 C 와 C++ 을 전문적으로 학부시절에
공부하는 친구들도 급격히 줄고 있습니다.
요즘은 다시 임베디드 바람에 C 가 부상하고 있는 상황입니다..
어제 모 사이트를 가보니 VC++ 개발자가 줄어서.....
연봉이 상승 추세에 있다고 합니다....
과연 C, C++ 을 주력언어로 사용하는 사람들의 장래는
다른 언어에 비해서 긍정적일까요 ?
ps) 다른 언어를 공부하세요 이런건 우선 논의에서 제하고...
첨부 | 파일 크기 |
---|---|
SD Salary Survey 2004.png | 428.36 KB |
코볼, 포트란 하시는분들도 밥먹고 사는데 지장없다고 합니다. 무엇을 하느
코볼, 포트란 하시는분들도 밥먹고 사는데 지장없다고 합니다. 무엇을 하느냐가 문제가 아니라 어떻게 얼마나 잘 하느냐가 문제라고 생각합니다.
.neuk
앞으로도 계속 꾸준히 현재의 상황을 유지하거나 조금씩 특화된부분으
앞으로도 계속 꾸준히 현재의 상황을 유지하거나 조금씩 특화된
부분으로 가지 않을까 생각합니다. 언어는 없어지는 게 아니니까요.
그러나 "다른 언어에 비해서" 앞으로 긍정적일까 하는 문제는
좀 더 두고봐야 할 것 같네요. :wink:
맛있는 프로그래밍~!
[quote="Anonymous"]코볼, 포트란 하시는분들도 밥먹고 사는
정말 지당하신 말씀이네요 ^^
마음에 새기겠습니다.
가자 해외로 ~ .. 돈 벌러.
[quote="Anonymous"]코볼, 포트란 하시는분들도 밥먹고 사는
글세요.. 어느 분야나 공급과 수요는 존재합니다. 코볼과 포트란을 아무리 잘한다고 해도 수요가 없으면 꽝입니다. 만약 의사들이 넘처흘러나올정도로 많아지면 그때는 의사도 그렇게 존경 받거나 돈을 많이 벌수 있는 직업이 안되겠지요.
[ 맑음 ] <어떠한 역경에도 굴하지 않는 '하양 지훈'&g
[ 맑음 ]
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
뭐 아직은 C/C++로 잘먹고 살 수 있습니다. C++ 뉴스그룹에
뭐 아직은 C/C++로 잘먹고 살 수 있습니다.
C++ 뉴스그룹에서 얼마전 Scott Meyers가 쓴 낚시글 :) Why do you program in C++? 을 보시면 왜 C++ 을 사용하는가에 대한 여러 사람들의 의견을 보실 수 있습니다. ( 이름값을 하는지 100넘게 낚았군요 )
그리고 첨부된 자료를 보시면 윗분이 이야기 하신것 처럼 코볼, 포트란도 잘 먹고 살고 있습니다. ( 파이썬이 상위랭크군요!! 뭐 희귀해서 그런 것 같습니다. )
ps. 2차 출처 링크 입니다.
----------------------------------------
http://moim.at
http://mkhq.co.kr
[quote="happyjun"]그리고 첨부된 자료를 보시면 윗분이 이야
파이선은 희귀해서가 아니라 학문분야에서 많이 활용되고 있습니다.
특히 수학하고 연관이 많습니다.
There is no spoon. Neo from the Matrix 1999.
[quote="r3d0ny0u"][quote="Anonymous"]코볼,
걱정 마세요. IT쪽도 이미 기피직업군에 들었답니다. 앞으로 사람이 줄면 줄었지 늘어나서 피보는 일은 별로 없을 것 같습니다. 그리고 다행이도 C/C++을 배우는 사람도 계속 줄고 있답니다.
요즘엔 학교에서 C/C++ 잘 안가르쳐요.
.neuk
하드웨어가 존재하는 한 Assembly는 존재할 것이고,운영체제가
하드웨어가 존재하는 한 Assembly는 존재할 것이고,
운영체제가 존재하는 한 C도 존재할 것입니다.
C++은 잘 모르겠네요.. ^^;
문근영 너무 귀여워~~
예전에 한 교수님이 수업시간에"프로그램을 처음 접할때 C 만큼 적합한
예전에 한 교수님이 수업시간에
"프로그램을 처음 접할때 C 만큼 적합한 언어도 없다."라고 하신 말씀이 생각나네요.
물론 제 생각엔 순수하게 C언어만으로 모든 걸 해결하기는 어렵겠지만,
C언어를 거치지 않고서 다른 언어들을 배운다는건
모래위에 성을 쌓는다는 느낌이군요.
요즘은 신입생들에게 C 대신에 바로 Java를 가르친다는 학교도 있더군요. 음..
혹시 이런 제 생각이 C를 배우는데 너무나 힘이 든 나머지
C 예찬론자가 되어서 그런 걸지도 모릅니다.
사람은 어떤걸 힘들게 익히면 그것에 대해서 애착과 긍지가 생기는 법이니까요 :D
2005년 7월 12일.
오프토픽입니다만...
이렇게 오프토픽으로 불쑥 끼어들어서 죄송합니다만, 궁금한 게 있어서요.. 지금 보시면 한 화면이 넘는 브라우저 내용을 캡처해서 이미지 파일로 만드신 것 같은데.. 그런 거는 어떻게 하는 거죠?
주제와 상관없이 이상한 거 물어봐서 거듭 송구스럽습니다.
어떤 언어를 주력으로 삼느냐로 장래성을 논하는 것은 무리 아닐까요?특
어떤 언어를 주력으로 삼느냐로 장래성을 논하는 것은 무리 아닐까요?
특정 언어보다 관심 분야에 대한 전반적인 지식이 훨씬 중요하다고 보는데요.
그 분야에서 많이 쓰이는 언어를 택하는 것이 유리한 점은 있겠으나
한 사람의 장래를 바꿀 만큼 영향이 크다고 생각하지는 않습니다.
* 나비 효과(butterfly effect)까지 고려하면 달라질지도...
[quote="doldori"]* 나비 효과(butterfly effec
[quote]이렇게 오프토픽으로 불쑥 끼어들어서 죄송합니다만, 궁금한 게
snagit같은 프로그램사용 하시면...
-----------------------------------------------
{.taoist.} / 立身中正 / Pine Eater
{.http://www.taoist.co.kr.}
Anything you can do, I can do meta!!!
-----------------------------------------------
언어는...
단지 도구 아닐까요?
걍 필요한 필드에 적합한 언어를 가지고 하는거 아닐까 생각됩니다.
사실 최근에 나온 언어들은 갈수록 쉬어져서...
c/c++ 만 잘해도 나머진 그리 어렵잖게 배울수 있지 않나 싶군요.
개념이야 돌고 도느것이니...
나머진 소소한 문법차이와 라이브러리 익히기 정도 아닐지...
언어 보다 패러다임이나 아키텍쳐를 공부하는게 더 도움이 되지않을까 싶네요...
domain knowledge와 더불어서...
뭐.. 당연한 이야기 같지만 "필요한 곳에 적절히 쓰임"이 맞다고 봅니다
뭐.. 당연한 이야기 같지만 "필요한 곳에 적절히 쓰임"이 맞다고 봅니다..
펌웨어 만드는데 C#을 쓸수는 없는것이고..
회계프로그램 만드는데 win32 api를 이용해서 작성할 수는 없듯이요..
C#을 이용한 3D게임도 작년 9월달에 이미 상용화된 패키지가 나왔구요..
슬슬 C#은 아니어도 managed C++을 이용한 게임 개발에 관심이 있는
분들도 많은것 같습니다..
그래도 아무리 생각해도 아직까지는 C/C++을 알고 있으면 밥 벌어 먹을 분야가 많은것 같습니다. :)
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
...
파이선은 심볼릭 연산을 위한 프로그래밍을 하는데 가장 최적의 언어가 아닐까 생각을 해 봅니다.
No Pain, No Gain.
아직까지도 언어 사용 통계에서 C, C++ 합치면 25% 가까이 됩니다.
아직까지도 언어 사용 통계에서 C, C++ 합치면 25% 가까이 됩니다. C는 몇 년간 자바가 지켜왔던 1위 자리를 올해에 탈환했구요. C++은 부동의 3위를 지키고 있습니다.
그러나..
전망이 밝으냐..하면 그건 잘 모르겠습니다. C가 다시 자바를 앞지른 것은 C가 늘어났다기보다 자바의 점유율이 줄어든 탓이고 자바의 점유율이 줄어든 이유는 .NET과 dynamic language입니다. dynamic language로 이동한다는 것은 곧 다음 세대로의 이동을 뜻하는 것이죠. 어쨋든 전체적인 추세가 점점 다이나믹한 언어로 가는 것만은 틀림 없습니다.
C가 시장을 유지하고 있는 것은 현재 C가 아니면 안되는 영역이 많기 때문입니다. 유닉스, 리눅스, 임베디드 등. 엔터프라이즈 애플리케이션을 C/C++로 작성하는 경우는 이제 찾아보기 어렵습니다. 결국 살아남는 이유는 코볼과 점점 비슷해지는 셈입니다.
물론 코볼 프로그래머도 아직 잘 먹고 잘 삽니다. 하지만 그들이 살아남는 이유는 희소 가치 뿐입니다. 전 그렇게 살고 싶진 않더군요. 엔지니어라면 변화하는 기술의 최전선에서 신천지를 개척해나가는 것이 가장 재미있지 않을까요?
C/C++은 프로그래머라면 상식으로 알아야 합니다. 하지만, 거기에 갇혀서는 안될 것입니다. The Pragmatic Programmer에서도 일년에 언어 하나 정도씩은 배우라고 권하고 있죠. "C++ 프로그래머", "자바 프로그래머"가 되기보다 "프로그래머"가 되어야 하지 않을까요?
C/C++과 .net/java 로 대표되는 블럭쌓기 언어들의 장단점이며
C/C++과 .net/java 로 대표되는 블럭쌓기 언어들의 장단점이며 어쩌고저쩌고에 대해서는 별로 말할 필요가 없겠지만, C와 C++의 입지가 작아진다는 사실이 제게는 프로그래밍이 점점 더 비전문적인 - 시스템의 조화보다는 기능성을 위주로 하는 블럭쌓기로 변해간다는 이야기와 동등하게 들립니다. 다시 말하면 시스템을 알지 못하고 비즈니스 로직의 구현"만"을 직업으로 하는 비해커적이며 비전문적인 프로그래머가 양산되고 있다는 의미와도 동일하며 C/C++를 사용하지 않는 프로그래머의 연봉은 앞으로도 계속 하락할 것이라는 의미와도 동일하게 느껴집니다.
ps.
저는 만우절이면 떠도는 Bjane Stroustroup의 C++이야기가 결코 농담이라거나 장난처럼 느껴지지 않더군요. :roll:
[quote="saxboy"]C/C++과 .net/java 로 대표되는
시스템 프로그래밍이 어려운 건 사실이지만 그렇다고 고차원적인 분야가 상대적으로 쉬운 것도 아닙니다. 저차원은 저차원대로, 고차원은 고차원대로 깊게 들어가면 어려운 분야가 있습니다. 컴포넌트 기반 개발을 한다고 '비전문' 프로그래머가 된다는 시각에는 동의하기 어렵군요.
쉽게 말해 비행기 제작하는게 상당한 기술을 요하는 일이라고 해서 반대로 완성된 비행기를 조종하는게 쉬운일은 아니라는 뜻입니다.
----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...
[quote="fender"]시스템 프로그래밍이 어려운 건 사실이지만 그
어머나. 누군가 이렇게 답글을 달것이라고 예상은 했지만, 그게 fender 님일줄은 몰랐군요. fender님이시라면 read between the lines가 되시지 않나요. 섭섭해요. :oops:
[quote="saxboy"]어머나. 누군가 이렇게 답글을 달것이라고 예
과대 평가이십니다... 전 플레임을 좋아해요 :)
----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...
[quote="fender"][quote="saxboy"]어머나. 누군가
전 플레임 구경이 더 재미있더군요. 8)
제가 내공이 깊지 않아서 이 주제에 대해 심도 있는 얘기를 하는 것은 주제넘는 일인 것 같구요. 개인적으로 C와 C++를 매우 좋아하기 때문에 전망이 밝았으면 좋겠습니다.
거짓말이 없다는 것은 현대성보다도 사상보다도
백배나 더 중요한 일이다.
[quote]어머나. 누군가 이렇게 답글을 달것이라고 예상은 했지만,
I don't know what are between the lines.
전 fender님 답글 보고 역시 fender님이구나 했었는데... 비유는 약간 수정하고 싶지만. 전 이런 종류의 논쟁을 볼 때마다 부속품을 만드는 일과 자동차를 만드는 일로 비유하곤 한답니다.
자동자 부품 생산 공장. 자동차 메이커. 둘 중에 선택하라면 전 자동차 메이커에 한 표~
C와 C++이 앞으로 곧 사라질 언어는 아니라고 생각합니다. 이식성과 레
C와 C++이 앞으로 곧 사라질 언어는 아니라고 생각합니다. 이식성과 레거시를 보아도 그렇고, 속도도 그렇고. 하지만 언어의 발전단계에 있어서 결코 끝에 와 있지는 않다는 것은 부인할 수 없다고 생각되네요.
컴포넌트로 뚝딱뚝딱 만드는 언어로 자바 등의 언어를 간주하는 것은, 사실 현실을 제대로 못보는 것입니다. 다양한 리써치에서 설득력 있는 솔루션으로 자리매김하고 있기 때문입니다. 웹프로그래밍에만 자바를 쓰거나, 만들어놓은 코드를 갖다 쓰는 점만 본다면 그렇게 오해할 수도 있다고 생각이 듭니다.
자바언어의 사용례로, www.rtreeportal.org에서 다차원 인덱스 구조(B+ tree는 단일 키값에 대해 검색하죠. 이에 반해 다수의 키값이 primary index로 간주될 수 있는 형태가 다차원 인덱스 입니다)중 가장 유명한 형태인 R* tree가 자바로 구현될 수 있는 것을 볼 수 있습니다.
또한 음성인식 분야에서 널리 사용되는 도구중 하나인 Sphinx(http://cmusphinx.sourceforge.net)는 C/C++에서 자바로 옮겨왔습니다. 그리고 '자바이기때문에 느리지 않을까?' 라는 질문에는 'groundless'라고 답변한 FAQ를 달고 있습니다. 음성인식 분야는 신호처리, 인공지능이 고도로 집약된 분야입니다. 얼핏보기엔 C/C++아니면 안될 것 같은 그 분야입니다. 하지만 C/C++을 사용해서 Sphinx가 해놓은 만큼의 라이브러리를 만들고, 그들의 성능에 도전하는건 좀처럼 쉬운일이 아닐것입니다. 이건 원천 기술에 속하는 영역이기 때문이죠. 그 사람들이 한건 '자바로 코딩'한것이 아니라 '원천 기술을 쓰기 편한 언어로 구현'한 것이기 때문입니다.
또, 오라클은 저장 프로시저를 자바로 작성할 수 있게 했습니다. MS는 MSSQL내에서 C#을 쓸 수 있게 했습니다. 그리고 이를 통해, 기존의 저장 프로시저에서 처리할 수 있는 업무의 활용 범위를 넓히고자 하고 있습니다.
한편 IBM은 CPU상에서 직접 자바 코드가 수행되는 CPU 개발에 나섰습니다.
그럼 C/C++의 입지는 어떻게 될까요.. 현재로선 정말 최고의 속도가 필요한 분야(ms 단위로 실행성능을 평가해야하는 곳), 운영체제, 네트워크 하부, 임베디드 디바이스, 디바이스 드라이버와 같은 몇가지 곳을 제외하고는 반드시 C/C++아니면 안되는 곳은 사라졌다고 봅니다. 사라지지 않았다면 곧 사라질 것이라고 봅니다. 프로그램에 쓰레드가 사용되고 있다고 해서, double checked locking idiom을 C++로 구현하고 여기서 메모리 베리어를 제대로 넣어서 고도로 빠르게 하는 것만이 반드시 의미를 갖기는 힘들다고 생각됩니다. 그냥 synchronized 하나만 넣고, 메모리 베리어가 뭔지 모르고 살아도 만사 형통일 수 있습니다.
시스템의 하단을 다루는 사람이 있는 건 사실이고, 그 사람들은 사실 C/C++ 뿐만 아니라 어셈블리까지 제대로 할 줄 알아야하고, 메모리구조를 봐야하고, 파일 포멧에 대해 고민해야겠죠.. 그러나 모든 컴퓨터 분야의 응용이 그 하단과 밀접하게 연관되어있으라는 법은 없습니다. 하단과 항상 통신하고 하단을 항상 이해해야한다면 컴퓨터 언어가 지금까지 발전시켜온 '추상화'를 도로 없애자는 얘기가 되버리겠죠...
근원에 근원으로 따지자면 하이퍼쓰레딩이 어떻게 쓰레드를 CPU상에서 어떻게 작업을 분배시키는가에대해서 VHDL 로 코딩할줄 모르면서, 인스트럭션 몇개 제공해줬더니 C/C++로 날로 먹는다.. 라는 비난도 가능할지 모릅니다. C/C++을 오래하신 분들은, 이들 언어가 초창기에 Assembly 진영으로부터 현재의 자바 등의 언어가 받고 있는 같은 식의 공격을 받았다는 사실을 아실 것입니다...
오프토픽이 되지 않기 위해, "과연 C, C++ 을 주력언어로 사용하는 사람들의 장래는 다른 언어에 비해서 긍정적일까요 ?"라는 첫번째 글에 대한 제 생각을 적자면 이렇습니다. 만약 C/C++이 반드시 필요한 분야 - 이식성, 속도, 바이너리 크기, 메모리 크기, CPU 성능, 배터리 한계 - 에서, 그 분야의 지식을 갖고 있으면서 C/C++을 사용하고 있는 사람이라면 앞으로도 충분히 긍정적이라고 생각합니다.
하지만, C/C++만 쓸줄 알기 때문에 그 언어가 잘되었으면 좋겠다.. 라고 생각하신다면, 한번 그렇게 싫어하시는 자바 등의 언어도 배워보시라고 말씀드리고 싶습니다... 사실 C/C++ 잘하신다면, 1주일이면 자바 문법은 떼거든요.. 요즘은 generics 들어가고 라이브러리도 복잡해졌지만, 기본적인 라이브러리 사용법까지 길어도 10일이면 뗍니다. 그 다음부터는 사용하시기 나름입니다. 그냥 단순 jsp 코딩을 해도 되고, apache derby 프로젝트 같은 곳을 기웃거려도 되고요.
정말 문제는 그 언어로 코딩 잘하냐 못하냐가 아닙니다... 자기가 관심있는 분야에서 얼마나 시야를 갖고 있느냐 하는 것이 문제가 되리라 생각합니다..
뻔한 얘기해서 죄송합니다.
--
Passion is like genius; a miracle.
[quote="불량도ㅐㅈㅣ"]하드웨어가 존재하는 한 Assembly는 존
윈도우즈에서 DirectX로 돌아가는 게임이 있는 한
C++ 역시 건재합니다.
_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz
[quote="purewell"][quote="불량도ㅐㅈㅣ"]하드웨어가
VB.net(이건 좀 아닐지도), C#...
Delphi도 있습니다.
───────────────────────
yaourt -S gothick elegant
khris'log
[quote="khris"]VB.net(이건 좀 아닐지도), C#
어짜피 첫번째 컴파일이 종료되면 공통 언어 규칙에 의해서 생성되는 바이너리는 똑같지요..ㅡㅡ;;
인생이란게 다 그런게 아니겠어요....? 뭘(?)
http://schutepen.egloos.com
[quote="purewell"]윈도우즈에서 DirectX로 돌아가는
C#으로 만들어진 게임이 이미 출시된바 있습니다. 엔진까지 다 Java로 만들어진건 아니지만 겟엠프드라는 게임은 java로 만들어졌죠.
하드 웨어의 사양은 계속해서 상승하고 있습니다. 프로그램의 복잡도와 성능의 트레이드오프가 가능한 시점이 오면 C++로 더 이상 게임을 만들지 않게 될겁니다.
현실입니다.
산넘어 산