프로그래밍을 배우려고 하는데 있어서 첫 번째로 등장하는 가장 큰 난관이 아닐까 싶습니다. 어떤 언어로 프로그래밍 공부를 시작해야 할까요? 이 질문에는 사실상 정해진 정답이 없습니다. 그 이유는 본인이 하고자 하는 목적에 따라 사용해야 할 언어가 다르고, 배워야할 언어가 다르기 때문입니다. 어떤 언어 먼저 배우는 게 맞고 틀리다라고는 절대 말할 수 없습니다. 단지, 사용되는 용도에 따라 다른 것 뿐입니다. 예를 들어, 어떤 언어부터 배워야 할 지에 대해서 갈피를 잡지 못하고 있는 상태에서 누군가가 "파이썬을 가장 먼저 배워!", "HTML과 CSS를 가장 먼저 배워"라고 한다면 굉장히 혼란스러울 것입니다. 이러한 대답에서 가장 중요한 것은 그렇게 대답한 사람들은 과연 프로그래밍에 대해서 어느정도의 지식을 보유하고 있는 사람들인가라는 의문을 품는 것입니다. 그 이유는 이러한 질문에 정답과 같은 답변이 아닌, 올바른 답변을 하기 위해서는 충분한 배경지식이 있어야하기 때문입니다.
그래서 누군가에게 "어떤 언어부터 배워야할까?"라고 물었을 때 충분한 배경지식이 있는 사람들은 곧바로 답을 해주기보다는 여러분께 도리어 질문을 던질 겁니다. "너는 무엇을 하고 싶은데?"라고 말이죠. 만약, 웹 사이트를 구축하고자 언어를 배워야 한다면 단연 HTML을 가장 먼저 배우는 게 일반적입니다. HTML은 웹 분야에 있어서 가장 기초가 되는 언어이기 때문이죠. 웹 사이트를 배우겠다는 목적에는 또 크게 3가지로 구분됩니다. 프론트 엔드, 백 엔드, 풀스택으로 말이죠.
2019/08/11 - 프론트엔드(Frontend)와 백엔드(Backend)
따라서 이번 포스팅에서는 아주 잘 알려진 5개의 프로그래밍 언어(C++, JS, Python, Java, PHP)가 각각 어디에 사용되는지, 배워두면 무엇을 하는 곳에 취업을 할 수 있는 지에 대해서 언급하려고 합니다.
○ C++
C는 낮은 수준의 퍼포먼스를 위해 디자인된 프로그래밍 언어입니다. 여기서 낮은 수준은 C의 수준이 낮다는 것이 아니라 사람보다는 기계에 더 가깝다는 의미를 뜻합니다. 프로그래밍에서는 사람에게 더 친숙한 언어를 사용할수록 고급언어(High Level Langauge)라고 표현하며, 기계에 더 가까운 언어를 사용할수록 저급언어(Low Level Language)라고 표현합니다. C언어는 우리가 일생상활에서 사용하는 스마트 TV, 스마트 냉장고, 에어컨 등에 프로그래밍될 수 있을 정도로 기계와 가까운 언어를 사용하고 있습니다. 다만 이들은 프로그래밍이 필요한데 메모리가 부족하다는 것이 공통점이 될 수 있겠네요. 그만큼 처음 프로그래밍을 접하는 경우 다소 어렵게 느껴질 수 있지만, 중급 정도로 배우신다면 소프트웨어를 다루는 큰 기업들과 함께 일할 수 있을 정도로 강력한 언어 중 하나입니다. 그 큰 기업의 예를 들어보자면, 포토샵, 일럿트, 프리미어 프로를 만드는 회사인 Adobe와 같은 곳입니다. 이러한 회사는 퍼포먼스가 필요한 소프트웨어를 만듭니다.
○ 자바(Java)
Java는 외국에서 보다는 한국에서 유명한 언어라고 해도 과언이 아닙니다. Java는 주로 정부, 기업, 은행 쪽에서 많이 다루고 있습니다. 최근에는 기업용 웹 어플리케이션을 구축하는 데 많이 사용되고 있기도 하며, 그로인해 취업에 유리한 언어 중 하나입니다. 실제로 우리나라 프로그래머 구인/구직 사이트를 보면 Java 언어를 기반으로 진행되는 프로젝트가 다른 언어에 비해 굉장히 많습니다. 하지만 빠르게 변하는 스타트업에서는 Java 개발자의 수가 상대적으로 적은 편이며, 대신 큰 기업이나 오래된 레거시(legacy, 기존의) 시스템과 작업해야 하는 기관에서 Java 개발자를 필요로 합니다. 또한 Java는 안드로이드 어플리케이션을 만드는 데 사용될 수 있으며, 큰 기관에서 안정적으로 일을 하고 싶거나 프론트엔드 개발과 같이 급격히 변하지 않는 환경에서 프로그래밍을 하고 싶다면 Java를 권장합니다.
○ 자바스크립트(JavaScript, JS)
사람들이 흔히 헷갈리는 것이 Java와 JavaScript를 같은 언어로 생각하는 경우가 꽤 있는 것 같습니다만, 이 두 언어는 아예 다른 언어입니다.
2019/08/15 - Java와 JavaScript는 같은 언어인가?
여기서 소개할 때에는 html, CSS, JavaScript를 뭉쳐서 하나로 설명하겠습니다. 위에서 잠시 언급했듯이 프로그래밍을 하는 주된 목적이 웹 사이트를 구축하기 위해서라면 반드시 html, CSS, JavaScript를 공부해야 합니다. 웹 사이트의 만들기위한 시작이라고 해도 과언이 아닐 겁니다. JavaScript를 잘 다루면, 다이나믹한 동적인 웹 사이트 제작, 웹 어플리케이션 제작, 백 엔드 구축 등을 할 수 있습니다. JavaScript도 파이썬과 같이 다양한 목적으로 수행될 수 있는 언어임과 동시에 오래된 언어 중 하나이며, 저급 언어 중 하나입니다.
○ 파이썬
파이썬은 프로그래밍을 처음 접한 사람들에게 권장되는 고급 언어 중 하나이며, 언어의 구조 상 단조롭고, 영작을 하는 느낌이 들기 때문에 다른 언어에 비해 쉽다고 느낄 수 있습니다. 또한 파이썬은 굉장히 다양한 분야에서 여러 용도로 사용될 수 있습니다. 예를 들어, 컴퓨터 해킹, 머신러닝, 데이터 사이언스, 데이터 시각화, 웹 스크래핑, 웹 사이트 구축 등을 할 수 있습니다. 현재 세계적으로 파이썬의 입지도가 지속적으로 증가하는 추세이며, 파이썬을 공부하여 본인의 것으로 만든다면 정말 큰 무기가 될 수도 있습니다.
○ PHP
PHP는 백엔드 구축을 위한 언어입니다. 또한 워드프레스 서비스 덕분에 PHP는 거의 대부분의 웹에서 작동되고 있습니다. 워드프레스는 PHP와 연동되어 있으며, 굉장히 많은 웹 사이트가 워드프레스로 구축되었기 때문에 PHP는 웹 분야에 있어서 빠질 수 없는 언어 중 하나입니다. 또한 PHP는 커뮤니티의 규모도 크고, 안정적인 편입니다. 파이썬이나 nodeJS를 사용하는 사람들도 있는 반면, PHP를 고집하는 사람들도 굉장히 많습니다.
○ 끝 마치며
프로그래밍 언어의 장단점 및 특징을 파악하는 것도 중요하지만, 가장 중요한 것은 앞에도 언급했지만 본인의 목표를 잡는 것이 가장 중요합니다. 본인이 구축하고, 구현하고 싶은 것이 무엇인지 생각해보고 선택하면 프로그래밍 언어 선택에 대한 결론은 뒤따라올 것으로 생각됩니다.
'프로그래밍 > 용어 및 개념' 카테고리의 다른 글
클라이언트(Client)와 서버(Server) (0) | 2019.08.11 |
---|---|
프론트엔드(Frontend)와 백엔드(Backend) (0) | 2019.08.11 |
컴파일드(Compiled) 언어와 인터프레티드(Interpreted) 언어 (0) | 2019.08.11 |