전산 개발에서 기본이란 과연 무엇일까?

전산 개발 기술에 관련하여 플레임이 벌어지다 끝무렵에 가면 꼭 이런 말이 나온다. '도구는 중요하지 않아요. 기본이 중요한 거죠'

그런데 과연 그 '기본'이란 무얼까?
그리고 그것을 과연 어느 정도까지 해야 '기본이 튼튼'하다는 걸까?

기본이 중요하다고 말하는 사람들을 보면 가끔은 '자기가 가장 잘 하는 분야'가 기본이라고들 하는 거 같은 느낌이 든다. 특히 C/C++ 로 저수준 개발을 주로 하는 사람들에게서 그런 경우를 꽤 보게 된다.

그런 경향을 일컬어 '기계어 근본주의'라고 하면 심한 말이 될까?

PS. 전산에 문외한인 기획자가 프로그래밍이 뭔지 좀 알고 싶어 공부 좀 해보겠다고 하는데 C/C++를 공부하라고 하는 사람들은 도대체 뭔 정신이야.

by Corund | 2009/05/14 22:04 | 트랙백(1) | 덧글(13)

트랙백 주소 : http://corund.egloos.com/tb/2348028
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from anarch's me2.. at 2009/05/17 20:49

제목 : 맹수의 알림
점프와 쉼없는 나아감 : 전산 개발에서 기본이란 과연 무엇일까?...more

Commented by dffud at 2009/05/14 22:22
"전산에 문외한인 기획자가 프로그래밍이 뭔지 좀 알고 싶어 공부 좀 해보겠다"면....
말그대로 프로그래밍을 해보라고 할 수 밖에 없겠죠.
전산에 문외한 사람들에게 뭘 가르친다는 것은 정말로 답답한 일이죠. 저라면 포기.

Commented by 써니 at 2009/05/14 22:33
기본이 중요하기는 한데, 그게 '특정 언어'라는 말은 좀 에러 인듯 합니다.

'원리'를 가르쳐야지, 도구의 사용법만 매뉴얼대로 익히서야,
그건 기능공 밖에 못되는 길이라고 생각합니다.

C가 질 낮은(?) 언어라고 생각하지는 않아요.
다만, 직업으로 삼지 않는 초심자에게 C언어 라니요.

논산 훈련소에서도 소총은 나중에 들려주고,
실탄도 함부로 쥐어주지 않는데 말이죠.
Commented by Corund at 2009/05/15 15:23
그 '원리'라는 게 무엇이며 무엇이라면 어느 정도까지냐가 의문인거죠 :)
Commented by 써니 at 2009/05/15 15:24
에이... 농담이었어요. C 언어가 저질이라면...

대학교에서 3학기 동안 어셈블리 언어를 가르쳤던 저는 '최악의 강사'가 되는건데요...
Commented by 오린간 at 2009/05/14 22:55
음.
아무 언어나 하나를 가지고
STL이나 다른 라이브러리 쓰지 말고 스스로 양방향 링크드 리스트를 구현한뒤
그 링크드 리스트가 소팅을 지원하게 할 수 있다면(퀵소트로 n log n 복잡도로)
거기까지가 기본!? 일것 같군요.

요기까지라면
최소한의 복잡도 커버링.
논리적사고력, 기초수학능력, 코드재사용성, 예외처리, 알고리즘
정도를 고루 거치겠군요.
Commented by Corund at 2009/05/15 15:16
리스트가 기본 자료 구조인 Lisp 이나 퀵소트를 무지 쉽게 구현할 수 있는 Haskell 이라면 그건 너무 쉬운 거 아닐까요? :)
Commented by 승네군 at 2009/05/15 03:35
입문에서 c라면 그냥저냥 맛보기로는 재밋게 할수 있지 않나요?

차라리 c+을 배우라고 했다면 주둥이를 후려갈겨버렸겠지만...
(음.. 어쩌다 보니 나온 과격한 표현이니.. 이해좀..ㅎㅎ;;)
Commented by 써니 at 2009/05/15 14:13
내가 아는 승네군이 맞다면, 여기서 이러시면 안되지....
같은 학과 선배로서 품위 좀 지켜줬으면... (아니라면, 초면에 실례를...)
Commented by Corund at 2009/05/15 15:19
우리같은 경우야 C로 컴퓨터를 헤집는 재미를 느끼겠지만 다른 분야에 사람에게도 그럴지는 의문이네요. 눈에 보이게 더 쉽게 가지고 놀 수 있는 환경은 다른 것도 많지 않습니까?
Commented by 미친과학자 at 2009/05/15 15:03
뭐, 저는 "컴퓨터가 어떻게 동작하는가"를 이해하는것이 기본의 시작이라고 생각합니다만.
그것을 공부하기 위해서 쓰는 언어가 C나 어셈블리, 기계어(...)정도고...
그외에 자료구조나 알고리즘 정도는 공부해 두면 좋지요 :)
Commented by Corund at 2009/05/15 15:12
C나 어셈블리를 공부해서 과연 "컴퓨터가 어떻게 동작하는지"를 이해할 수 있을까가 의문입니다. C/C++ 논쟁을 보며 느낀 생각이기도 하고 이 포스팅을 쓸 때 가진 생각이기도 합니다.
Commented by 미친과학자 at 2009/05/15 15:14
음, 제가 설명을 부족하게 했군요. C나 어셈블리만을 "언어적"으로 공부만 해서는 이해하기가 힘든것이 사실입니다.
다만, 컴퓨터가 동작하는 구조나 방식에 대한 책을 읽고 그것을 실제로 실험을 하여 체감하는데 좋은 언어가 C나 어셈블리 같은 언어라고 할수 있겠죠.
가령, 실제 컴퓨터가 명령어를 수행하는 과정을 단순히 책으로만 읽고 끝내기보다는 어셈블리를 이용해 메모리 레지스터를 직접 다루어 보면 확실히 체감이 된다고 할까요.
Commented by 박성철 at 2009/05/18 10:35
기본과 도구가 구별이 되려나요? 프로그래밍 언어는 도구가 아니던가요? 시스템 콜은? 심지어 인간의 언어 조차 도구 아닐까요?
논의가 한참 격렬해지는 상황에 '사실 지금 논의하는 것은 중요하지 않아' 하면서 뒤로 빠지는 행위는 정말 중요한 것을 얻을 수 있는 기회를 스스로 포기할 뿐 아니라 다른 사람의 기회도 박탈하는 것이라 생각합니다.

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶