티스토리 뷰

Software 이야기

#2-3. 기본 문법은 비슷비슷해요.

생각하고플때 2017. 12. 31. 23:46


저는 주로 JAVA를 써왔고요. Basic, C, Assembly, C++, JAVA, JAVA Script, SQL, Ant Script, Action Script, JSP, HTML, PHP, ... 정도의 프로그래밍 언어를 다뤄왔네요. 많이 다룬 편은 아니예요. 

언어별로 많이 차이가 났으면 여러 언어 배우고 쓰는게 어려웠겠죠? 프로그래밍 언어는 기본 문법은 비슷비슷해서 용도에 따라 배워쓰면 됩니다. (데이터를 다루는 SQL, 문서 구조를 태그 같은 걸로 정의하는 HTML 같은 독특한 언어군도 있지만요.)

하나의 언어를 잘 익혀두면 다른 언어를 익히는 건 그렇게 어렵지 않아요. 다들 비슷한 체계를 따르기 때문이죠. 용어도 비슷하고요. 새로운 언어가 만들어진 이유가 있으니 언어별 특성은 이해를 해야겠지만요. :) 

기본적으로 프로그래밍 언어는 PC에게 일을 시키기 위해 만들어진 것들이라서요. 제가 생각하는 기본 문법들을 일로 구분을 해보면요.


1. 변수, 상수 정의 및 사용 : integer, float, character, string 같은 키워드로 정수, 실수, 문자, 문자열 같은 데이터를 저장할 공간을 만들고 값을 넣고 빼요.

2. 조건문 : if, switch-case 같은 키워드로 ~한다면 ~을 해. 같은 명령을 실행해요.

3. 반복문 : loof라고 부르죠. 컴퓨터가 인간에 비해 가장 잘 하는게 이 부분인거 같아요. 몇백만번을 반복하든 싫증내지 않고 반복하니까요. while, for 같은 키워드로 주어진 조건에 도달할 때까지 일정 명령을 반복해요.

4. 단락 : 꼭 필요한 부분은 아니예요. 위의 세가지 만으로도 프로그램을 짜는데는 문제가 없는데... 프로그램 덩치가 커지면 커질수록 중요해지는 부분이죠. 간단한 계산 같은거 할 때야 필요가 없지만, 점점 커질수록 반복되는 부분을 찾아 단락을 구분해야할 필요가 있어요. 같은 동작을 하는 부분을 여러군데 만들면 요구사항이 바뀌거나 업그레이드 할때 고쳐줄 곳이 늘어나겠죠? 코드가 길어질수록 관리하기 어려워지고요. 그래서 중복되는 부분을 단락으로 관리하는 것이 중요해요. 언어별로 여러가지 방법으로 구분하게 되는데요. function/method 기능별 구분, structure 데이터별 구분, class 데이터와 기능 모두 포함하는 구분 등으로 나눠요.


이번에 구글에서 이번에 어린이 코딩 50주면 기념으로 이 원리들을 간단한 퍼즐 게임으로 배울 수 있게 만들었더라고요. 문제를 한번 풀어보면 이해가 더 잘 되실 겁니다요. https://www.google.com/doodles/celebrating-50-years-of-kids-coding


댓글
댓글쓰기 폼