정그래의 아카이빙

[코딩용어] 코딩, 프로그래밍 언어, 프레임워크란? 본문

코딩정보

[코딩용어] 코딩, 프로그래밍 언어, 프레임워크란?

정그래♪ 2021. 2. 21. 23:47

코딩(Coding)

코딩이란 말이 흔히 사용되고 있는데 정확한 뜻은 무엇일까? 코딩이란 Code+ing의 합성어로 '코드를 작성한다'는 뜻이다. 여기서 '코드(Code)'란 컴퓨터 언어를 뜻하는 것으로 코딩은 결국 컴퓨터가 알아들을 수 있는 '컴퓨터 언어'를 사용하여 '컴퓨터에게 특정한 명령을 내리는 것'으로 정의할 수 있다. 더 쉽게 말하자면 외국에 가면 해당 나라의 언어로 대화하듯이 코딩은 사람이 컴퓨터와 대화하는 언어이다. 

 

마치 마법주문을 외우면 특정한 변화를 이끌어내듯 컴퓨터에도 코딩이란 마법주문을 입력하는 것이다. 이를 통해 사진을 자동으로 합성하고 보정하고 로봇을 움직이게 하거나 게임이나 커뮤니티 서비스를 구현해 낼 수 있는 것이다. 또한, 코딩을 통해 수개월 걸릴 일을 단 몇 분만에 완료해낼 수도 있는 등 컴퓨터를 통해 마법같은 일을 할 수 있도록 해주는 것이 바로 '코딩'이다. 

 

코딩을 통해 배경색을 빨간색으로 설정하거나 1~45 중 특정 숫자를 무작위 추출해달라고 하는 등 원하는 목적을 달성하기 위해서는 구체적이고 세세한 명령 과정이 필요하다. 순서에 맞는 이런 일련의 과정을 알고리즘이라고 한다. 

 

프로그래밍 언어(Programming Language)

각 나라마다 고유의 언어가 있듯이 컴퓨터도 컴퓨터만의 언어가 있다. 컴퓨터는 내부적으로 실제는 매우 단순하다. 전원이 들어온 것과 안 들어온 것 즉, 0과 1의 2가지 상태만을 인지할 수 있다. 그래서 컴퓨터에게 어떤 명령을 하려면 '01001010' 처럼 사용해야 한다. 이를 컴퓨터의 언어인 '기계어'라고 일컫는다. 그런데 특정 명령을 하기 위해 매번 0과 1의 결합을 사용한다면 매우 어려울 것이다. 따라서 사람이 쉽게 사용할 수 있도록 기계어를 가공한 '프로그래밍 언어'를 만들게 된다.

 

각 나라마다 언어가 다르듯이 프로그래밍 언어도 종류가 다양하다. 프로그래밍 언어 중 기계어에 가까운 형태일 수록 '저급 언어'라고 하며 사람의 언어인 자연어에 가까울 수록 '고급 언어'라고 한다. 저급 언어의 예로는 어셈블리(assembly language)가 있고 고급 언어의 예로는 파이썬(python)이 있다. 고급 언어가 있음에도 불구하고 저급 언어를 아직도 사용하는 이유는 저급 언어만의 장점이 있기 때문인데 사용하기 복잡하지만 세세한 조건들을 구현하기 유리하다는 점과 반응 속도가 빠르다는 점을 들 수 있다. 반면 고급 언어는 사람이 사용하기 편리한 언어로 되어 있지만 상대적으로 세세하게 조정하기 어렵고 반응 속도가 다소 느린 점을 꼽을 수 있다. 

 

또한 프로그래밍 언어는 용도에 따라 특화되어 있다. 통계에는 R, 웹 마크업에는 HTML, 데이터 처리에는 SQL을 쓰는 등 자신이 개발하고자 하는 영역에 맞는 언어를 배워서 사용하면 된다.

 

프레임워크(Frame Work)

프레임워크는 코딩을 할 때 자주 사용하는 도구들을 모아놓아 쉽게 활용할 수 있도록 해주는 툴이다. 예를 들어 앱에서 로그인 화면을 구현하고자 할 때 이를 매번 0에서 새롭게 만들자면 시간도 오래 걸리고 비효율적이다. 따라서 로그인 화면, 결제창, 채팅기능 같이 자주 사용하는 기능들을 프레임워크로 만들어 놓는다면 반복작업 없이 코딩을 쉽고 빠르게 할 수 있게 된다. 

 

프레임워크(Frame Work), 라이브러리(Library), API(Application Programming Interface), SDK(Software Development Kit) 등으로 불리기도 하는데 세부적으로는 약간의 차이는 있지만 코딩을 쉽게 해주는 툴을 제공해 준다는 점은 공통적이다. 이런 프레임워크는 게임, 앱, 웹 등 용도에 따라서 나뉘기도 하고 자바, 루비, 파이썬 등 특정 언어에 맞게 나뉘어져 있기도 하다. 

 

"코딩은 분야에 상관없이 새로운 문제를 해결할 수 있는 힘을 길러 줄 것이다" - 빌게이츠

"코딩을 할 수 있게 된다면 앉은 자리에서 무언가를 만들어 낼 수 있고 아무도 당신을 막을 수 없을 것이다" - 마크 주커버그

Comments