어떤 프로그래밍 언어를 알면 밥벌어먹고 살수 있을까?
목차
현재 유용한 언어는 무엇일까?
코드도사 운영자 칼럼
만약 이 글을 읽으신다면 “개발자” 혹은 “프로그래머”를 꿈꾸는 학생이나 직장인일 가능성이 높을 거 같습니다. 또한 어떤 언어를 배워야 할지 고민인 분들도 계실 겁니다.
초보자의 경우에는 어떤 언어를 선택하여 시작하느냐에 따라 진로가 달라진다고 할 수도 있습니다. 사실 이 부분은 반은 맞고 반을 틀렸다고 볼 수 있습니다.
프로그래밍 언어라는 것은 “도구” 라고 생각하면 됩니다. 어떤 언어로 시작하는게 크게 중요하지 않습니다. 현재 프로그래머들이 사용하는 대다수의 언어들의 문법은 거의 “비슷” 하기 때문입니다.
중요한 것은 언어의 선택보다 향후에 “어떤 분야”의 프로그래밍을 할건지가 중요합니다.
이 점을 꼭 염두해 두고 진로를 결정하시기 바랍니다. 한가지 언어를 잘 다룬다면 다른 언어로의 전환은 크게 어렵지 않게 됩니다.
언어 선택과 관련하여 제가 작성한 글입니다. 시간나실 때 한번 읽어보셔도 좋습니다.
따라서 자기가 주로 사용하는 주 언어는 “목표로 했던 분야” 에 따라서 바꿀 수 있습니다. 언어를 목적으로 시작하기 보다는 하려는 분야를 정한 다음에 필요한 언어를 습득하는 식으로의 방향을 정하면 되겠습니다.
그런데 현재 출시된 언어는 생각보다 그 숫자가 꽤 많습니다. 따라서 어떤 언어로 시작을 할지 정하기 꽤 어렵습니다. 일단 프로그래밍을 시작하려면 연습을 할려는 언어가 필요한데 초보자의 경우에는 선뜻 정하기 쉽지 않습니다.
그래서 이번 글에서는 초보자일때 알아두면 좋은 언어를 한번 선정해 봤습니다. 다시 한번 말씀 드리지만 언어를 선택하여 분야를 정하는거 보다 자신이 목표로 하는 개발 분야를 정한 다음에 언어를 따라 정하는 방식으로 목표를 정하시면 됩니다.
초보자가 시작하기 좋은 파이썬
최근 프로그래밍 언어의 추세는 “간결함” 과 “스크립트” 라고 해도 무방합니다. 불과 10여년전까지만 해도 주로 쓰였단 C/C++ 같은 언어들은 이제 임베디드 시스템 개발이나 게임 서버 같은 분야에 주로 사용되는 경향으로 축소가 되었습니다.
현재 대다수의 상위 어플리케이션 소프트웨어는 C#이나 파이썬, 자바, 자바 스크립트 같은 언어로 개발되고 있습니다. 또한 모바일 앱의 경우에는 스위프트, 코틀린 같은 언어를 통해서 개발이 되고 있습니다.
즉 개발 언어의 추세는 C/C++ 같이 코드를 바이너리 형태로 변환해 주는 “컴파일” 과정이 필요한 언어가 아닌 파이썬이나 자바 스크립트 같이 스크립트 코드 만으로 실행이 되는 즉 컴파일 과정이 필요없는 언어가 대세가 되가고 있습니다.
그 중에서 “파이썬” 은 스크립트 언어중에 대표적인 언어입니다. 최근에 빅데이터 처리나 웹 서버, 어플리케이션 등 주로 상위 어플리케이션 분야에 많이 활용되는 언어입니다.
특히 파이썬은 초보자가 비교적 배우기 쉬운 언어입니다. C/C++ 에 비해 알아야할 문법적인 내용이 다소 쉽다고 볼 수 있습니다. 또한 파이썬을 배워두면 다양한 실생활의 응용이 가능하기 때문에 매우 활용도가 높은 언어 중 하나입니다.
따라서 현재 파이썬만 잘 배워둬도 써먹을 때가 많습니다. 또한 처음에 다른 언어에 비해 다소 배우기 쉽기 때문에 파이썬을 통해 언어 감각을 익힌 후 다른 언어를 배우는데 도움이 될 수 있습니다.
코드도사 사이트에는 파이썬을 활용한 몇가지 예제들을 올린 적이 있습니다.
이 외에도 파이썬은 수많은 라이브러리들이 많이 제공이 되기 때문에 여러 기능들을 손쉽게 구현하는게 가능합니다. 당신이 주 언어가 파이썬이 아니더라도 파이썬을 익혀 두면 그만큼 도움이 될 가능성이 높습니다.
웹, 앱 분야의 절대 강자. 자바
당신이 프로그래머를 꿈꾼다면 한번쯤은 “자바”라는 언어에 대해 들어본 적이 있을 겁니다.
자바는 국내에서 IT 개발자나 프로그래머를 칭할 때 가장 많이 사용하는 언어입니다. 특히 국내 웹 관련 분야에서 아주 많이 사용하며 상위 어플리케이션, 안드로이드 앱개발 등에 사용할 수 있습니다.
자바는 관공서 시스템 구축에 가장 많이 쓰이는 언어라고 하네요. 국내 SI 프로그래머들은 자바를 기본적으로 쓸 가능성이 높습니다. 그만큼 자바는 국내 IT 시장에서 많이 쓰이는 언어입니다.
따라서 당신이 프로그래머를 꿈꾼다면 자바를 배워두는 것도 괜찮은 선택입니다. 아무래도 많이 쓰이는 만큼 진출할 수 있는 회사나 관련일이 많기 때문입니다. 특히 “자바 스프링 프레임워크”를 통해 구축된 웹 사이트가 꽤 많기 때문에 웹 개발을 하고 싶다면 자바를 배워두는 것도 좋습니다.
신기술의 도구. 자바 스크립트
자바 스크립트는 자바와는 다른 언어입니다. 1995년에 웹 브라우저에서 동적인 기능을 구현하기 위해 출시된 언어로 시작되었으나 현재는 “웹” 기능 구현에 있어서 가장 많이 쓰이는 언어라고 볼 수 있습니다.
자바 스크립트의 문법은 C 와 비슷합니다. 하지만 C에 비해서 간결하기 때문에 좀더 쉽게 배울 수 있습니다. 하지만 자바 스크립트는 간결함에 비해 “객체 지향적” 언어이고 현재 수많은 웹 프레임워크의 주 사용 언어입니다.
따라서 당신이 프로그래머를 꿈꾼다면 자바 스크립트를 배워 두는 것도 매우 좋은 선택입니다. 기본적인 자바 스크립트 문법을 알게 되면, JQuery, Vue.js, Node,js, React, Angular 등을 다룰 수 있게 됩니다.
이들 JS 프레임워크들은 최신 웹 기술을 제공하기 때문에 매우 유용합니다. 따라서 자바 스크립트 문법을 알아두면 최신 웹 어플리케이션 기술들을 익히기 때문에 활용도가 높습니다. 특히 당신이 “웹 개발”을 목표로 한다면 자바 스크립트 사용은 거의 필수라고 볼 수 있습니다.
제가 다소 후회되는 게 있다면 “자바 스크립트”를 많이 사용해 보지 않았던거 입니다. 정확히는 React 나 Vue.js, Node.js 같은 프레임워크를 익히지 않았던게 후회가 되기도 합니다. 이들 프레임워크는 최신 웹 개발 트랜드이기 때문입니다.
따라서 다른 분야를 하더라도 JS 프레임워크는 시간날때 익혀두면 꽤 유용합니다. 그만큼 활용도가 높기 때문입니다.
C/C++ 은 여전히 유용하다
C나 C++은 사실 초보자가 배우기 굉장히 어려운 언어입니다. 문법은 간결하지만 포인터와 같은 개념이 굉장히 어려우며 메모리 처리가 번거로운 측면이 있어서 다소 까다로운 언어라고 볼 수 있습니다.
따라서 C/C++를 처음부터 배우는 것은 다소 추천 드리고 싶지 않습니다. 당신이 C/C++을 하지 않더라도 얼마든지 다른 언어로 프로그래밍을 시작할 수 있기 때문입니다. 웹 개발이나 모바일 앱 개발을 하는데에 C/C++은 전혀 몰라도 됩니다.
하지만 여전히 C/C++은 널리 쓰이고 있고 강력한 언어입니다. 강력하다는 의미는 “저수준(Low Level)”의 성격을 띄고 있어서 원천 라이브러리나 알고리즘 개발에 쓰이고 있기 때문입니다.
현재 뛰어난 데이터 처리 성능이 필요한 “게임 서버” 의 경우에는 여전히 C++ 이 쓰이고 있습니다. 이 외에도 임베디드 소프트웨어 분야에서는 C/C++이 널리 쓰이고 있습니다.
또한 리눅스의 커널은 C 로 개발이 되어 있습니다. 따라서 리눅스를 다루고 싶다면 C/C++을 다룰 수 있으면 엄청난 장점이 됩니다.
시간이 점점 흘러서 C/C++의 활용도는 줄어들 수도 있습니다. 하지만 C/C++은 프로그래밍의 교과서적인 언어 답게 여전히 쓰이고 있고 다른 많은 언어의 기반으로 동작하고 있습니다.
따라서 당신이 “C/C++”을 다룰 수 있는 것은 프로그래머로써 굉장한 장점이 됩니다. C/C++을 알게 되면 다른 언어로의 전환도 쉽게 할 수 있습니다. 다소 문법적으로 이해가 어렵고 코드 작성이 번거로우며, “포인터” 라는 마녀가 존재하지만 그걸 잘 다루면 “무기”를 소지한 거나 다름이 없습니다.
이상으로 알아두면 유용한 언어들에 대해 알아봤습니다. 언어는 도구입니다. 언어를 목표로 하는거보다 자신이 하고 싶은 분야를 선택한 다음에 언어를 따라서 선택하면 될거 같네요.