CAFE

Q&A게시판

C 와 C 의 차이점

작성자손님|작성시간06.03.22|조회수60 목록 댓글 0

 

c++는 c언어를 발전시킨 언어입니다.
c언어에서는 c=c+1을 간단하게 c++이라고 쓰지 않습니까?
즉 c에다 기능을 하나 더한 것이 c++언어입니다.
c와 c++은 문법이나 사용법등이 모두 같은데 c++에는 c에는 없는 하나가 있읍니다.
바로 class입니다. c++에는 class를 이용하여 우리가 소위말하는 객체를 표현할 수 있습니다.
그래서 c++은 최초의 객체지향형언어 입니다.
visual c++은 MS가 만든 것으로 c++ 프로그램을 쉽게 만들 수 있도록 개발 툴을 붙여 놓은
것입니다.
예를 들어 화면상에 버튼을 만들거나 입력창을 만들려고 해봅시다.
visual c++의 개발 툴을 사용하면 화면상에 버튼이나 입력창을 그림으로 만들어 붙이기만
하면 자동으로 c++소스 코드가 만들어 집니다. visual이란 말이 그래서 붙은 겁니다.
즉 화면에 보이는대로(visual) 프로그램이 만들어 진다는 의미입니다.
사용되는 영역
c : Unix나 Window와 같은 운영체제(Operating System)을 비롯한 통신용, 시스템용
프로그램 개발에 많이 사용됩니다.
c++ : 일반적인 프로그램을 개발하는데 사용되나, 최근 인터넷의 발전으로 java프로그램에
밀려나고 있음(밀려났음이 더 정확한 표현)
visual c++ : 개발의 편리성으로 c++ 사용자들이 선호하고 있으나 c++과 같은 운명을 걷고 있음.

전반적으로 모든 프로그램이 웹상에 작동되도록 만드는 추세이므로 c++이나 visual c++은
쇠퇴일로에 있습니다. 즉 이걸로는 앞으로 밥벌어 먹기 힘듭니다.
사족(巳足)
c++을 좀더 쉽고 간단하게 만든 것이 java언어 입니다. 비전문가가 보면 두언어의
차이를 알 수 없을 만큼 닯았죠. java는 sun에서 개발하였으며, 1990년대 중반부터
웹프로그래밍을 위해 사용되었습니다(처음 들 때에는 가전제품의 컨트롤러를 제어하기
위한 프로그램 개발용으로 만들었읍니다만)
90년대 후반으로 들어와 인터넷이 폭팔적으로 증가하며, 모든 프로그램을 웹베이스로
만들다보니 java가 널리 확산되게 되었고, 이에 위협을 느낀 MS사(지금까지 소프트웨어
시장에서 1위로 군림하였으나 java로 인해 자신의 지위가 무너질 수 도 있다고 생각한 거죠)
가 java에 대항하는 언어를 만든 것이 C#입니다.
문법이나 사용법은 java와 거의 유사하지만 몇가지 기능이 좀더 보강되었지요.
사실 MS사는 1997년 sun사로 부터 java라이센스를 얻어 MS java를 개발 했었읍니다만,
다음해에 sun사에서 MS사를 제소하여 MS java를 못쓰게 만들었습니다. java는 세상에
오직하나만 있다는 것이지요.
아마도 C#은 MS가 97년에 개발한 MS java일거라고 추측합니다.(요 부분은 그냥 제
생각일 뿐입니다. MS java는 탄생은 되었지만 누구도 보지 못했습니다)
하나 더,
c++에서 ++를 약간 겹쳐 놓으면 #이 됩니다. 즉 C#의 원조가 C++이라는 이야기지요.
하지만 이건 MS가 java라는 용어를 못쓰기 때문에 만든 이름이고 실상은 java와 유사합니다.
일단 프로그래밍 언어와 컴파일러를 구분하셔야겠네요.
C, C++ 은 프로그래밍 언어입니다.
Visual C++, GNU C++, Borland C++ Builder 는 컴파일러, 혹은 개발환경이라고도 부를 수 있죠.
(컴파일러는 C, C++ 또는 PASCAL 과 같은 언어들을 컴퓨터가 이해할 수 있는 기계어로 번역해
주는 프로그램입니다)
즉 언어라는걸 ISO 나 ANSI 같은데서(산업 여러분야의 표준화 작업을 하는 기관입니다.)
표준화 작업을 거쳐 규정하면, 각 컴파일러 업체(MS 나 Inprise 혹은 그 외 기업들) 에서
그걸 구현하는 겁니다. 물론 각 벤더가 구현한 컴파일러에 따라 약간씩 기능의 차이는 있지만
큰 흐름에서는 거의 비슷합니다.
자.. 차이점을 알려드리겠습니다.
C 와 C++ 은 여러 차이점이 있지만 크게 봐서는 구조화언어와 객체지향언어의 차이입니다.
그냥 이름만 봐서도 C++ 이 C 에 비해 진일보한것임을 알 수 있겠죠?
객체지향언어는 구조화언어에 비해서 프로그램의 유지, 보수가 쉽고 여러 사람이 동일한
프로젝트를 행할 때 일의 분배가 쉬운 장점이 있습니다.
자세한 차이는 이곳에서 설명하기에는 너무 기니까 생략하겠습니다. 서적을 참고하시는게
더 빠를듯..
그리고 Visual C++ 은 MS 에서 만든 C++ 의 컴파일러와 각종 개발 툴들을 합친 통합개발환경
(IDE) 입니다.
요즘 대체적으로 C++ 이 많이 쓰입니다. 물론 단순한 프로그램이나 옛날에 제작되어진 프로그램의
경우에는 C 코드로 이루어진 경우가 많지만, 요즈음은 대부분 C++ 언어를 사용해서 개발합니다.
C 언어는(C++ 언어를 포함하여) 컴퓨터 분야의 대부분에서 사용됩니다. 시스템수준의 프로그램에서
부터(물론 아주 저수준에서는 어셈블리어가 쓰입니다) 응용프로그램에 이르기 까지 대부분
C 언어를 이용합니다. 물론 그 개발환경은 천차만별입니다.
그래픽이나 해석 프로그램에서 쓰이는게 어떤것인지는 잘 모르겠군요.
자명한건..
C 로 구현 된건 C++ 로 재구현(C++ 의 특성에 맞게) 할 수 있지만, C++ 로 구현된것을 C 로
다시 바꿔 옮기는건 매우 귀찮고 힘든 과정이라는 사실입니다.
일단 c언어나 c++은 언어의 이름이고
visual c++은 c++을 번역해주는 컴파일러입니다.
visual c++는 윈도우응용프로그램개발할때 쓰는거구요..
우리가 윈도우상에서 쓰는 프로그램은 거의 visual c++로 작성되는 경우가 많습니다.
그외에 델파이라는 툴도 있는데 주로 일반 응용프로그램에도 쓰이지만
주로 대형 프로젝트때 DB연동시 강점이 있다고 합니다.
그리고 c언어 컴파일러는 그냥 visual c++에서도 됩니다.
그러나 윈도우상에서 c언어가 거의 쓰일일이 없습니다. 그냥 공부목적으로
visual c++에서 컴파일하는 정도.. 윈도우에선 c언어가 거의 불필요합니다.요즘엔
c언어가 강력한 힘을 발휘하는곳은 linux나 unix에서입니다.
unix의 90%가 c언어인건 아시져?
unix에 cc나 gcc라는 컴파일러가 있는데 그걸로 보통 c언어 컴파일하구요..
용도는 하드웨어제어에서 네트웤프로그램까지 다양하게 쓰입니다.
또 우리가 쓰는 휴대폰의 프로그램도 c언어인 경우가 많습니다.
그리고 그외에 java,php,asp는 웹프로그램용으로 마니 쓰이고
요즘은 java같은경우 모바일쪽으로도 마니 씁니다.
그리고 글픽프로그램은 일반그랙픽작업은 포토샵으로 거의 가능하고
좀더 정교한 그래픽작업은 일러스트 마니 씁니다.

 

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼