[보안뉴스 문정후 기자] “가장 좋은 프로그래밍 언어는 무엇일까”라고 개발자들에게 묻는다면 다들 표현은 조금씩 다를지 몰라도 이런 식으로 답할 것이다. “어디에 쓸 건지에 따라 다르지.” 이 말은 사실이다. 목적과 조건을 불문하고 늘 최고의 성능을 발휘하는 단 하나의 프로그래밍 언어라는 건 세상에 존재하지 않기 때문이다. 모바일 앱을 개발하고자 하는 사람과, 웹 앱을 개발하고자 하는 사람은 다른 언어를 선호할 가능성이 높고, 비디오 게임 개발자 역시 B2B 소프트웨어 개발자와 다른 선호도를 가지고 있을 것이다.
[이미지 = utoimage]
그러니 경력 이동이나 이직 등 새로운 기회를 노리고자 프로그래밍 언어 학습을 하려 한다면 먼저 어느 분야로 이직을 하고 싶은지부터 정하거나 파악해야 한다. 다만 누구나 이런 정석적인 코스로 하고 싶은 일을 정하고, 필요한 언어를 습득할 수 있는 건 아니다. 가끔은 자신에게 잘 맞는 프로그래밍 언어를 먼저 찾은 후에, 그것을 바탕으로 경력 이동이나 이직을 꾀하는 것도 나쁘지 않다. 그렇기 때문에 여기 저기서 가장 ‘좋은’ 프로그래밍 언어의 목록을 만들어 주기적으로 발표하는 것이다.
본지에서는 다음 목록들을 참고하여 현재 시점에서 가장 배워볼 만한 프로그래밍 언어들 10가지를 순서대로 추려 보았다.
1) 티오비 인덱스(Tiobe Index) : 프로그래밍 언어와 관련된 자료로서는 가장 유명한 참고 자료 중 하나다. 25개 검색엔진들에서 사람들이 검색한 횟수를 바탕으로 매달 집계된다.
2) PYPL 프로그래밍 언어 인기 인덱스 : 티오비와 마찬가지로 매달 한 번씩 집계되는 것으로, ‘코딩 학습’과 관련된 검색의 빈도수를 바탕으로 이뤄진다.
3) 레드몽크(RedMonk) 프로그래밍 언어 랭킹 : 1년에 두 번 최신화 된다. 깃허브 리포지터리들과 스택 오버플로우(Stack Overflow)라는 개발 커뮤니티에서 진행된 대화들을 바탕으로 집계된다.
4) 깃허브 옥토버스(GitHub Octoverse) : 1년에 한 번 갱신되는데, 깃허브 리포지터리에서 가장 많이 등장한 순서대로 언어의 인기도를 집계한다.
5) 스택 오버플로우 : 개발자들 사이에서 매우 인기가 높은 사이트로, 개발자들이 자신은 어떤 언어를 좋아하고 싫어하고 사용하는지를 자주 나누고 공개한다.
6) 인디드닷컴(Indeed.com) : 직업 검색 사이트로, 공고문들을 바탕으로 언어의 인기와 중요도를 분석한다.
7) 코딩도조(Codeing Dojo) : 기업들의 공고와 채용 현황을 바탕으로 언어의 순위를 결정한다.
이 모든 자료들 하나하나가 갖는 의미도 대단하지만, 그 자료들을 전부 합쳤을 때 더욱 신뢰할 만한 결과가 나온다. 지금, IT 업계에서는 어떤 언어들이 좋은 대접을 받고 있을까? 10위부터 1윌까지를 소개한다.
10위 : 알(R)
2021년에는 7위에 올랐던 언어다. 그 때에 비해 살짝 순위가 떨어진 감이 있긴 하지만 티오비와 PYPL 목록에서는 여전히 상위권에 올라 있다. 티오비 목록에서는 2021년에 비해 순위가 상승했고(16위에서 12위), PYPL 목록에서는 꾸준히 7위 정도에 머물러 있다. 다만 코딩도조에서는 2021년 알을 높은 순위에 올려뒀다가 올해 목록에서 완전히 빼버렸다.
알은 다목적 프로그래밍 언어는 아니다. 특수한 목적을 가지고 만들어진 언어인데, 주로 통계 분석, 데이터 마이닝, 데이터 시각화에 특화되어 있다. 그렇기 때문에 알은 데이터 전문가들 사이에서 주로 인기가 높은 편이며, 데이터 과학이라는 분야가 약진하면서 덩달아 주가가 상승했다.
공동 8위 : 스위프트(Swift)
2021년에는 8위에 올랐던 언어다. 즉, 2년 전이나 지금이나 여러 모로 비슷한 수준으로 인기와 중요도를 유지하고 있다는 뜻이 된다. 티오비와 PYPL 인덱스에서도 2021년과 현재의 랭킹이 동일하다. 티오비에서는 15위, PYPL에서는 9위 수준에서 변동이 거의 없다.
스위프트의 꾸준한 인기 순위의 비결은 무엇일까? iOS와 맥OS 환경에서 호환성 높게 작동하는 언어라는 것과 상관이 있다. 애플 제품이 시장에서 꾸준한 인기를 유지하니 스위프트도 그런 인기를 유지하는 것이다. 애플 생태계 바깥에서 스위프트는 그리 널리 알려지지 않은 언어다.
애플이 오브젝티브C(Objective C)의 대체재로서 스위프트를 직접 개발한 건 2014년의 일이다. 그 때부터 아이폰, 아이패드, 애플TV, 애플 워치 생태계의 개발자들은 서서히 스위프트 쪽으로 옮겨가기 시작했다. 윈도, 리눅스, 안드로이드에서도 스위프트를 사용할 수는 있지만 현재까지는 애플 생태계에서만 사용되다시피 한다.
공동 8위 : 타입스크립트(TypeScript)
2021년에는 11위에 올랐던 언어다. 하지만 그 후 계속해서 인기가 올라갔고, 위에서 언급한 거의 모든 목록에서 10위권 안에 들어갈 정도로 성장했다. 다만 티오비 인덱스에서 43위를 차지한 것 때문에 이번 기사에서는 비교적 낮은 순위를 기록하게 되었다.
타입스크립트는 일종의 자바스크립트다. 오픈소스 언어이며, 자바스크립트를 활용한 개발 행위를 보다 쉽고 빠르게 해 준다. 특히 차기 자바스크립트 버전을 통해 등장할 것으로 보이는 여러 기능들이 먼저 활성화 된다는 장점을 가지고 있다. 자바스크립트의 강력함을 보다 쉽게 활용하고자 하는 개발자들 사이에서 인기가 높다.
7위 : 고(Go)
2021년에는 9위를 차지했던 언어다. 하지만 최근 몇 년 동안 개발자들 사이에서 큰 주목을 받기 시작한 것이 반영되었다. 티오비와 PYPL 인덱스에서는 2021년 14위였다가 올 해 모두 11위에 들었다. 고는 최근 멀웨어 개발자들 사이에서 인기가 많은 것 역시 주목할 만한 특징이다.
고는 다기능 다목적 프로그래밍 언어다. 구글이 개발했으며, 2012년 일반 대중들에게 공개됐다. C 기반 언어들을 보다 효율적으로 다루기 위한 목적으로 만들어졌다. C 언어들을 그대로 사용할 때보다 훨씬 쉽고 편리하며, 속도도 빠르기 때문에 인기가 급속도로 오르는 중이다. 클라우드 서비스, 사이버 보안, 게임, 데이터 과학, 인공지능 등 여러 분야에서 활용 가능하다는 점이 가장 큰 장점으로 손꼽힌다.
6위 : PHP
2021년에도 6위를 했었다. 꾸준하게 인기가 높은 언어로, 개발자들 사이에서는 오래 전부터 유명했다. 위에 언급한 목록들 중 레드몽크의 경우 4위에 PHP를 올렸을 정도다. PHP는 오래된 언어이며 많은 개발자들이 사용하고 있긴 하지만 아직 5위권에 속한 언어들과는 꽤 큰 격차를 보이고 있어 의외다.
PHP는 오픈소스의 서버사이드 스크립팅 언어로, 웹 애플리케이션 개발 시에 특히 널리 활용된다. 현존하는 웹사이트들 중 77.5%가 PHP를 직접 혹은 간접적으로 사용하고 있기도 하다. 일부 다른 프로그래밍 언어들과도 통합이 가능하며, 여러 종류의 데이터베이스와도 무리 없이 호환된다. 이런 활용가능성이 PHP의 꾸준히 높은 인기의 비밀이다.
5위 : C#
2021년에는 4위를 했다. C#와 C/C++은 위에서 언급된 여러 자료들에서 고루 상위권을 차지했다. 다만 C#의 경우 거의 모든 목록에서 2021년 대비 2023년 순위가 비슷할 정도로 안정적인 모습을 보이고 있다는 것은 사뭇 다르다. 티오비, PYPL, 레드몽크, 깃허브 모두에서 C#은 5위권 안에 안착했다.
C#은 2000년에 개발된 언어로 C 및 C++와 매우 유사하다. 다용도로 사용될 수 있는 다목적 언어이며, 실제 다방면에서 사용되고 있다. 비디오 게임과 웹 애플리케이션 개발, 모바일 애플리케이션 개발 등 분야를 가리지 않는다. 하지만 MS의 윈도 플랫폼을 위한 애플리케이션 개발에 가장 많이 활용되고 있다.
4위 : C/C++
2021년에는 5위를 차지했었다. 2년 만에 한 단계 오른 것으로, 전체적으로는 C#과 비슷한 순위를 유지하고 있다는 점도 재미있다. C와 C++은 사실 다른 언어이지만 대부분의 프로그래밍 언어 목록에서 묶이는 건, 둘이 매우 유사하기 때문이다. 또한 둘 다 높은 순위를 기록한다는 점에서도 비슷하다. 티오비 인덱스에서 C는 2위, C++는 3위에 올랐다. 인디드닷컴에서는 두 언어가 공동으로 1위에 올랐다.
C와 C++ 모두 다목적 언어다. C#과는 비교도 되지 않을 만큼 긴 역사를 가지고 있기도 하다. C와 C++은 얼마나 비슷한지, C로 만들어진 프로그램의 99%를 C++로도 돌릴 수 있다. 그것도 아무런 변경 작업 없이 말이다. 다만 C는 구조적 프로그래밍 언어로, 클래스를 지원하지 않는다는 차이점을 가지고 있다. C++은 객체 지향 언어이기 때문에 클래스를 지원한다.
3위 : 자바(Java)
2021년에도 3위를 기록했다. 여전히 세계에서 한 손에 꼽히는 인기를 누리고 있는 언어로 남아 있는 것이다. 위에서 언급한 목록 모두에서 높은 순위(2~3위)를 기록했으나 그 어떤 것도 1위에 자바를 올리지는 않고 있다. 그 때문에 이번 목록에서도 3위에 그치게 됐다.
자바는 1995년 처음으로 등장한 언어로, 그 때부터 세계에서 가장 인기 높은 언어 중 하나로 계속해서 군림해 왔다. 다재다능한 언어로, 모든 상황에서 사용이 가능하지만 특히 모바일 앱 개발 분야에서 널리 사용된다. 안드로이드 애플리케이션들 중 상당수가 자바로 만들어졌다. 자바는 플랫폼에 대한 의존성이 전혀 없어, 한 번 만들어진 소프트웨어를 다양한 플랫폼에서 실행할 수 있다. 이것이 자바의 인기 지분을 상당히 차지한다.
2위 : 자바스크립트(JavaScript)
2021년에도 2위를 차지했다. 올해에는 위에서 언급한 7개 목록 중 3개에서 1위를 차지했다. 그렇기에 이번 목록에서도 거의 1위를 차지할 뻔 했으나 티오비 인덱스에서 7위를 기록하는 바람에 아쉽게 놓쳤다. 이 말은 1위를 해도 이상하지 않다는 것이고, 1~2위의 차이가 근소하다는 뜻이 된다.
자바스크립트는 스크립팅 언어 중 하나로 프론트엔드 웹 개발에 특히 유용하다. 웹 브라우저를 가리지 않고 기능한다는 점이 가장 큰 장점이자 강점이다(이를 ‘이식성(portability)’이 뛰어나다고 한다). 자바스크립트의 또 다른 강점은 배우기 쉽다는 것이다. 프로그래밍 초보자들이 가장 많이 배우는 언어가 자바스크립트인 데에는 이러한 이유가 있다.
1위 : 파이선(Python)
2021년에도 1위를 기록했고, 여전히 1위를 기록 중인, 현 시대의 대세 언어다. 파이선이 1위 자리를 놓치지 않은 지 이미 수년이 지나고 있다. 위에서 언급한 7개 목록 중 파이선을 4위 이하로 둔 것은 하나도 없다. 3개 목록에서 1위를 기록하기도 했다.
다목적, 다기능을 가진 언어가 여러 개 존재하지만 파이선만큼 유연하게 여러 가지 목적으로 활용 가능한 언어는 그리 많지 않다. 수많은 기능을 수행할 수 있으며, 수많은 모습으로 변신할 수도 있다. 웹 개발, 자동화, 데이터 분석, 머신러닝, 소프트웨어 실험 등 파이선을 활용할 수 있는 분야에는 그 어떤 제약도 없는 것처럼 보인다. 특히 어떤 분야에서 많이 사용된다는 것도 딱히 존재하지 않는다. 배우기도 쉬워 대학 학부에서 초심자용 과목으로 널리 선택되는 편이다.
글 : 신시아 하비(Cynthia Harvey), IT 칼럼니스트
[국제부 문정후 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>