제가 진로를 늦게 선택하는바람에 이제야 공부를 하게되었는데요...
이제 C언어 입문에서 막 벗어나 초보가 된거 같은데 바로 c++ 넘어가도되는지요?
주로 쓸 프로그램이 C++이 될거 같기도 하고.... 조금이라도 더C++을 익숙하게 다루려면 C를 더 공부해야할까요?
그리고 서버프로그래머가 되려면 어떤 공부를 어떻게 순차적으로 하는게 괜찮은지 경험이나 조언좀 부탁드릴게요
서버에서는 여전히 C를 많이 씁니다. 서버 프로그래머가 되고 싶으시면 C를 더 연마하세요^^
2009.03.29 20:46:41 (*.213.166.10)
Excelsis
서버프로그래밍과 클라이언트 프로그래밍의 차이는 기술적으로는 없습니다
서버 전용이나 클라이언트 전용의 기술을 다루는 사람은 극소수이며, 이 전용기술은 클라이언트쪽이라면 다이렉트 X, 사운드라이브러리 등이 있겠으며 서버쪽이라면 DB 연동부분이 되겠습니다.
(네트워크 엔진은 뭐 공용이라 서버사이드 클라이언트 사이드 따지지 않습니다)
근데 이 부분은 작업자체가 양적으로 적으며, 프로젝트 초기에 정립되고 난 다음에는 크게 바뀌지 않으며 작업도 자주 일어나지 않습니다.
진짜 큰 작업시간을 차지하는 부분은 로직, 툴, 유지보수 등등인데, 이 경우 서버사이드와 클라이언트사이드 둘 다 기본적인 C++만을 필요로 하고, 나머지는 모두 프로그래머의 개인 기량차입니다.
대신 서버측 프로그래머가 조금 더 안정적으로 프로그램을 짜야한다는 것밖에 없습니다.
근데 이게 제일 어렵습니다.
서버는 뻗으면 접속한 모든 유저가 튕겨버립니다-_-
그러니까 어지간하면 버그 안나올정도의 기량을 가진 사람이 서버를 하는거지, 기술적으로 뭐 하나 더 갖고있다 없다는 크게 중요하지 않습니다.
2009.03.31 08:52:51 (*.135.192.248)
둥실둥실
보통 C++를 multi paradigm 언어라고 합니다. 그러니까 C, C with Class 그리고 template 이 3개의 개층을 이루고 있다고 하죠. 몇번째 계층까지 사용하느냐는 사실 개인적인 혹은 회사의 취향이 얽혀 있는 문제라 이게 정답이다라고 할 수 있는건 없습니다. 어떤게 우월하다고 볼 수는 없으니까요. 그러나 개인적인 생각으로 class를 사용하지 않는다면 C++를 사용할 필요가 없습니다. 그러니 template은 일단 제쳐두더라도 class까지는 반드시 배우고 익혀야합니다.
그리고 어느정도 공부가 끝나면 꼭 프로그램을 직접 만드세요. 공부만 계속하다가는 진전도 없고 실력도 안 늘어요. 처음은 많이들 하는 채팅 서버로 시작하면 될겁니다. 그리고 나서 채팅 내용을 저장하고, 채팅 방을 두개 이상으로 늘려보고(고정된), 동적으로 채팅방을 생성해보고, 채팅 내용을 디비에 저장하고, 코드를 리팩토링해보고, 더 효율적인 방법이 없는지 연구해보고, 남들은 어떻게 만들었나 훔쳐보고, 사용자 정보를 저장하고, 사용자 정보를 상대방에게 전달도 해보고, 채팅 서버의 개수를 늘려서 유저를 다른 곳으로 보내보기도 하고.... 이렇게 기능을 하나씩 계속 추가하다보면 다양한 경험을 하게 될겁니다.
많이 만들어보고 많이 생각하세요. 어떻게 하면 이걸 더 효율적으로 만들 수 있을까도 계속 고민해보시구요. 그러다보면 남부럽지 않은 프로그램 실력과 설계 능력을 가지게 될겁니다.
미국 최초로 노벨 문학상을 받은 싱클레어 루이스는 하버드 대학교에서 글쓰기에 관해 강연을 해달라는 요청을 받았을 때 술에 취한 상태로 갔다.
연단에 오른 그는 학생들에게 소리쳤다. "작가가 되고 싶은 학생들은 손을 들어보시오."
물론 모두가 손을 번쩍 들었다.
"그럼 어서 집에 가서 글을 쓸 일이지 왜 여기들 있나?" 그는 비틀거리며 밖으로 나갔다. 강연은 이렇게 끝났다.
2009.03.31 08:56:24 (*.135.192.248)
둥실둥실
아래에 추가한 글은 글쓰기 책에 나오는 내용이지만, 한번 읽어 볼 만한 내용이라 추가했습니다. 여기저기 기웃거리고 방황하지 마시고 바로 프로그램 작성 시작하세요.