무엇이든 물어보세요. (묻고 답하고)
여기는 '무엇이든 물어보는 게시판'입니다.
(과학과 SF에 대한 질문은 'SF/과학 포럼'쪽에서 해 주세요.)
( 이 게시판은 최근에 답변이 추가된 순서대로 정렬됩니다. )
C언어를 배우려는데 학교 도서관의 책들은 너무 오래된 것들이고, 컴퓨터 관련 책은 아무래도 최신 개정판을 사는 것이 좋을듯한데 생 초짜다보니 어떠한 책을 사는 것이 좋은지 모르겠습니다. 그래서 컴퓨터 동아리를 들었는데 동아리 컴퓨터의 상태를 보니 동아리 선배들을 도저히 믿을 수가 없습니다. 그래서 누군가 잘 아시는 분이 책을 한 권 추천해주셨으면 합니다.
Learn to say "fuck you" to the world once in a while. You have every right to. Just stop thinking, worrying, looking over you shouler, wondering, doubting, fearing, hurting, hoping for some easy way out, struggling, gasping, confusing, itching, scratching, grumbling, hitching, hatching, bitching, moaning, groaning, honing, boning, horse-shitting,hair-splitting, nit-picking, piss-trickling, nose-sticking, ass-gouging, eyeball-poking, finger-pointing, alleyway-sneaking, long waiting, small stepping, evill-eyeing, back-scratching, searching, perching, besmirching, grinding grinding grinding away at yourself. Stop it and just do. Don't worry about cool. Make your own uncool. Make your own world.
Teach Yourself C와 Teach Yourself C++ 는 Jesse Liberty(제시 리버티)의 책이 유명하지만,
다른 저자들이 쓴 같은 제목의 책이 의외로 상당히 많이 존재하므로 가끔 혼란을 겪는 사람들이 나오는데...
아마도 윗 분들이 지목하신 책은 대부분 Jesse Liberty(제시 리버티)의 책을 말씀하고 계실 겁니다.
초보자가 처음 C언어, C++ 언어를 공부할 때 널리 사용되는 이 바닥의 유명 고전입니다.
제시 리버티의 [Teach Yourself C++ ]의 번역본은 <초보자를 위한 C++ 21일 완성>이라고
한국식으로 제목을 바꾼 게 널리 읽혔고 꽤 평판도 괜찮은 편입니다.
C언어와 같은 랭귀지를 익히면서 프로그래밍 스킬을 공부하는 것은...
컴퓨터 사양이 좋아야 제대로 배울 수 있는 것도 아니고,
선배들이 잘 알려 주어야 제대로 배울 수 있는 것도 아니며,
심지어는 교재로 삼은 책이 그렇게 절대적으로 중요하지도 않습니다.
그저 자기 자신이 고민하고 온갖 시행 착오를 겪으면서 들이 파야 자기 것이 되는 것이고,
때문에 철저하게 자신과 인내심과 시간과의 싸움이라고 할 수 있습니다.
개인적으로...
80년대에는 Basic과 GW Basic을 공부했었습니다.
90년대 초에는 Fortran77과 볼랜드 C를 공부했고, 90년대 말에는 C++과 Delphi를 공부했습니다.
2000년대에는 Visual Basic과 DB 쿼리를 공부하고 배워서 그 스킬로 기업용 IT 솔루션을 개발하여 먹고 살았고,
작년에는 C#을 새로 배우면서 .net 환경에서 프로그래밍을 하여서 S/W를 하나 만들어 프로젝트를 클로징했습니다.
언제나 프로그래밍 랭귀지를 새로 배울 때마다 거의 죽을 것처럼 힘들었는데,
왠만큼 익숙해지면 랭귀지가 C++이든 Delphi든 VB든 C#이든 뭐가 되었든 다 거기서 거기라는 것을 느끼곤 했습니다.
심지어 DB 쿼리든 VB이든 똑같은 결과가 나오도록 프로그래밍하는 것도 가능하다는 생각마저 하게 되었습니다.
정말로 중요한 것은...
프로그래밍 스킬이나 특정 랭귀지의 소소한 기능을 조금 더 많이 아는가 모르는가가 아니라,
문제를 해결할 수 있는 알고리듬을 퍼득 떠올릴 수 있는 창의성이 있는가 없는가에 달려 있었습니다.
그리고 실제 현장의 상황을 프로그래밍으로 표현할 수 있는 해석 능력이 있는가 그런 대목이었습니다.
[사족으로...]
80년대 말의 터보 C와 90 년대 초의 볼랜드 C의 경우에는
오늘날 널리 쓰이는 Visual Studio의 C, C++의 표준과 다르므로...
지나치게 오래된 책을 보면서 공부하면 조금 곤란해 질 수 있긴 합니다.
어차피 C++은 오래 된 언어라 한글판으로도 대단히 훌륭한 책들 많죠.
장황한 이야기도 있긴 하지만, 입문이라면 '열혈강의' 시리즈 보면서 하나씩 따라해 보면 되요. (검색하면 쏟아져요)
괜히 남이 어렵게 공부한 것 흉내낼 필욘 없죠.
근데 솔직히 말하면 책 추천해 달라기 전에 '동아리 선배들을 믿을 수 없다'는 그 생각부터 좀 아니다 싶네요. 그런 자세를 가진 수많은 쿨게이들이 실제로는 내실보다는 후까시와 권위만 배워가지고는 입만 살아 떠드는 꼴을 하도 많이 봐 온 터라...
책은 본인이 직접 서점을 다니면서 찾는게 제일 좋습니다. 그리고 C 언어는 비교적 오래 된 언어이기 때문에 옛날 책을 봐도 상관은 없지요. 아직 저는 90낸대에 샀던 책을 가끔씩 참고한답니다.
일단, 제가 처음 배울 때 가장 많이 참고했던 책은 절판이 되었지만 같은 내용 다른 제목으로 나오더군요. Teach your self C++ 이 책 추천합니다. 꼭 C 부터 배워야 하는건 아니고 C++ 부터 배워도 괜찮습니다.