C++ 바로 가면 C 제대로 못 해요. 왜냐면 객체지향이 아니기때문에... 문제는 모든 서버는 C로 되어있다는 점입니다. 리눅스, 유닉스 모두 다... 웹서버는 JAVA 아니냐고 하겠지만 결국 서버에 설치되는 웹서버 핵심프로그램은 C로 짜여져있고 JNI등을 통해서 C의 so 라이브러리등을 사용하는겁니다.
C 하고 C++은 비슷한듯 하면서 다른 언어입니다.
C++을 제대로 하려면 OO (Object Oriented)쪽 공부를 먼저 해야 되요.
사고 방식 부터 OO 로 바뀌어야 합니다.
그런거 간과하고 그냥 랭귀지쪽으로 공부한답시고 들어간 사람들이
단순코더 하는 겁니다.
C++이나 자바 한다고 깝쭉대는사람들 보이면, 내가 OO 개념서 읽고 정리하는데만
두달 이상 걸렸는데, 니가 나보다 잘나서 언어 부터 들이대는거냐 하고 야단칩니다.
전 이바닥에서 20년 이상 일 해 왔고 C 쪽에서는 나름 좀.. 암튼 그래요.
C, C++, JAVA에서 다시 C.. 뭐 이렇게 뻉뻉이 돌며 했었는데... C는 무리가 없었는데(결국 논리구조 세우는 싸움이니), C를 해두고 객체지향 넘어가다보니 헷갈리는게 짜증났었거든요. 애초에 C를 안가고 객체지향부터 갔으면 차라리 개념잡기 쉬웠겠다 싶은 생각이 들더라구요. 자꾸 C를 기준으로 생각을 하려하니..-_-a...
개인적으로 C++이 더 쉬운데... class와 class 멤버변수, 객체지향 개념때문에 사용하기 편하고 string 등 지원되고 public, private등의 개념이나 여러가지 제약도 쉽게 걸 수 있고... C는 struct와 포인터로 모든걸 해결해야되고 static 전역변수등으로나 제약 걸 수 있고 전역변수 관리하기도 어렵고.. 그럼에도 쓸 수밖에 없는게 Clietn를 MFC용 Visual C++ 이용해서 윈도우용으로 만든다고 해도 결국 그와 통신하는 서버용 Application은 C로 만들어서 탑재해야 되니깐요. 그리고 C는 실제로도 모든 언어의 중심이자 기본교과서라 봐도 됩니다. C에서 다 파생된 기능이라고 봐도 되요. 그래서 C를 먼저 배우라고들 하는거죠. C를 배우고 다른 언어를 배우면 수월합니다. 반대로 C++이나 JAVA를 먼저 배우고 C를 배우면 매우 어렵습니다. 간단하게 C++로 개발할때 MSDN 참고삼아 MFC CLASS에서 제공해주는 함수 쓰면 알아서 다 되었는데 C로 개발하려니 그런게 없죠. 결국 시스템함수 가지고 다 만들어내야되는데 어떻게 해야할지 모르죠... JVM에서 메모리 자동할당, 자동제거하면서 관리도 해주는데 C는 본인이 다 관리해야하죠. 그래서 다른 언어 하다가 C 들어오면 프로세스 죽여먹기 쉽상입니다. 특히 Thread등 비동기 코딩하는 경우엔 더더욱..