개발
2020년을 이끌어나갈 인기 프로그래밍 언어 TOP3
7분
2021.01.08.3.7K
1960년대와 1970년대까지만 하더라도 컴퓨터는 상당히 비싸고 귀한 장비였습니다. 그래서 CPU를 한 번 돌리는 작업이나 1바이트의 메모리도 상당히 비쌌기 때문에 하드웨어를 최대한 효율적으로 다루는 방법이 필요했습니다. 그래서 벨 연구소의 엔지니어였던 데니스 리치(Dennis Ritche)는 1969년부터 기계어로 직접 컴파일 할 수 있는 일반적인 용도의 프로그래밍 언어를 개발하기 시작했는데, 이렇게 해서 그는 1973년에 C라는 절차 지향 프로그래밍 언어를 완성하게 되었습니다. 이렇게 세상에 나온 C언어로 프로그래밍을 하면 메모리의 아주 낮은 수준에까지 접근할 수 있었고, 기본적인 하드웨어도 완벽하게 제어할 수 있게 되었습니다.
물론 C는 상당히 복잡하고, 불안정하며, 기능이 많지 않다는 비판을 받기도 합니다. 그리고 C는 플랫폼에 따라서 (사용하는 함수나 명령어가 다른) 의존성이 있기 때문에, 다른 플랫폼으로 포팅(이전)을 할 수 없습니다. 예를 들어, 리눅스(Linux) 환경에서 작성된 코드를 윈도우 환경에서 그대로 컴파일 할 수 없습니다. 하지만 하드웨어를 최대한 활용하고 싶다면, C나 C++, 또는 러스트(Rust)를 이용하는 것이 가장 좋은 방법입니다.
티오베 순위에 따르면, C는 2019년도에도 많은 인기를 얻으면서 인기 순위에서 2위를 차지하고 있습니다.
깃허브의 저장소에 기여한 정도에 따라서 산출한 옥토버스의 순위를 보면, C는 가장 인기 있는 언어들 중에서 9위에 올라 있습니다.
스택오버플로(StackOverflow)에서 개발자들을 대상으로 실시한 설문조사에 따르면, C는 전체 순위에서는 12위에 올라있고, 프로그래밍 언어들 중에서는 8위를 차지하고 있습니다.
구글 트렌드에서도 C는 지난 5년 동안 비교적 꾸준한 관심을 받아왔다는 사실을 보여주고 있습니다.
90년대로 되돌아가보면, 비즈니스용 애플리케이션들은 주로 C++을 이용해서 개발되었는데, C++은 상당히 복잡했으며, 플랫폼에 따라서 개발 환경도 달랐습니다. 선(SUN) 마이크로시스템스에 근무하던 제임스 고슬링(James Gosling)과 팀원들이 자바라는 언어를 선보이면서, 비즈니스용 애플리케이션 개발에 대한 문턱을 낮추었습니다. 자바는 훨씬 간단하면서도 객체 지향적이고, 컴파일러가 아닌 인터프리터(interpreter) 방식의 프로그래밍 언어였으며, 다중 스레드(thread)도 지원했습니다.
그리고 자바 가상 기계(Java VIrtual Machine, JVM)라는 것이 개발되면서 자바는 어떤 플랫폼에서도 쉽게 사용할 수 있게 되었습니다. JVM 덕분에 개발자들은 운영체제(OS) 수준에서의 작업을 신경 쓰지 않아도 되었고, 그래서 자바는 '한번 작성하면 어디에서든 실행할 수 있는' 최초의 프로그래밍 언어가 되었습니다. 그리고 JVM에서는 가비지 컬렉션(garbage collection)이라는 기능을 제공했는데, 이는 프로그램으로 생성된 객체의 수명 주기를 JVM이 알아서 관리해 준다는 것입니다.
최근 몇 년 동안, 파이썬이나 자바스크립트와 같은 개발자 친화성이 뛰어난 언어들의 인기가 치솟으면서 자바는 시장의 상당 부분을 내주었습니다. JVM은 덩치가 상당히 큰 편이기 때문에, 클라우드에서 사용하기에도 좋은 편은 아닙니다. 게다가 자바의 소유권을 가진 오라클(Oracle)이 최근에 자바 개발도구인 JDK에 대해 고액의 라이선스 비용을 부과하기 시작하면서 앞으로 자바의 인기는 더욱 떨어질 것으로 보입니다.
다행스러운 점이라면, 자바는 자신들이 가진 단점을 보완하고 있으며, 그랄VM(GraalVM)을 통해서 클라우드에 적합한 언어로 거듭나기 위해 노력하고 있습니다. 그리고 오라클의 유료 JDK 말고도, 오픈 JDK(Open JDK)라는 무료 개발도구도 이용할 수 있습니다.
지난 몇 년 동안 자바의 인기가 줄어들긴 했지만, 티오베 사이트의 아래 데이터에서 볼 수 있듯이 여전히 많은 사람들이 찾고 있습니다.
깃허브의 저장소 기여도에 따르면, 자바는 2014년부터 2018년까지는 2위 자리를 유지하고 있다가 작년에 3위로 내려앉았습니다.
또 다른 프로그래밍 언어 순위 웹사이트인 PYPL에서는 가장 인기 있는 프로그래밍 언어로 자바를 2위에 올려놓고 있습니다.
스택오버플로 개발자 설문조사에서도 자바는 상위권을 차지하고 있는데, 자바보다 상위에 있는 프로그래밍 언어는 자바스크립트와 파이썬뿐입니다.
구글 트렌드에 의하면, 자바는 지난 5년 동안 계속해서 인기가 줄어들고 있습니다.
1990년대에 귀도 반 로섬(Guido van Rossum)이라는 사람이 자신의 사이트 프로젝트로 파이썬을 개발했을 때, 언젠가 이 언어가 매우 인기 있는 가장 인기 있는 언어들 중 하나가 될 거라고 생각한 사람은 아무도 없었습니다. 하지만 오늘날 여러 순위와 업계의 트렌드를 고려했을 때, 1순위로 인기 있는 프로그래밍 언어는 파이썬이 차지했는데요. 파이썬은 자바(Java)나 C/C#처럼 나오자마자 인기가 급격하게 상승하지는 않았습니다. 하지만 파이썬은 초창기 때부터 개발자의 경험에 초점을 맞추었고, 어린 학생들도 실제로 코딩을 할 수 있을 정도로 프로그래밍에 대한 진입 문턱을 낮추려고 노력했습니다. 2008년에 파이썬은 대대적인 개선과 점검을 통해서 커다란 변화를 이뤄냈는데, 이렇게 해서 현재와 같은 파이썬 3가 선보이게 되였습니다.
▷ 핵심적인 특징
파이썬의 장점은 생산성이 높고, 우아하며, 단순하지만, 강력한 언어라는 것입니다. 파이썬은 개발자 경험이라는 측면에서 가장 중요한 기준을 수립했고, 고(GO)나 줄리아(Julia)와 같은 현대적인 언어에도 많은 영향을 주었습니다.
C/C++과의 통합성도 아주 뛰어나기 때문에 CPU에 과도하게 부담을 주는 작업은 C/C++로 쉽게 구현할 수 있습니다. 그리고 파이썬에는 넘파이(NumPy), 판다스(Pandas), 싸이파이(sciPy), 싸이킷런(Scikit-learn)과 같은 다양한 라이브러리들이 있기 때문에 수학, 통계, 컴퓨터 과학을 위한 강력한 도구가 될 수 있습니다. 그래서 현재 머신 러닝, 딥 러닝, 데이터 사이언스 분야를 비롯한 수많은 과학 영역에서 파이썬이 지배적인 언어가 될 수 있었습니다.
파이썬은 개발자 커뮤니티도 매우 활성화되어 있고, 지원체계도 좋습니다. 여러분이 기업용 애플리케이션을 개발하든, 데이터 사이언스 분야에서 일하고 있든, 인공지능 분야에서 연구를 진행하고 있는가에 관계없이, 여러분이 필요한 라이브러리와 프레임워크를 얼마든지 찾을 수 있습니다.
▷ 인기
지난 몇 년 동안 파이썬에 대한 수요가 엄청나게 증가하면서, 그 인기가 식을 줄 모르고 있습니다. 파이썬이 상당한 인기를 얻으면서, 프로그래밍 언어 순위 사이트인 PYPL에서는 2019의 프로그래밍 언어 1순위로 파이썬을 선정했습니다.
깃허브(GitHub)의 저장소(repository)에 기여한 정도에 따른 순위를 보면, 파이썬은 자바를 제치고 2번째로 인기 있는 언어로 꼽혔습니다.
그리고 스택오버플로(StackOverflow)에서 개발자들을 대상으로 실시한 설문조사에 따르면, 파이썬은 2번째로 많은 인기를 얻고 있었습니다. (전체 기술 분야에서는 4위)
또 다른 프로그래밍 언어 순위 사이트인 티오베(TIOBE)에서는 작년에 인기가 크게 오른 파이썬이 3위에 올랐습니다.
깃허브의 옥토버스(Octoverse)에 따르면, 파이썬을 사용하는 사례가 50%나 늘어나면서, 올해의 랭킹이 더 크게 올라갈 가능성이 있습니다.
스택오버플로의 설문조사에서는 개발자들이 가장 사랑하는 언어로 파이썬이 2위에 선정되기도 했습니다.
주류의 위치에 있는 프로그래밍 언어들 대부분은 나온지 오래된 경우가 많기 때문에, 지금은 순위를 유지하고 있는 정도이거나 하락세에 있습니다. 그렇지만 파이썬은 예외인데, 구글 트렌드에서 분명하게 볼 수 있듯이 지난 5년 동안 계속해서 인기가 상승하고 있기 때문입니다.
지금까지 '2020년을 이끌어나갈 인기 프로그래밍 언어 TOP3'를 알아보았습니다. 서두에서도 말씀드렸듯, 설문 조사기관에 따라 차이는 있으나, 데이터를 통해 파이썬과 자바 그리고 C언어는 꾸준히 인기있다는 것을 확인할 수 있었는데요. 개발 프로젝트를 진행하고자 하시는 클라이어트님께도 그리고 개발 기술을 가지고 계신 파트너님께도 유익한 정보였길 바랍니다.
> 이 글은 'Top 10 In-Demand programming languages to learn in 2020', 'IEEE Spectrum ranked the top trending programming languages'를 각색하여 작성되었습니다.