묻고 답하고
안녕하세요 우엉입니다.
어렸을적 모뎀으로 통신하던 시절부터 프로그램언어를 하나쯤 배우고 싶다고 그렇게 원하고 갈망했지만 (그 어렸을때 부터 도스쓰던 시
절 배우고 싶어서 안녕하세요 터보C 라는 책을 샀던 기억이 있습니다 )
지금 현제 기계를 전공하고 있습니다..... 점점 그 꿈에서 멀어져 가는 ;;;
대학원실을 정리하다 보니 이책이 나와서 옛날 부터 꿈꿔오던 프로그램언어를 독학 해볼까 하는데요
C 라는 언어를 효과적으로 독학하려면 어떻게 접근을 해야하고 어떤식으로 공부를 해야하는지 조언좀 구할 수 있을까요?
초등학교 1학년 아이 한테 설명한다고 생각하시고 조언좀 해주시면 감사드리겠습니다 (컴퓨터 언어는 정말 진짜 리얼리 하나도 모릅니다)
좋은게 좋은거다.
흠....
제 학교 시절이 갑자기 생각나는군요..
저도 학부를 기계공학 전공하고 대학원을 정보통신으로 변경하여 졸업을 했었죠~~
과를 변경하여 대학원 진학을 했지만 int 가 뭔지도 모르는 상태에서 들어갔으니
얼마나 갑갑했겠습니까.. 그런데 제 경험상 혼자 공부하는 것은 일정 수준까지는 올라갈 수 있으나
그 이상은 힘든 거 같습니다.
젤 좋은 건 프로젝트를 하는 것이지요..
것도 output 과 due-date 가 있는 프로젝트여야 실력이 배가 됩니다.
일단 대충 기초 쌓으시면 자꾸 혼자서 생각나는 프로그램을 짜 보도록 하세요...
프로그램 세계에서 지식보다는 경험이 우선인 거 같습니다.
하시려는 공부나 일에 도움이 된다고 생각하시는지요. 목표 의식이 있으면 상당히 해이해지지 않게 됩니다.^^ 근데 C언어가 기계공학을 공부하는데 도움이 된다고 생각하시나요? 진짜로? ㅎㅎ
C언어의 탄생배경을 보면 오퍼레이팅 시스템중의 하나인 UNIX을 만들기 위해 만들어진 언어입니다. 해서 나름 기계수준 저급의 조작을 간편하게 할 수 있다는 장점을 가지는 데 그뿐입니다. 물론 C로 이것저것 하시는 분이 많이 있긴 하지만... ㅎㅎ
제생각에는 C와 같이 저급 언어를 하시기 보다는 좀 더 고급언어를 배우는게 훨씬 낳다고 생각합니다.
배우기 쉽고 써먹기 좋은 녀석으로는 파이썬(python)이 있습니다. 이놈의 단점은 실행이 좀 느리다는 것입니다.
혹시나 수학적인 접근이 필요한 일을 하신다면 하스켈이나 ML (혹은 Caml)이 적절할 것으로 생각합니다.
컴퓨터로 수학을 하시겠다면 Mathematica도 좋은 대안이구요.
수치연산이 주라면 맷랩(matlab)이 좋은 선택이라고 생각합니다.
좀 더 대규모의 수치연산이 목적이라면 FORTRAN을 권하고 싶습니다.
동문서답이 될 수 있지만,프로그래밍 언어에 있어서 교재가 어려우면 그 어떤 천재라 해도 이해하기 힘든 부분이 특히 C언어입니다.(쉬우면서도 어려운 언어...)
학교 교재로 'A Book On C'라는 책으로 배웠는데...결국 책꽂이 저 구석에 쳐박혀서 단 한번도 꺼내보지 않은 책이 있습니다...문제는 이런한 교재들이 한두개가아니라는거죠 ㅋㅋㅋㅋ(어느정도 배운 다음에 보면 당연히 쉽기야 하지만......)
우엉님의 글 본문 마지막줄에 적으신 '초등학교 1학년 아이' 가 보아도 충분히 알아들을 수 있을 정도로 쉽게 설명을 듣고 싶으시면,
진짜 정말 리얼리 하나도 모르는 상태에서 시작해도 다 알아먹을 수 있을 정도의 핵심을 놓치지 않는 책은 개인적으로 '열혈강의 C(윤성우 저)' 라고 생각합니다.(컴퓨터 전공자들의 C언어 바이블이라 해도 과언이 아닙니다-_-ㅋ)
현재 갖고 계신 책이 아주 이해하기 쉽게 나온 책이라면 보셔도 무방하시지만요......
그럼 책소개는 이쯤에서 하고...-_-;
지극히 개인적인 느낌으로 답변을 해 드리자면
인터넷에 나돌고 있는 C언어 문제들이 몇 있습니다.
(비전공자 전공자 할거없이 다들 처음 배우는 언어는 십중팔구 C언어이기 때문에 인터넷에 정보를 찾기도 쉬울 겁니다.)
몇개의 예제를 통해 우선 감을 익히는게 최고라고 생각합니다. 저같은 경우에도, 책에서 배운 문법과 개념을 토대로 처음에 코딩을 할때에 엄~~~~~~청 버벅였습니다...
문법 자체도 생소할 뿐더러, 완성되었다고 생각한 프로그램을 실행시키면 실행이 되질 않죠....(수많은 에러메세지를 뱉어내면서-_-)
이 경우가 컴퓨터 프로그램을 처음 접하는 사람에게는 가~장 해결하기 힘든 문제로 다가옵니다.ㅋㅋ
그럼 이 문제를 독학으로 가장 빠르고 효과적이게 해결할 수 있는 방법은...............?
애석하게도, '그냥 부딫치면서 해보는게' 가장 효과적일 것입니다....ㅋㅋ
이리저리 검색도 해보고, 주위에 전공자에게 여쭤보기도 하시고 하면서요...
'공부에는 왕도가 없다' 라는 말이 프로그래밍에도 그대로 적용됩니다. 왕도 없이 이론과 예제를 반복학습하며 감을 익히는게 우선입니다.
아..........쓰다보니 전혀 도움이 될것 같지 않은 댓글이네요...길기만 길고....
나름(.....나름입니다 나름..) 컴퓨터쪽을 전공으로 삼고 있는 학생이니 궁금하신 사항이 있으시다거나 뭔가 도움이 필요하시다면 쪽지 날려주세요 ㅋㅋ
키매냐에 수많은 컴퓨터 도사들이 있는걸로 봐서, 왕성한 활동하시는 다른 전공자분께 여쭤보는게 더 편하실 수 있겠군요^^;;;ㅋㅋ
갑자기 생각나서 적습니다. 저도 예전에 저거 해보면 재밌겠다라고 생각했던부분인데
요즘 많이 하는 스마트폰 애플리케이션 프로그래밍은 어떠신지요
많이들 시작하더라고요 정보는 없습니다^^;;
대학에서 간단한 프로그래밍 (비주얼베이직, c언어 ) 를 배우기시작해서 아직 초보적인 단계이긴 합니다만
독학만으로 c언어를 배우는것은 상당한 열정이 필요하다고 생각합니다.
혹 어떤분들은 c언어로 프로그램을 만든것이 비주얼베이직보다 완성도(?) 높다고 하시는분들도 계시지만
혼자 배우시기엔 비주얼베이직이 더 나으실 것으로 보입니다.
도움이 안되는 대답 죄송합니다. __;;