문법을 넘어서라
지금도 인기가 있는지 모르겠지만 in 21 days 책이 유행했던 적이 있습니다.
물론 언어에 있어서 문법은 참 쉬운데 말로 표현할 순 없고(어?) 중요하지만
그러한 언어적인 문법은 정형화 되어 있어서
간단하게 정리하면
제어(if-else if -else / switch - case)
반복(for / while)
호출(함수, 부 프로그램)
정도로 요약이 가능할 정도로 정형화 되어 있습니다.
그렇기에 하나의 언어적 문법을 알게 되면 다른 언어도 어느정도는 볼 줄 알게 되는거죠
하지만 문법은 말그대로 문법일뿐
우리가 영어 문법을 안다고 영어를 할 줄 아는게 아니기에
문법 그 이상을 배울 필요가 있는 겁니다.
언어가 왜 이렇게 설계되었는지(지랄맞은 포인터라던가, 왜 프로토파입이 필요한지)
이러한 문법은 어떠한 용도로 사용하기 위해 설계되었는지 등을 알아나가면
언어를 사용하는데 있어 좀 더 간결하고 명확하며 확실한 표현을 해낼수 있기 때문에
본인이 원하는 것을 해내기 쉬워집니다.
(그래서 제가 C-절차지향-로 시작해서 객체지향을 못갑니다.... ㅠㅠ
Java를 짜면 Java의 탈을 쓴 C라던가... C++의 탈을 쓴 C라던가... ㅠㅠ)
언어에 역사가 없다는 어떤 분의 반론도 있었지만
절차지향에서 객체지향 등 패러다임의 변화 등도 조금씩 알아 두시면
문법만 다르고 같은 방법으로 구현하는 실수를 저지르지 않게 될테니
조금씩은 이런 개념도 있구나 라는걸 알아 두시기 바랍니다
+
학원에 다니거나 하는 분들에게 하는 조언입니다만
가르쳐 주는게 전부가 아니다 그 이상으로 뛰어넘어라
너님이 이걸로 밥 벌어 먹을거면 나보다 잘 알아야만 한다. 왜냐면 넌 이걸로 밥 벌어 먹어야 하지만 난 아니거든.
-> (흔한 반도의 양민학살?) 예전에 백수모드에서 국비지원으로 JSP 듣던 시절 하던 조언
네이버는 더이상 naver~ 구글에서 검색해도 안나오는게 있을 정도로 성장해라