프로그래밍 언어의 종류에 대해 좀 더 알아보겠습니다. 우리가 사과를 '사과', 'Apple'이라고 부를 수 있는 것처럼, 화면에 'Hello'를 표시하는 코드도 다음과 같이 여러 가지로 표현할 수 있습니다. 그런데 비교적 코드가 긴 다른 언어들과 달리 자바스크립트와 파이선의 코드는 딱 1줄로 끝나네요! 이 두 언어는 '스크립트 언어'이기 때문입니다. 우리가 지금까지 배운 '프로그래밍 언어'는 컴파일 과정을 거쳐 기계어로 번역한 후 실행되는 언어인 데 반해, 스크립트 언어는 한 번에 기계어로 미리 번역하지 않고 실행할 때마다 한 줄씩 전역합니다. 그래서 코드도 짧고 간단하죠(스크립트 언어에서 이런 방식으로 번역하는 도구를'컴파일러'가 아닌 '인터프리터'라고 부릅니다). 스크립트 언어는 문법이 쉽고 간단하지만, 복잡한 기능은 구현하기 힘들다는 단점이 있습니다. 대표적인 예로 홈페이지 개발에 자주 쓰이는 자바스크립트가 있습니다. 여기서 다루는 파이선은 스크립트 언어의 단점은 보완하고 언어의 장점은 더욱 강화한 언어입니다. 프로그래밍 언어와 스크립트 언어의 경계선에 있는 언어라고 말할 수 있습니다. 마크업 언어는 컴퓨터 세계에서 사용하는 언어이긴 한데, 프로그래밍 언어가 아닙니다. '마크업'이라는 단어는 원래 금융 분야에서 사용하던 용어입니다. 생산 가격과 판매 가격 사이에 '더해지는' 금액을 의미하죠. 예를 들어 빵 하나를 만드는데 1,000원이 들었고, 이를 1,500원에 판매하면 500원의 추가 금액이 생기죠? 이를 마크업이라고 합니다. 컴퓨터 언어 얘기하다가 갑자기 가격대기를 하니 좀 이상한가요? 앞서 배운 대로 컴퓨터 세계에서 글자를 표현할 때는 0 약속했지요? 이렇게 형식 없고 무미건조한 단어에 여러 가지 양식을 '덧입혀주는(더해주는)' 언어가 바로 마크업 언어입니다. 프로그래밍 언어가 컴퓨터가 할 '행동'을 정의한다면, 마크업 언어는 정보를 전달하기 위한 '틀'을 제공합니다. 우리 생활 가장 가까이에서 사용되는 마크업 언어에는 웹페이지의 글과 그림을 표현해 주는 HTML이 있습니다. HTML5를 사용하면 글의 굵기 또는 크기를 조절할 수 있습니다. 다른 프로그래밍 언어와 코드 형태가 사뭇 다르죠? 이처럼 HTML5는 웹페이지가 화면에 잘 나타내도록 만들어주는 일종의 레이아웃 구현 도구입니다. 그렇다면 요즘에 인기 있는 언어는 무엇일까요? 아쉽지만 어떤 프로그래밍 언어가 가장 많이 사용되는지 집계해 주는 국제기구는 없습니다. 대신 '인터넷에서 얼마나 많이 검색되었는가?'를 기준으로 순위를 매겨 발표합니다. 이때 '얼마나 많이'의 세부적인 조건과 어떤 검색엔진을 기준으로 하느냐에 따라서 결과가 달라지다 보니, 조사 기관마다 서로 다른 결과를 나타내곤 합니다. 대표적인 구 기관을 소개하자면 하나는 TIOBE 이고 두 번쨰는 PYPL 입니다. TIOBE는 일반적인 프로그래밍 언어에 대한 관심도를 보여준다면 새로 배우려고 하는 프로그래밍 언어에 대한 관심도를 반영한 결과라고 해석할 수 있습니다(미래의 비중을 보여주는 척도라고 할 수 있겠죠?). 두 결과를 바탕으로 꼽자면, 현재 잘나가는 프로그래밍 언어는 C언어와 자바라고 할 수 있습니다. 하지만 파이선을 배워 활용하려는 프로그래머들이 점점 더 늘어나는 추세라고 이야기할 수 있습니다. 다음으로 프로그래밍할 때 기본적으로 알아야 할 코딩 상식 몇 가지를 배워 보겠습니다. 앞으로 코딩하다 보면 수많은 점(.)을 만나게 됩니다. 일상생활에서 '점(.)'은 마침표로 사용하지만 '점(.)'은 어떤 단어의 상하관계를 표현하는 기호입니다. 상하관계라고 하니 이해가 잘 안되시죠? 우리에게 익숙한 주소를 코딩의' 점(.)'으로 표현해 보겠습니다. 서울시가 가장 큰 단위이고, 그다음이 마포구, 그리고 잔다기로, 마지막으로 109번지라는 순서에 따라 상하관계가 표현되었습니다. 그래서 이 '점'을 '~의' 또는'~안에'라고 읽으면 가장 가깝게 해석할 수 있습니다. 서울시'의'마포구'의'잔다기로'의 있는' 109번지처럼 말이죠. 이해하기 어렵지 않죠? 앞으로 무수히 많은' 점(.)'을 보게 될 텐데,'~의' 또는 '~안의'로 해석해 읽어보세요. 어떤 의미의 코드인지 훨씬 이해하기 쉬울 거예요. 앞선 했던 것(10진법,16진법)의 복습을 해보겠습니다. 0 숫자를 표기하는 방법을 2진법이라고 합니다. 말 그대로 2가지 수로만 표현하는 방법입니다. 그런데 2진법으로 비트를 표현하라고 하니 왠지 좀 길어 보입니다. 그래서 2진법 대신에 16진법으로 표현할 때가 많습니다. 16진법? 조금 생소하실 것 같아 간단하게 진법에 관해서 설명하도록 하겠습니다. 우선 우리에게 익숙한 10진법을 얘기해 보겠습니다. 너무나도 익숙한 셈 방법이지만, 왜 9 다음에 다시 0이 나올까요? 저를 포함한 대부분의 사람은 그렇게 배웠기 때문이라고 답할 것입니다. 상식을 깨버리고 6까지 센 다음에 0이 나오면 안 될까요? 아니면 1부터 12까지 센 다음에 1이 나오면 안 될까요? 조금은 황당한 질문일 수 있지만, 6 다음에 0이 나오고 12 다음에 1이 나오는 셈 방식은 생각보다 우리 가까이에 있습니다. 바로 요일 단위와 월 단위입니다. 같이 생각해 보겠습니다. 월 다음에 뭐가 나오죠? 다시 월요일이 나옵니다. 월요일이 0이고, 화요일이 1이라고 생각해 볼게요. 그럼 일요일이 6이 되겠네요. 일요일 다음에 다시 월요일이 오기 때문에 6 다음에 0이 나옵니다. 그렇다면 다음 주 월요일은 10, 화요일은 11이라고 부를 수 있겠죠? 그리고 또 다른 일주일이 지나고 그다음 화요일이 오면 21로 표현할 수 있습니다. 즉, 우리에게 익숙한 요일은 10진법이 아니라 7진법입니다.
'코딩' 카테고리의 다른 글
너도 코딩 할 수 있어! 5편 (파이선) (0) | 2022.07.04 |
---|---|
코딩? 너도 할 수 있어! 4편 (파이선) (0) | 2022.06.29 |
코딩? 너도 할 수 있어! 3편(파이선) (0) | 2022.06.27 |
코딩? 너도 할 수 있어! 3편 (파이선) (0) | 2022.06.25 |
코딩? 너도 할 수 있어! (파이선) (0) | 2022.06.22 |