<div><br /></div> <div><br /></div> <div>포인터가 초보자들에게 가르칠만한 개념이 아니거든요....-_-</div> <div><br /></div> <div>기본적으로 CPU에서 메모리 접근을 어떻게 하는지, 또 OS에서 프로그램에게 메모리를 어떻게 할당하는지 이해하고</div> <div><br /></div> <div>힙 영역과 데이터 영역과 코드영역이 어떻게 구분되는지 알아야지 포인터라는게 어떻게 작동하는지 정확히 이해할 수 있고</div> <div><br /></div> <div>그래야 포인터 사용중 발생한 논리적 오류들이 왜 발생했는지 원인을 올바르게 추측하고 디버깅이 가능한데</div> <div><br /></div> <div>이정도의 컴퓨터공학적 소양이 없는 사람이 무턱대고 C를 배우기에는 C언어, 특히 포인터는 너무 어려운 개념이라고 생각합니다.</div> <div><br /></div> <div>대부분의 대학이 C를 첫 언어로 가르치는 이유는 교수들이 그 언어가 제일 익숙한 것도 있겠지만</div> <div><br /></div> <div>차후에 공학적 지식을 쌓아 나가다보면 C의 동작이 컴퓨터의 원리와 구조가 맞물리며 이해가 가는 경우가 많기 때문이라고 봅니다.</div> <div><br /></div> <div>즉, 본격적으로 컴퓨터공학을 깊게 배울 사람이 아니라면 C언어는 필요 이상으로 어려운 언어라고 봅니다.</div> <div><br /></div> <div>컴퓨터 공학에 대한 공부 없이 C만 1년을 배운들 printf같은 함수가 다수의 인자를 받아들일 때 </div> <div><br /></div> <div>이게 메모리상에서 어떻게 적재되고 어떻게 동작하는지 이해할 수 있는 사람이 얼마나 될까요, 결코 많지는 않으리라 봅니다.</div> <div>(언어를 배우는게 단순히 사용법만 배우는 걸로 충분하다면 상관 없겠지만, 그래서야 코더 이상 되기는 힘들겠죠)</div> <div><br /></div> <div>그래서인지 최근에는 다른 언어를 첫 언어로 가르치는 대학도 늘어나는 추세 같더라구요...</div> <div><br /></div> <div>사실, 어려운 걸로 따지면 C++도 풀 썰은 많습니다</div> <div><br /></div> <div>리누스 토발즈가 C++은 제대로 다룰 수 있는 개발자가 너무 적다며 리눅스 커널 개발에서 C++을 제외하고 C만 쓰기로 한 일화도 있죠</div> <div>(그래서 리눅스 커널은 아직도 C로만 작성됩니다.)</div> <div><br /></div> <div>아무튼 틈틈히 여러가지 썰을 풀 여유가 있으면 좋겠네요 </div> <div><br /></div> <div> <div style="text-align: left"><img src="http://thimg.todayhumor.co.kr/upfile/201401/1391165300VhoRSv4fREVKH6T3RkNJql5v.png" width="800" height="616" alt="CoderDeveloperHackerHanselmanVennv2_77a2dcf3-ea76-4508-8645-2b7e0f261d40.png" id="image_04654057084117085" class="chimg_photo" style="border: none" /></div><br /></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.