PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/11/05 06:36:13
Name Hibernate
Subject C, C++ 관련 궁금증입니다..
안녕하세요. 졸업반 학생입니다.
제가 언어 공부를 Java 위주로 공부를 했습니다. Javascript 나 .. Flex, C# 같은것도 보긴 했는데, 맛만 본 수준입니다.

제가 얼마전부터 목표로 삼은 솔루션 회사가 있는데 5년정도 경력에 Java, C, C++ 셋을 모두다 최상급으로 원하더라구요.
그래서 졸업하기 전에 C, C++ 을 좀 공부해보고 졸업하려고 합니다.
연구실 선배에게 물어보니, C 는 하지말고 그냥 C++ 만 하라고 하던데 그래도 되는건지요..

1,3 학년때 각각 과목들을 배우긴 했는데..
학교과정만 배웠지 따로 공부하지는 않았고 지금은 거의 잊어먹었습니다.

대략 2달기간동안 하루에 2시간정도씩 시간을 낼수 있을것 같아서 그 시간동안 최대 효과를 보고 싶은데..
어떤 로드맵으로 공부를 해야할지 조언좀 부탁드립니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
10/11/05 08:02
수정 아이콘
java/c/c++ 을 최상급으로 하는 5년 경력자를 요구하는데 본인이 공부하시는거랑 관계가 있나요? 이해가 되질 않습니다. 경력직군에 신입으로 지원을 하실 생각 이신 건가요?
아이온
10/11/05 08:08
수정 아이콘
C는 임베디드 시스템이나, 시스템 소프트웨어처럼 low level hardware에 가까운 작업이 필요한 곳에서 많이 쓰이는 것 같습니다. C++은 응용 프로그래머의 관점에서 보면, C에서 온 low level에 가까운 요소를 제외하면 열화된 JAVA입니다. 거기에 template을 통한 generic programming을 지원하는 셈인데, template은 컴파일 들어가기 이전에 소스 수준에서, 데이터 타입을 채워 텍스트 레벨에서 코드를 생성한다고 이해하면 간단하기 때문에 며칠씩 걸릴 필요도 없고요.

C++부터 보는 게 맞는 순서 같습니다. C++이 '거의' C의 superset이기도 하고요. 다만 양쪽 다 C에서 온 저수준의 요소들이 이해하기 쉽지 않을 수 있는데요. 그건 거의 문법이 이해 안 되어서가 아니라, 그 문법 뒤에 있는 저수준의 측면을 이해하지 못하셔서일 가능성이 많습니다..

예컨대.. 고급 언어에서야 int x에 String s를 대입할 수 없죠. 하지만 메모리엔 타입이 없습니다. 단지, ISA의 약간의 도움 + 컴파일러의 도움으로 타입이 있는양 착각할 뿐인데, C는 "족보가 없는" 언어라서, 강제로 (void*)로 캐스팅 했다가 아무 타입이나 다시 캐스팅 해서 그 메모리 내용이 본래 string이 아니라 int였던양 처리해도 허용됩니다. x = (int*)(void*)(char*) (s); 같은 게 이해가 안 되는 건, 정상적인 사람한텐 당연하다고 보는데, 어떻게 문자열이 정수일 수 있겠는지요? 이건 low level을 이해해야 이해가 되는 거 같습니다.

전자과는 보통 RTL 수준에서 하드웨어를 배웁니다. 거기까진 아니라도 ISA 수준의 하드웨어에 대한 추상과 C의 고급 언어 요소(ex. function call, data type, etc)의 관계를 이해해야 합니다.

저는 컴퓨터 구조(헤네시/ 패터슨의 그 책), Computer Systems : A Programmer's Perspective(B&R)이 이런 내용들을 이해하는 데 도움이 많이 되었던 거 같네요.

하드웨어와 소프트웨어의 관계가 일단 이해되면, 문법 자체를 익히는 데는 길어야 2주입니다. 전자를 이해 못 하면, 몇 달, 몇 년을 써도 사실 완전한 이해는 힘들다고 보고요.

PS. 뭐든 프로그래밍은 문제 해결 방식의 명세고 이런 부분은 언어에 크게 의존하진 않습니다. C++은 Java처럼 OOP에 가깝게 생각하면 되고, C는 사람이 생래적으로 그렇게 많이 하는 procedural language니 FSM이나 flow chart를 옮기기 가장 좋은 언어이고요.

Java와 다르고 어려운 점은 C/C++에만 있는 기괴한 문법 요소들인데, application programmer라도 이런 요소를 부담없이 이해하고 사용하려면, 하드웨어와의 연관성을 이해해야 한다는 게 제 얘기의 핵심이에요.
Summerlight
10/11/05 10:12
수정 아이콘
문법 자체를 익히는데 길어야 2주라는 건 동의하기 힘드네요. C++은 적어도 1년입니다. 요즘은 Java도 만만치 않고요... C++만 10년 넘게 써온 경력자들도 가상 상속이나 템플릿 특화 등의 문법이 정확히 어떻게 돌아가는지 잘 모르는 사람이 태반인걸요.
10/11/05 08:48
수정 아이콘
관련 솔루션과 비슷한 프로그램을 하나 만들어보시거나, 관련 오픈소스에 대해 코드 리딩 & 리팩토링을 시도해보시는 것을 추천해봅니다.
10/11/05 09:25
수정 아이콘
C++ 공부하는것을 추천해드리자면 일단 기본 문법책을 하나 봅니다. 그리고 The C++ Programming Language 라는 책을 봅니다. 그 다음에 Effective 시리즈를 봅니다(Effective C++, More Effective C++, Effective STL) 그리고 STL 책도 좀 보고 템플릿 공부도 하면 좋습니다. 얼마 후에 C++ 0x 라는 차기 문법이 발표될 예정이니 이에 관해 공부도 조금 해놓으면 좋겠고 C++ 라이브러리인 boost 도 공부하면 좋습니다.
Summerlight
10/11/05 10:07
수정 아이콘
제 생각엔 몇 개월 공부하는 정도로는 저 세 언어의 초보 레벨에서 벗어나기도 어려울 것 같네요. 높은 곳을 바라보고 계신다면 컴퓨터 과학의 기초부터 다시 보시는게 좋습니다.
Je ne sais quoi
10/11/05 10:50
수정 아이콘
최상급이 뭘 의미하는지 모르지만, 일반적으로 받아들여지는 최상급이라는 말을 정말로 요구하는 거라면 간단히 말해 그 회사는 주제를 모르는 거라고 감히 말하겠습니다. 한 가지 언어만 '최상'으로 해도 프로그래머로 얼마나 자유롭게 살 수 있을텐데요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
94558 아는 분이 쓰던 차를 70만원에 넘겨주시겠다는데.. [8] 셔리2115 10/11/05 2115
94556 GSL혹은 스타1 스폰서에 관련하여 질문합니다. [2] 쿨가이처리1252 10/11/05 1252
94555 눈에서 자꾸 경련이 일어납니다. [16] kOs1633 10/11/05 1633
94554 C, C++ 관련 궁금증입니다.. [15] Hibernate1688 10/11/05 1688
94552 TED.com(테드닷컴)의 수익성 부분에 대한 질문입니다. [4] 나라당2252 10/11/05 2252
94550 삼성은 어찌하여 반도체 치킨게임에서 항상 승리하나요? [16] 정용현2824 10/11/05 2824
94549 컴퓨터 견적추천 부탁드립니다. [2] viva!1396 10/11/05 1396
94548 박성준 선수 몸무게 질문 [6] 에버츠포드2213 10/11/05 2213
94547 그랜져HG 질문입니다. 학교얘들1526 10/11/05 1526
94546 의전원 제도와 입학에 대해 질문합니다. [13] 화이트데이2104 10/11/05 2104
94545 스타2 프로토스에게는 견제라는 개념이 없나요? [5] 안심입니까1878 10/11/05 1878
94543 만화를 찾고 있습니다. [2] Jz)tOsS1662 10/11/05 1662
94542 우리나라 최초의 피처링이 참여한 노래 와 EP앨범은? [3] 강아지2684 10/11/04 2684
94541 아이유양 관련 질문입니다! [2] 덴오1492 10/11/04 1492
94540 자전거랑 충돌했습니다. 어떻게 처리해야할까요..? Amunt_ValenciaCF1280 10/11/04 1280
94539 서양미술에 대한 질문입니다 [3] renoir1205 10/11/04 1205
94538 결혼식때 정장입어야 하나요?? [7] 베일2184 10/11/04 2184
94537 [스타2]프테전 해밴빌드좀 알려주세요+프테전질문 [1] 레몬커피1449 10/11/04 1449
94536 자기소개서에 관해 질문좀.. [4] 트렌드1549 10/11/04 1549
94535 Web 에서의 opinion mining 에 대해서 공부해보신 분 있으신가요? [1] DEICIDE1396 10/11/04 1396
94534 약이름과효능, 성분을 알고 싶습니다. [5] 내가콩이라니1547 10/11/04 1547
94533 빼빼로 최저가로 파는 곳이 어딜까요? 어이없다1551 10/11/04 1551
94532 여성분들은 왜 뾰족구두를 싫어할까요? [11] 갈반나4794 10/11/04 4794
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로