2009년 05월 14일
전산 개발에서 기본이란 과연 무엇일까?
전산 개발 기술에 관련하여 플레임이 벌어지다 끝무렵에 가면 꼭 이런 말이 나온다. '도구는 중요하지 않아요. 기본이 중요한 거죠'
그런데 과연 그 '기본'이란 무얼까?
그리고 그것을 과연 어느 정도까지 해야 '기본이 튼튼'하다는 걸까?
기본이 중요하다고 말하는 사람들을 보면 가끔은 '자기가 가장 잘 하는 분야'가 기본이라고들 하는 거 같은 느낌이 든다. 특히 C/C++ 로 저수준 개발을 주로 하는 사람들에게서 그런 경우를 꽤 보게 된다.
그런 경향을 일컬어 '기계어 근본주의'라고 하면 심한 말이 될까?
PS. 전산에 문외한인 기획자가 프로그래밍이 뭔지 좀 알고 싶어 공부 좀 해보겠다고 하는데 C/C++를 공부하라고 하는 사람들은 도대체 뭔 정신이야.
그런데 과연 그 '기본'이란 무얼까?
그리고 그것을 과연 어느 정도까지 해야 '기본이 튼튼'하다는 걸까?
기본이 중요하다고 말하는 사람들을 보면 가끔은 '자기가 가장 잘 하는 분야'가 기본이라고들 하는 거 같은 느낌이 든다. 특히 C/C++ 로 저수준 개발을 주로 하는 사람들에게서 그런 경우를 꽤 보게 된다.
그런 경향을 일컬어 '기계어 근본주의'라고 하면 심한 말이 될까?
PS. 전산에 문외한인 기획자가 프로그래밍이 뭔지 좀 알고 싶어 공부 좀 해보겠다고 하는데 C/C++를 공부하라고 하는 사람들은 도대체 뭔 정신이야.
# by | 2009/05/14 22:04 | 트랙백(1) | 덧글(13)





















☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : 맹수의 알림
점프와 쉼없는 나아감 : 전산 개발에서 기본이란 과연 무엇일까?...more
말그대로 프로그래밍을 해보라고 할 수 밖에 없겠죠.
전산에 문외한 사람들에게 뭘 가르친다는 것은 정말로 답답한 일이죠. 저라면 포기.
'원리'를 가르쳐야지, 도구의 사용법만 매뉴얼대로 익히서야,
그건 기능공 밖에 못되는 길이라고 생각합니다.
C가 질 낮은(?) 언어라고 생각하지는 않아요.
다만, 직업으로 삼지 않는 초심자에게 C언어 라니요.
논산 훈련소에서도 소총은 나중에 들려주고,
실탄도 함부로 쥐어주지 않는데 말이죠.
대학교에서 3학기 동안 어셈블리 언어를 가르쳤던 저는 '최악의 강사'가 되는건데요...
아무 언어나 하나를 가지고
STL이나 다른 라이브러리 쓰지 말고 스스로 양방향 링크드 리스트를 구현한뒤
그 링크드 리스트가 소팅을 지원하게 할 수 있다면(퀵소트로 n log n 복잡도로)
거기까지가 기본!? 일것 같군요.
요기까지라면
최소한의 복잡도 커버링.
논리적사고력, 기초수학능력, 코드재사용성, 예외처리, 알고리즘
정도를 고루 거치겠군요.
차라리 c+을 배우라고 했다면 주둥이를 후려갈겨버렸겠지만...
(음.. 어쩌다 보니 나온 과격한 표현이니.. 이해좀..ㅎㅎ;;)
같은 학과 선배로서 품위 좀 지켜줬으면... (아니라면, 초면에 실례를...)
그것을 공부하기 위해서 쓰는 언어가 C나 어셈블리, 기계어(...)정도고...
그외에 자료구조나 알고리즘 정도는 공부해 두면 좋지요 :)
다만, 컴퓨터가 동작하는 구조나 방식에 대한 책을 읽고 그것을 실제로 실험을 하여 체감하는데 좋은 언어가 C나 어셈블리 같은 언어라고 할수 있겠죠.
가령, 실제 컴퓨터가 명령어를 수행하는 과정을 단순히 책으로만 읽고 끝내기보다는 어셈블리를 이용해 메모리 레지스터를 직접 다루어 보면 확실히 체감이 된다고 할까요.
논의가 한참 격렬해지는 상황에 '사실 지금 논의하는 것은 중요하지 않아' 하면서 뒤로 빠지는 행위는 정말 중요한 것을 얻을 수 있는 기회를 스스로 포기할 뿐 아니라 다른 사람의 기회도 박탈하는 것이라 생각합니다.