저는 주로 JAVA를 써왔고요. Basic, C, Assembly, C++, JAVA, JAVA Script, SQL, Ant Script, Action Script, JSP, HTML, PHP, ... 정도의 프로그래밍 언어를 다뤄왔네요. 많이 다룬 편은 아니예요. 언어별로 많이 차이가 났으면 여러 언어 배우고 쓰는게 어려웠겠죠? 프로그래밍 언어는 기본 문법은 비슷비슷해서 용도에 따라 배워쓰면 됩니다. (데이터를 다루는 SQL, 문서 구조를 태그 같은 걸로 정의하는 HTML 같은 독특한 언어군도 있지만요.)하나의 언어를 잘 익혀두면 다른 언어를 익히는 건 그렇게 어렵지 않아요. 다들 비슷한 체계를 따르기 때문이죠. 용어도 비슷하고요. 새로운 언어가 만들어진 이유가 있으니 언어별 특성은 이해를 해야겠지만..
위의 사진을 보면 2+x = 4를 어떻게 풀어야할지 고민하는 사람이 있어요. 결국 뭔가 복잡한 수식을 써서 문제를 풀지요. 그러나 초등학교 때 산수를 배웠다면 손쉽게 x는 2라는 걸 아시겠죠?프로그래밍은 기본적으로 문제를 푸는 일인데요. 논리적으로 문제를 해결해가는 겁니다. 그 시작이 이 사고 체계예요.문제를 분석해서 주어진 도구를 가지고 문제를 풀어내는 일이죠. 사진의 사람처럼 어렵고 복잡하게 문제를 풀면 속도도 안나고 프로그래밍이 어렵다 느껴지겠죠? 문제, 요구사항을 받아들고 어떤 식으로 짜는게 편하겠다. 효율적이겠다. 앞으로의 유지보수에 좋겠다. 고 생각해내는 과정이 중요하다는 거죠. 그래서 누군가 만들어놓은 것을 보면 자연스레 나라면 이렇게 하는게 좋지 않을까? 생각하게 돼요.이러한 사고 체계, ..
먼저 어떤 언어들이 있고 어떻게 발전해 왔는지 이야기할께요.하드웨어는 전자기학을 기반으로 해요. 기본적으로 전원이 들어오면 1, 나가면 0으로 인식해요. 그래서 가장 하위 단에는 2진수로 명령을 내리게 됩니다. "0111 0110 1011 0101" 처럼 2진수로 명령어가 씌여있는 것을 기계어라고 해요. (https://ko.wikipedia.org/wiki/기계어) 예시야 짧게 들었지만 몇백만 몇천만 라인이 될 수도 있으니 저걸로는 도대체 무슨 프로그램인지 무슨 동작을 하는지 말기 어렵겠죠? 그래서 간단하게 영문으로 명령어를 치환해서 어셈블러라는 언어가 나옵니다. (https://ko.wikipedia.org/wiki/어셈블리어) 프로그램을 작성하고 변환하면 1:1로 기계어로 바뀌게 되는 언어죠. 이 ..