프로그래밍? 그게 뭔데?
.
.
.
1.프로그래밍 언어란?
영화에 나오는 해커, 드라마에 나오는 능력 있는 개발자 등 미디어에서 멋지게만 보이는 코딩 장면 다들 한 번씩들 보신 적 있으실 텐데요. 뭔가 검은 화면에 하얗고 알록달록한 영어로 투다다닥 써 내려가는 여러 글자들. 근데 도대체 뭘 쓰고 있는 걸까요? 프로그래밍 언어(Programming Language)는 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 언어로 기계 즉, 컴퓨터에게 명령이나 연산을 시킬 목적으로 설계되어 기계와 의사소통을 할 수 있게 해주는 언어를 의미합니다.
의외로 컴퓨터보다 먼저 등장한 프로그래밍 언어들은 1930년경 수학자들에 의해 기계적 계산 함수에 대한 연구가 진행되며 나타났으며, 한 마디로 쉽게 말하자면 기계가 이해할 수 있는 언어라고 할 수 있습니다. 처음 코딩을 접하시거나 집에 코딩책이 있으시다면 제일 첫 페이지 간단하게 언급하고 지나가는 코딩의 역사에 대해 읽어볼 수 있는데요. 원시 재귀 함수인 수학적 개념에서 증명된 것이 최초의 프로그래밍 언어라니, 수학에서 비롯된 프로그래밍 언어는 그 종류도 다양한데요.
2.여러 가지 종류
프로그래밍 언어는 컴퓨터의 언어로써 추상화가 거의 되지 않아 컴퓨터가 이해하기 쉬운 것을 저급언어, 고도로 추상화해서 사람이 이해하기 쉬운 언어를 고급언어라고 합니다. 저급언어로는 기계어, 어셈블리어 등이 있으며 고급언어로는 우리가 흔히 들어본 C, C#, C++, 파이썬, Java, R부터 D, F#, 루비, 코틀린, 파스칼, 코볼, 펄, 그루비, 스칼라, occam 등 다양한 종류가 있습니다.
고급 언어 중 우리에게 익숙한 C, 파이썬, Java, R에 대해 간략하게 설명해 보자면, C는 짜인 코드의 속도가 빠르고 바이너리의 크기도 작아 다른 언어에 비해 기본적으로 결과물의 크기가 작지만 성능이라는 대명제에 충실한 나머지 조금이라도 하드웨어에 오버 헤드가 걸릴만한 기능은 무시한다는 단점이 있습니다. 파이썬은 아무래도 대부분의 언어보다 배우기 쉬우면서도 다양한 패키지를 가지고 있어 범용성과 생산성이 높으나 배포가 복잡하고 파편화되어 있으며, 속도가 느린 언어입니다.
Java의 가장 큰 특징은 플랫폼에 독립적인 언어로써 자바 가상 머신만 설치된 있다면 어떤 플랫폼에서도 쉽게 작동하며 다만 실행하는 과정에서 Java Virtual Machine이 반드시 완벽하게 로딩되어야 하기 때문에 프로그램 초기 시작 시간이 오래 걸리는 언어입니다. 마지막으로 R은 통계 관련 패키지가 많이 개발되어 있어서 통계 관련 기법을 활용하는데 가장 적절하며 다만 그만큼 일반인 입장에서 난이도가 높으며 프로그래밍 숙련도 측면에서 설계가 어려운 언어입니다.
3.Python(파이썬)
이러한 언어 중 특히나 파이썬은 초보자 친화적인 특성이 강해 교육용 프로그래밍 언어로써 각광받고 있습니다. 최근 초등학교 개발 교시에서는 이 파이썬을 활용한 교육을 진행한다고들 하더라고요. C나 Java와 달리 변수 선언 시 자료형을 따로 지정하지 않고 내부적으로 있는 자료형을 인터프리터가 추론하는 방식입니다. 파이썬의 print문은 따로 줄 바꿈을 추가하지 않아도 자동 줄 바꿈까지 출력합니다. 위에서 언급한 대로 초보자 친화적이며 공식 튜토리얼에서 한국어로 번역을 제공하고 있으며 매우 상세하게 쓰여 있어 교육에 활용하기 좋으며 유튜브나 웹사이트, 도서 등으로 초보자 대상의 강의 및 자료가 충분하게 제공되고 있습니다.
4.오해
다양한 프로그래밍 언어, 그러나 다들 오해하시는 부분이 이 프로그래밍 언어만 알면 개발을 할 수 있다고 믿으시는 점입니다. 완전히 틀린 말은 아니지만 자동차를 만드는 과정에 비유한다면 기본적인 A명령으로 a를 b하라라는 수준의 코딩은 바퀴 하나를 제작하는 정도의 일이라고 할 수 있습니다. 실제 개발에 응용하기 위해서는 적절한 응용 프로그램 개발을 위한 언어, 프레임워크, 엔진, 라이브러리 등에 대한 지식 및 활용 경험이 있어야 합니다. 정확히 자신이 무엇을 만들어야 하는지 파악하고 이를 어떻게 기술적으로 구현할 수 있을지 엔지니어링 할 수 있어야 직업적인 의미에서 개발을 할 수 있다고 말할 수 있습니다. 물론 취미적인 측면에서 연설문에서 자주 사용된 단어는 무엇이며 어떤 의도가 있을지 분석해 보거나, 올해 영화 순위를 통계자료로 만드는 등의 수준이라면 취미 수준을 목표로 천천히 배워나가시는 것도 좋을 것 같습니다.
.
.
.
생각보다 멀지 않은 프로그래밍 언어, 한 번쯤 배워보시는 건 어떤가요:D
책 추천 리스트 : 독서/선물/고민
마음의 양식 책, 한 달에 한 권씩 읽자 1.미디어 시대의 책 2.책 추천 3.책 관리 . . . 1.미디어 시대의 책 2024년이 시작하고도 벌써 두 달째를 보내고 있습니다. 새해 목표하면 빠지지 않는 삼대장
nia27.tistory.com