회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
전 세계에 있는 프로그래밍 언어의 수는 얼마나 될까요? 약 600가지 정도가 있다고 하는데요. 프로그래밍 언어들도 매년 그 수요와 인기가 변동을 거듭하고 있습니다. 그리고 새로운 프로그래밍 언어들도 또 다른 매력으로 계속해서 생겨나고 있죠. 그렇다면 올해는 어떤 프로그래밍 언어가 인기를 끌지 궁금해지는데요.
이번 시간에는 IEEE 스펙트럼 (IEEE Spectrum)에서 발표한 보고서를 바탕으로 2020년을 이끌 인기 프로그래밍 언어 TOP3를 알려드리겠습니다. 물론, 조사 기관에 따라 프로그래밍 언어의 순위가 달라질 수 있기 때문에 각 프로그래밍 언어가 어느 정도의 인기인지 가늠해볼 수 있는 자료들도 함께 준비했습니다. 지금 바로 만나보세요:)
1960년대와 1970년대까지만 하더라도 컴퓨터는 상당히 비싸고 귀한 장비였습니다. 그래서 CPU를 한 번 돌리는 작업이나 1바이트의 메모리도 상당히 비쌌기 때문에 하드웨어를 최대한 효율적으로 다루는 방법이 필요했습니다. 그래서 벨 연구소의 엔지니어였던 데니스 리치(Dennis Ritche)는 1969년부터 기계어로 직접 컴파일 할 수 있는 일반적인 용도의 프로그래밍 언어를 개발하기 시작했는데, 이렇게 해서 그는 1973년에 C라는 절차 지향 프로그래밍 언어를 완성하게 되었습니다. 이렇게 세상에 나온C언어로 프로그래밍을 하면 메모리의 아주 낮은 수준에까지 접근할 수 있었고, 기본적인 하드웨어도 완벽하게 제어할 수 있게 되었습니다.
물론 C는 상당히 복잡하고, 불안정하며, 기능이 많지 않다는 비판을 받기도 합니다. 그리고 C는 플랫폼에 따라서 (사용하는 함수나 명령어가 다른) 의존성이 있기 때문에, 다른 플랫폼으로 포팅(이전)을 할 수 없습니다. 예를 들어, 리눅스(Linux) 환경에서 작성된 코드를 윈도우 환경에서 그대로 컴파일 할 수 없습니다. 하지만 하드웨어를 최대한 활용하고 싶다면, C나 C++, 또는 러스트(Rust)를 이용하는 것이 가장 좋은 방법입니다.
▷ 핵심적인 특징
C언어는 메모리를 아주 기본적인 단위까지 접근할 수 있고, 기계가 직접 이해할 수 있는 코드로 컴파일 되기 때문에, 속도도 빠르고 강력한 프로그래밍 언어 중 하나라고 할 수 있습니다.
C는 기본적인 하드웨어들을 완벽하게 제어할 수 있습니다. 또한 모든 플랫폼을 지원하기 때문에, GPU(그래픽 처리 장치), TPU(텐서 처리 장치), 저장 장치, 클라우드, 모바일 기기, 마이크로 컨트롤러 등 어떤 종류의 하드웨어라도 제어할 수 있습니다.
뿐만 아니라 C는 '프로그래밍 언어들의 프로그래밍 언어'입니다. 즉, 루비(Ruby), PHP, 파이썬(Python)과 같은 수많은 프로그래밍 언어들의 컴파일러가 C로 작성되었습니다.
▷ 인기
C는 여기에서 다루고 있는 모든 언어들 중에서 가장 오래된 프로그래밍 언어이며, 47년이 넘는 기간 동안 컴퓨터 산업을 지배해왔습니다. 티오베(TIOBE)의 장기간 순위 기록에서 확실하게 볼 수 있듯이, C는 다른 어떤 언어들보다도 오랫동안 많은 인기를 누려온 프로그래밍 언어입니다.
티오베 순위에 따르면, C는 2019년도에도 많은 인기를 얻으면서 인기 순위에서 2위를 차지하고 있습니다.
깃허브의 저장소에 기여한 정도에 따라서 산출한 옥토버스의 순위를 보면, C는 가장 인기 있는 언어들 중에서 9위에 올라 있습니다.
스택오버플로(StackOverflow)에서 개발자들을 대상으로 실시한 설문조사에 따르면, C는 전체 순위에서는 12위에 올라있고, 프로그래밍 언어들 중에서는 8위를 차지하고 있습니다.
구글 트렌드에서도 C는 지난 5년 동안 비교적 꾸준한 관심을 받아왔다는 사실을 보여주고 있습니다.
그리고 자바 가상 기계(Java VIrtual Machine, JVM)라는 것이 개발되면서 자바는 어떤 플랫폼에서도 쉽게 사용할 수 있게 되었습니다. JVM 덕분에 개발자들은 운영체제(OS) 수준에서의 작업을 신경 쓰지 않아도 되었고, 그래서 자바는 '한번 작성하면 어디에서든 실행할 수 있는' 최초의 프로그래밍 언어가 되었습니다. 그리고 JVM에서는 가비지 컬렉션(garbage collection)이라는 기능을 제공했는데, 이는 프로그램으로 생성된 객체의 수명 주기를 JVM이 알아서 관리해 준다는 것입니다.
최근 몇 년 동안, 파이썬이나 자바스크립트와 같은 개발자 친화성이 뛰어난 언어들의 인기가 치솟으면서 자바는 시장의 상당 부분을 내주었습니다. JVM은 덩치가 상당히 큰 편이기 때문에, 클라우드에서 사용하기에도 좋은 편은 아닙니다. 게다가 자바의 소유권을 가진 오라클(Oracle)이 최근에 자바 개발도구인 JDK에 대해 고액의 라이선스 비용을 부과하기 시작하면서 앞으로 자바의 인기는 더욱 떨어질 것으로 보입니다.
다행스러운 점이라면, 자바는 자신들이 가진 단점을 보완하고 있으며, 그랄VM(GraalVM)을 통해서 클라우드에 적합한 언어로 거듭나기 위해 노력하고 있습니다. 그리고 오라클의 유료 JDK 말고도, 오픈 JDK(Open JDK)라는 무료 개발도구도 이용할 수 있습니다.
▷ 핵심적인 특징
자바는 강력하면서도 풍부한 기능을 가지고 있고, 다중 패러다임을 지원하는 인터프리터 방식의 프로그래밍 언어입니다. 그리고 언어를 배우는 것도 어렵지 않고, 개발자들에게는 높은 생산성을 가질 수 있게 해줍니다.
자바는 비즈니스 애플리케이션에서 매우 중요한 사항이라고 할 수 있는 하위호환성을 철저하게 지키고 있습니다. 자바는 파이썬이나 스칼라(Scala)처럼 크게 바뀐 적도 없습니다. 그래서 자바가 기업용 애플리케이션 분야에서는 부동의 1위를 차지하고 있는 것입니다.
자바의 실행 환경인 JVM은 소프트웨어 공학이 거둔 눈부신 성과이며, 관련 산업에서 선보였던 최고의 가상 기계(VM)들 중 하나라고 할 수 있습니다. 25년이라는 혁신과 발전의 과정을 거치면서 JVM은 자바라는 언어가 뛰어난 성능과 기능을 발휘할 수 있게 해주고 있습니다. 그리고 JVM은 가비지 컬렉션과 같은 고급 기능 역시도 자바에게 제공해 주고 있습니다.
▷ 인기
자바는 처음 선보인 후 5년 만에 가장 인기 있는 프로그래밍 언어 3위에 올랐으며, 이후 20년 동안 언제나 TOP3안에서 순위를 지켜왔습니다. 티오베(TIOBE) 의 장기간 순위를 보면 자바의 꾸준한 인기를 짐작할 수 있습니다.
지난 몇 년 동안 자바의 인기가 줄어들긴 했지만, 티오베 사이트의 아래 데이터에서 볼 수 있듯이 여전히 많은 사람들이 찾고 있습니다.
깃허브의 저장소 기여도에 따르면, 자바는 2014년부터 2018년까지는 2위 자리를 유지하고 있다가 작년에 3위로 내려앉았습니다.
또 다른 프로그래밍 언어 순위 웹사이트인 PYPL에서는 가장 인기 있는 프로그래밍 언어로 자바를 2위에 올려놓고 있습니다.
스택오버플로 개발자 설문조사에서도 자바는 상위권을 차지하고 있는데, 자바보다 상위에 있는 프로그래밍 언어는 자바스크립트와 파이썬뿐입니다.
구글 트렌드에 의하면, 자바는 지난 5년 동안 계속해서 인기가 줄어들고 있습니다.
▷ 핵심적인 특징
파이썬의 장점은 생산성이 높고, 우아하며, 단순하지만, 강력한 언어라는 것입니다. 파이썬은 개발자 경험이라는 측면에서 가장 중요한 기준을 수립했고,고(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'를 각색하여 작성되었습니다.