2013년 7월 27일 토요일

C, C++ 프로그래밍.

산업공학과에서, 그 중에서도 최적화 관련 분야는 컴퓨터만 있으면 실험 준비 완료다. 실험이라기 보다는 시뮤레이션 이라고 하는게 더 적합하겠다. 알고리즘을 새로 개발하거나 기존에 있는 알고리즘을 새로운 문제에 적용해서 얼마나 잘 풀리는지 확인하는 것이 대부분의 실험의 목적이다. 이 때 프로그램을 할 줄 아는것이 큰 도움이 된다. 

나는 대학원에 들어 왔을 때 할 줄 아는 컴퓨터 언어가 하나도 없었다. 석사 졸업 연구를 시작하면서 메틀랩을 혼자 공부 했는데 생각보다 어렵진 않았다. C언어를 잘 다루는 한 친구는 메틀랩을 계산기라고 불렀다. 그만큼 다른 언어보다 쉽다는 거겠지. 하지만 단점은 수행 속도가 많이 느리다는 것이다. 물론 문제를 빨리 푸는것이 벼로 중요하지 않거나, 간단한 기능을 수행하는 프로그램이라면 메틀랩도 괜찮다. 그러나 문제를 빨리 푸는것이 중요하고 또 문제가 더 복잡해 지면 메틀렙으로 해결이 안된다. 그래서 다시 C언어를 공부해야 했다. 

C언어는 한국에 있을 때도 조금 배운적이 있었는데 제대로 이해하지 못했다. 언어를 잘 하는 친구들 말을 들어보면 혼자 오랫동안 공부해도 실력이 잘 늘지 않는다고 한다. 회사에 최직해서 한달 배우고 실습하는것이 혼자 일년 공부하는 것보다 훨씬 낫다고 하는 사람도 있었다. 이런 저런 책을 사서 혼자 공부하긴 했지만 책을 끝까지 보는것이 어려웠고, 이해가 안가는 부분들이 해결이 안되니 답답하기도 했다. 아주 많은 시행착오 끝에 지금에 이르렀는데 지금도 내가 아주 잘 한다는 생각은 들지 않는다. 다만 연구 하는데 부족하지 않을 정도라고나 할까. 

박사 과정이 끝나가는 마당에 돌아보면 시행착오를 줄일 수 있는 방법이 많이 있었을것 같은 생각이 든다. 혹시 나 처럼 혼자 C (or C++)을 공부해야 하는 사람이 있다면 강추하고 싶은 책이 있다. 

윤성우 열혈 C 프로그래밍
윤성우 열혈 C++ 프로그래밍

책을 사면 쿠폰이 들어 있는데 저자의 동영상 강의를 1년간 들을 수 있다. 저자의 강의는 한마디로 명품이다. 

강의가 꾀 많기 때문에 정상 속도로 들으면 시간이 너무 오래 걸릴것 같아서 나는 곰플레이어를 이용해서 1.5~1.8배속으로 들었다. 그래도 강의를 이해하는데는 별 문제가 없었다. 

C나 C++ 때문에 고생하는 사람들이 있다면 정말 강추다. 참고로 나는 책 저자와는 아무 상관이 없음을 밝혀둔다. 난 다만 저자의 펜일뿐. 

댓글 없음:

댓글 쓰기