컴파일러는 실수하지 않는다.
컴파일러에 버그가 있다면 그건 제작자의 실수지.
즉 주어진 룰에 따라 구문을 해석할 뿐이다.
컴파일러는 컴퓨터의 역사에서 아주 초기에 등장했다.
FTP고 OS고 마찬가지.
덧셈밖에 모르는 바보 전자장치에게 가르칠수 있는건 한계가 있기 때문에,
아주 기본적인 부분들에서 효과적인 녀석들만 먼저 도입된거다.
그 말은 짜달아 복잡할게 없다는 거고.
복잡한건 소스코드를 읽는 사람 대가리일 뿐.
코드에는 스타일이 있고,
사람이 말하는데도 스타일이 있다.
같은 말을해도 인내심이 없으면 짜증날 정도로 정리되지 않은 나열을 하는 사람들이 있고,
어려운 이야기도 잘 정리해서 이야기 하는 사람이 있다.
이때 필요한것은?
호흡과 템포, 용어의 정리.
즉, 코드의 끊어읽기와 변수명 / 함수명의 정리가 중요하단거다.
난 처음 남의 소스코드를 읽을 때, 띄어쓰기와 개행을 내가 읽기 좋은 스타일로 정리하면서
변수명도 조정하며 읽었다.
그게 익숙해지면 개략적인 형태만 봐도 '아 이샛기 왜 이걸 이따위로 짰어?' 하게 되지만,
니가 지금 남의 코드를 읽어야 한다는건,
니가 아직 파악하지 못한 분야를 선행자로 부터 전수 받는다는걸 의미하는거지.
왜 필요한지에 대해 알고, 어떻게 하면 되는지 알면 남의 코드를 볼 필요가 없다.
걍 니가 짤 수 있음.
그렇다면, 니가 그걸 못할때, 남의 코드를 보는 시점에서
이게 왜 필요한지와, 어떻게 필요한 요소들을 채워갔는지 지켜보면 되겠지.
조건반복문의 흐름이 안잡히나?
테이블에 그려라.
for 문의 반복자 들을 가로 세로 등으로 배치하고,
각 반복자가 변할때 상태나 결과값이 어떻게 반영되는지 표에 그려라.
그게 익숙해지면 종이가 없어도 머리에 표가 그려진다.
사람은 납득하지 못했을때 상상을 하고,
상상이 곧 발전의 원동력이자 노이즈의 소스이기도 하다.
남의 코드를 볼땐, 악보를 외울때 처럼 각색없이 달달 외어야 한다.
그리고 니가 연주할 땐, 상상력을 폭발시켜야 된다.
코드를 해독하는데 왜? 이렇게? 정도에 상상력을 발휘하더라도.
남의 코드는 있는 그대로 받아들여라.
그게 컴파일러가 하는 짓이다.
몇 가지 연산에 완전히 익숙해지는데는 많은 시간이 걸리지 않는다.
그게 익숙하지 않다는건,
니가 억수로 안짜봤거나, 대충 이해하고 넘어갔다는 의미다.
이건 뭔 소린지 모르겠네요..
에효
뭔가를 모를때 무엇을 모르는지 구체화 되지 않으면 대가리가 나쁜거지. 코딩하면 안됨. 내가 무얼 말하려고 하는건지 모른다면 주제는 "소스코드를 잘 읽기 위해 사고 노이즈를 줄인다는 말이 무엇인가?" 하는 것이고, 쓸데없이 상상하지 마란 소릴 한거다.
복잡한게 있을때 인내력을 갖고 꼼꼼히 그려보면, 나중엔 그리지 않아도 그려진다. 결과값 뿐만 아닌 그 흐름이 머리에 기억되는거니까.
컴파일러 짠 개발자가 실수했을꺼다에 한표 드립니다
개소리
컴퓨터가 이해할 수 있는 코드는 어느 바보나 다 짤 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다.
이제서야 봅니다. 감사합니다.
허x웅이신가
언제는 컴파일러 기능을 까면서 자기 코딩실럭을 자랑하듯이 하더니, 지금은 반대로 글 쓰는저의가 도대체 무엇이오?
컴파일러 등장은 컴의 전체 역사에서 한참 자나서임.
해군 엄마가
원래 띨빡이들은 말귀를 못알아들어서 띨박임.
1세대 컴퓨터 ENIAC 이 40년대 중반인데 첫번째 컴파일러가 50년대 초반임. 뭔 한참 지나서야? 근거없이 떠들기는 ㅋㄷ
병신 인증이 하고싶으면 그냥 집에서 거울을 봐.
컴파일러의 디버깅 기능, code completion에 의존해서 컴파일러 없이 프로그래밍 못하는 애들을 비판한거고, 컴파일러가 어떻게 컴파일하는지에 대해 설명한건 마찬가지로 쓸데없는 사고노이즈를 줄이고 인간컴파일러가 되란거지. 같은 말을 해도 저렇게 멍청하게 반응하는 애들이 있어요 ㅉㅉ
남의 코드만 주구장창 읽고있는 입장으로써.. 개추드리고갑니다..
ㅋㄷㅋㄷㅋㄷㅋㄷㅋㄷㅋㄷㅋㄷ