더 이상 논란(?)을 일으키고 싶은 생각은 없습니다. 단지, 사실을 적어보고 끝낼까 합니다.
1. c는 기초가 아니었습니다, 적어도 25년 전에는. c++도 기초는 아닙니다.
c는 기초가 아니라 새로운 언어였습니다. 그 때 포트란, 파스칼, 어셈 등등 다른 언어가 많았습니다. c는 새로운 언어였죠. c의 장점은 하이레벨(?)이면서 로우레벨 접근(포인터)이 가능하다는 거였고, 단점은 느리다는 거였습니다. 그 때는 어셈 모르면 기초가 없는 거였죠. c++은 배우기 가장 어려운 언어에 속합니다. c/c++을 기본이라고 한다면 특정 분야일 겁니다. 공통 기초는 아닌거죠. 기초는 분야마다 다르고, 늘 바뀌었고, 앞으로는 더 세분화되고, 더 빨리 바뀔겁니다.
2. 단순코더 할 거면 오지마라는 식의 말, 잘못된 겁니다. (단순코더라는 단어 싫어하는데, 그냥 막 쓰니 저도 따라 쓴 거지, 인정하거나 그런 건 아닙니다.)
모든 분야가 다 마찬가지지만, 단순 작업하는 분들이 고급 작업하는 분들보다 많습니다. 단순작업하는 분들이 없으면 고급 인력이 단순작업도 다 해야 됩니다. 어떤 분야가 3d직종이라면 그 분야의 고급 인력에 대한 대우가 나빠서가 아니라, 단순작업하는 분들에 대한 대우가 어처구니가 없기 때문입니다. 그리고, 단순작업자의 대우가 나쁘면 고급이라 하더라도 좋은 대접 받기 쉽지 않습니다. 왜냐면 아무리 고급이라도 단순작업이 주 업무가 될 거기 때문입니다. 순련된 단순 작업자가 없다면 고급 인력이 대신 할 수 밖에 없죠. 그리고, 그 단순코더라도 하겠다는 분들이 많은 거 보면 다른 분야는 더 안 좋다는 거죠. 대우의 문제는 단순코더이기 때문이 아니라, 그냥 대우를 안 해주는 문화가 문제인 겁니다. 순련된 단순작업자는 꼭 필요합니다.
3. 전산 공통 기본이 있다해도 배우는 방법은 천차만별입니다.
MIT 공개 강의 중에 컴퓨터 프로그램 구조와 해석이란 게 있습니다. 어떤 곳에서는 OOP책으로 프로그램 짜는 법을 배우기도 합니다. 전산이 인문으로 분류된 곳이 있습니다. 미국에서는 많이 그런다고 하더군요. 전산의 기본이 있고 그걸로 거의 모든 분야에 접근가능하고 쓸 수 있다는 건 제가 보기엔 환상이거나, 국어나 산수처럼 아주 기본적인 거 외에는 별로 의미가 없어 보입니다.
기초가 중요하다는 분들의 공통된 근거는 위로 올라갈 때 중요하다는 겁니다. 그건 소수입니다. 이제 막 들어온 분들 중에 그 소수가 몇 명이나 있을 거며, 여기 물오보는 분들 중에 그 소수가 몇 명이나 될까요? 기초 탄탄한 분들만 뽑는다는 회사도 있겠지만, 전 그 회사 작업이 전부 고급 인력이 필요하다고 생각하진 않습니다. 들어올 땐 기초 탄탄한 앞으로 쭉쭉 뻗어나갈 수 있는 인재도 들어가서는 단순작업만 할 가능성이 매우 높죠. 몇년지나도 하는 건 단순작업 위주니, 실력 늘 가능성은 상당히 낮죠. 단순 작업자들이 많지 않으면 고급 작업자는 솔직히 필요 없습니다. 어쩌면 회사들은 고급 인력이라면서 단순 작업만 하는 분들에게 주는 페이가 아까울지도 모릅니다.
가끔 오겠지만, 더 이상 이 주제와 관련해서는 안 쓰겠습니다.