한번 필터링 하고 가자.

학문 닦냐? 대학에서 요구 하냐? 학점에 필요하냐?

그럼 c부터 하고 어쩔 수 없다. 자격증 마냥 필요한 것이면 그냥 해.



정말 프로그래밍 언어 자체를 공부하기 위한 게 아니면 c부터 할 이유가 없음.

이유가 있더라고 하더라도 큰 게 아니다. 로우 레벨을 알아야만 훌륭한 개발자가 된다는 이데아로 죄다 수렴하기 때문이지.

나는 그렇게 생각하지 않아. 접근 방식도 틀렸다고 생각한다. 학습 관점에서도 틀렸다고 생각함.


많은 중고수 프로그래머, 개발자들이 내 글에 동의하지 않아도 괜찮다.


플갤에 기웃거리고 눈팅하며 나도 프로그래밍 하고 싶다 하는 초짜 새끼들은 반드시 내 말을 유념해라.



단정적으로 말하면 그냥 c#이나 java, javascript 같은 하이 레벨 언어 부터 프로그래밍 언어로써 접해도 아무 상관없다는 거다. (예전에는 c, c++이 하이 레벨이었는데 이제는 상대적으로 로우 레벨이지.)

c#, java 싫다고 그럼 다른 하이 레벨 언어부터 배워도 상관 없음.

그 언어가 네가 추구하는 결과물을 내놓을 수만 있다면. 아니라면 때려 쳐라.

너에게 흥미로운 결과물이나 그런 것들을 내놓지 않는 언어면 아무리 대단하고 고상한 언어라도 때려 쳐.



꼭 c, c++ 이런 걸 먼저 공부 한 놈들은 금방 굴러 떨어진다.

왜? 로우 레벨 부터 착실히 배운다고 하는데 존나 배울게 산더미거든.

그리고 그 산더미에서 당장 뭐가 중요한지 안알랴줌.

일단 배우세요. 그러면 넌 만들 수 있습니다. 이런 식이야 전부.

그 산더미에서 헤엄치다가 때려 치는 거지.


c++ 책 보라고. 마치 그 내용을 다 알아야 뭔가 나올 것 같냐? 아니야....

막 2000페이지 두꺼운 책들 중 자주 쓰이는 게 한 200여 페이지나 될까 모르겠다.

200여페이지만 알아도 결과물은 나온다. 그리고 나머지 1800여 페이지는 200여 페이지를 보충하는 개념이다.



언어를 도구로 안 보고 진짜 언어학의 언어로써 보는 놈은 금방 나가 떨어진다.

그들은 대부분 이렇게 생각한다. 이걸 다 배우게 되면 나는 이걸 만들 거야.

아니야. 일주일 간 기본을 학습했다면 그냥 당장 프로젝트를 시작해라.

그리고 프로젝트를 진행하는데 막힌다? 그때 필요한 공부가 진짜 공부야.

공부가 아니지 프로젝트의 생존을 위한 학습이 된다. 프로젝트를 마치기 위해서는 반드시 알아야만 하거든.

그게 아니면 프로젝트가 완성이 안됨. 죽는거다. 억지로 공부하고 공부하는 이유와 목적이 불확실한 것보다

프로젝트라는 목적을 위해 하는 학습이 월등히 빠르다.

1년 공부하는 것 보다 3개월 프로젝트를 진행하는 게 더 빠르다고 단언한다.



현재 한국 영어 공부의 문제점 아니냐? 학창 시절 줄창 대입을 위한 공부, 입사를 위한 공부로만 했지.

해외 유학은 왜 가냐? 어쩔 수 없이라도 공부할 목적을 생성하기 위함이 아니냐?

해외에 가면 어쩔 수 없이 그 나라 언어를 배워야만 한다.

진짜 언어를 사용한다는 개념으로 접근 하지를 않으니까. 물론 대입, 입사를 위해 공부한 것도 도움은 되겠지.

하지만 접근 방법이나 생각부터 다르기 때문에 대다수 사람들은 영어를 한국어처럼 구사할 수도, 하지도 못한다.


다시 한번 말하지만 프로그래밍은 언어학이 아니다 공학이다.

플갤 놈들이야 자딸이나 심취해서 공학을 도구적인 관점으로 못보고 언어학적 관점으로 보는 거지.

거기에 낚이면 안돼.

프로그래밍 언어를 진짜 언어처럼 보는 사람들은 개발자가 아니다 학자다.

대학교수나 취미로 하스켈 언어 배우고 심취하는 그런 괴짜들이다.



너 학자냐? 아니잖아. 너가 프로그래밍 언어를 배우는 이유가 뭐냐?

뭔가 만들기 위해서 아니야?



공학으로써 프로그래밍 언어가 왜 메리트냐?
다른 공학을 생각해봐. 건축학? 너 건축학 배우고 바로 뭐 건축 할 수 있냐?
물론 개집, 새집 같은 건 만들 수 있겠지만 최종적으로 그런 것에 만족하는 건축학자, 학도는 없을 거다.

거대한 것을 만드는데... 건축학이라는 공학은 많은 자원을 요구한다.

프로그래밍은 아니지. 배운다면 바로 적용하고 결과물을 내놓을 수 있다.

건축학을 무시하는 게 아니라 지극히 상식적인 접근에서 그렇지 않나.

건축학도 필요하면 프로그래밍이 필요한 시대임.




정리하고 글을 마친다.

로우 레벨을 배우지 말라는 게 아니다.
하이 레벨로 시작하고 뭔가 만들었어도 결국 저것들이 필요한 날이 올거다. 안 올 수도 있고.

안 온 사람 많지. 웹 프로그래머들이 사람들이 c,c++ 에서 요구하는 하드웨어적 관점에 빠삭 할 것 같아? 아니다.


이제 하이 레벨에서 로우 레벨 언어가 필요해서 하는 공부는 어거지로 하는 공부가 아니다.

정말 원해서 하는 공부가 될 것.



하지만 로우 레벨에서 시작한놈들은 하이 레벨이 어떻게 보일가?

뭔가 제대로 만들어 보지도 못하고 배울게 산더미인 것으로만 보이겠지.