야 형이 아침에 복습 몇개 해봤더니 그런 것 중요하게 생각하는 종자들이 있더구나.

프로그래밍은 어찌보면 미술이랑 유사하다. 니가 구체적 틀에서 못 벗어서나면 거기서 걍 끝나는 거여. 니가 소켓 유저로 만족하면 소켓과 같은 '기계장치'의 사용법만 알게 되는 거지 그런 기계장치를 만드는 능력은 영원히 없게 된다.

니가 새로운 프레임워크이 있네 했을 때, 그걸 설치해서 바로 한계점으로 밀어부치는 방법들을 생각할 수 있어야 하고 그런 능력을 갖어야 하는 거긔. 그렇게 되면 어떤 것을 택해야 할지, 또 너라면 어떤 식으로 프레임워크를 만들어야할 지 알게 된다.

멀티 쓰레드는 프로그래밍 아주 잘하는 쉐퀴덜도 어려워 한다. 왜냐하면 그 '기계장치' 모델 자체가 인간이 따라가기에 너무 복잡한 것이거든. 결국 안전빵으로 프로그래밍 하다보면 쓰레드 속도가 저하된다. 그래서 최근 경향은 얼랭, 하스켈, 클로져, 스칼라, 이런 함수형 언어 혹은 그와 유사한 모델 - 하둡 같은 맵-리듀스 모델을 쓰는 거여.

IDE도 마찬가지다. 매직이 많을 수록 인간은 편하지. 하지만 개발자라면 그 매직을 만들어 낼 줄 알아야지 남이 만들어 놓은 매직을 사용하면서 정신승리 하면 좆밥되는 거다. IDE에서 해주는 일들을 니가 보통 에디터에서 할 수 있으면 그게 더 낫다 (예를들면 너만의 코드 제네레이션 스크립트). 언젠가 실력되면 IDE를 만들어내는 발판이 되는 거긔.

물론, 80% 이상되는 대부분의 좆밥들은 여기까지 가지 못하겠지만, 아뭏든 너무 구체화 된것에 빠지면 안된다. 구체화 된 것을 보고 니가 추상화 시켜서 그 모델을 빨리 습득하고 더 낫게 구현하는 능력이 프로그래밍의 핵심이여.

고생해라.