프로그래머는 추론 능력이 뛰어나야 된다.



추론 능력이 중요하다는건 보통 컴퓨터 싸이언스 개론 책 첫스탭 에서 강조하는데



'정보의 파편들을 모아 새롭게 정보를 구축하는것은 프로그래밍의 가장 기초이론이 된다.' 라는 식으로 써있다.



예를 들어 프로그래밍 입문 할때 반복문, 변수,출력문을 처음 배우고



바로 삼각형 별찍기를 해보라고 하면 100명중 99.99명이 못 하는데



이유는 필요한 정보는 다 알고 있는데 그 정보들로 새로운 정보를 도출해내는 능력이 부족하기 때문이다. 



빠른 정보 습득력과 추론 능력을 키우는것이 모든 프로그래밍 학습의 핵심 목표라고 할 수 있다.



컴퓨터 프로그래밍 정보의 기초는 CS이론에 있으므로 학습할때 '굳이 왜 이런게?','이해가 안가' 라는 의문을 최소화해 빠른 정보력 습득이 가능하다.



학습력에서 CS기초는 매우 중요한데 만약 한개의 변수를 선언한다고 생각해보자.



언어들마다 전역 변수 지역변수 캐시 변수 메모리 변수 외부 변수 서버 변수 뭐 비슷 비슷해 보이는데 다 다른 별에 별 것들이 다 있다.



CS 이론을 모르면 보통 감각적으로 대충 쓰는 경우가 많은데, 보통 틀리게 이해하고 사용해서 문제를 발생시키고 최악의 경우 고칠수 없는 오류가 되기도 한다.



이때 문서를 봐도 이해를 못하는 경우가 대부분이다 대부분의 문서는 CS개념을 당연히 안다고 가정하기 때문에, 친절하게 써놓지 않는다. 그래서 블로그 찾아가더라.



또한 추론에서 당연히 중요한거는 컴퓨터 핵심 동작을 알아야 많은 추론이 가능하기 때문이다. 



CS개념의 중요성을 설명하는건 추상적이긴 한데 추론과 관련이 있기때문에 추상적일수밖에 없지



설계쪽에서도 매우 중요함 CS모르면 설계를 제대로 못하는건 당연한데 



실제로 OS 개발쪽 아니면 실질적으론 거의 안쓰는것도 맞음.



근데 생각할 때 많이 쓴다고. 그래서 중요성을 말로 설명하기 어렵고, CS이론을 컴퓨터 공학 기초라고 하는거고.