본문으로 바로가기

2021년 프로그래밍 언어 순위 및 전망

category Program/Etc 2020. 11. 28. 01:09
올해는 정말 개발에 대한 관심이 뜨거웠던 한 해 였습니다. 급속도로 발전하는 IT산업과 더불어 코로나로 인해 소위 말하는 언택트 시대가 앞당겨 지면서 개발업무에 관심도가 전공자, 비전공자 관계없이 상당히 높아졌습니다. 실제로 쿠팡에서는 신입 개발자 초봉을 6천만원으로 올리기도 하고 여러 회사에서 IT관련 인력을 많이 채용하고 있으나 개발인력이 부족할 지경이죠. 이를 증명하듯 카카오, 네이버의 주가는 코로나에도 불구하고 올초에 비해 2.5배 이상씩 상승하기도 했습니다. 
 
프로그래밍 언어 공부를 시작하거나, 혹은 새로운 프로젝트를 시작할때 언어와 플랫폼의 선택은 굉장히 중요합니다. IT기술의 발전에 따라 프로그래밍 언어 역시 끊임없이 진화하고 있으며 이에 따라 더 강력하고 각각의 특성을 가진 새로운 언어들이 생겨나는 상황에서, 현존하는 수많은 언어와 플랫폼 중 하나를 선택하는 것은 쉬운일이 아닙니다.
 
 이러한 결정에 도움이 될 수 있도록 티오베(TIOBE)에서 프로그래밍 언어별 인기도를 나타내는 지수를 매달 공개하고 있습니다. 티오베는 소프트웨어 코드 품질을 관리해주는 업체로 꽤 오랫동안 데이터를 수집, 분석했기 때문에 신뢰도가 있어 동향을 파악하는데 있어 유용한 자료입니다. 평가는 전 세계의 숙련 된 엔지니어, 코스 및 타사 공급 업체의 수를 기반으로 진행되며  Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube 및 Baidu와 같은 대형 검색 엔진이 등급을 계산하는 데 사용됩니다.
 
이 지수의 추이를 분석하여 어떤 프로그래밍 언어를 채택 해야할지 전략적 결정을 내리는 데 도움이 될 수 있습니다. 그럼 20년 11월에 공개된 지표를 기준으로 2021년 프로그래밍 언어 순위와 전망을 살펴보겠습니다.
 
Top 20 ( 2020년 11월 기준 )
Nov 2020 Nov 2019 Change Programming Language Ratings Change
1 2 change C 16.21% +0.17%
2 3 change Python 12.12% +2.27%
3 1 change Java 11.68% -4.57%
4 4   C++ 7.60% +1.99%
5 5   C# 4.67% +0.36%
6 6   Visual Basic 4.01% -0.22%
7 7   JavaScript 2.03% +0.10%
8 8   PHP 1.79% +0.07%
9 16 change R 1.64% +0.66%
10 9 change SQL 1.54% -0.15%
11 14 change Groovy 1.51% +0.41%
12 21 change Perl 1.51% +0.68%
13 20 change Go 1.36% +0.51%
14 10 change Swift 1.35% -0.31%
15 11 change Ruby 1.22% -0.04%
16 15 change Assembly language 1.17% +0.14%
17 19 change MATLAB 1.10% +0.21%
18 13 change Delphi/Object Pascal 0.86% -0.28%
19 12 change Objective-C 0.84% -0.35%
20 32 change Transact-SQL 0.82%

+0.44%

1위는 C 입니다. 
올해 초만 해도 JAVA가 점유율 1위였으나 파이썬이 JAVA의 점유율을 많이 가져가서 C가 안정적으로 1위를 차지했네요.
C언어는 아시다시피 오래전부터 꾸준히 사용되던 언어입니다.  메모리 최적화에 따른 퍼포먼스가 뛰어나기 때문에 최근 엄청나게 늘어난 사물인터넷(IoT)의 소형 디바이스나 Iot가 접목된 차량등의 임베디드 시스템에 여전히 많이 사용되고 있습니다.  프로그램 최적화가 필수인 임베디드 장비가 늘어남에 따라 C언어나 어셈블리어는 앞으로도 꾸준히 사용될 것 같네요.
 
2위는 무서운 상승세의 파이썬(Python) 입니다.
JAVA의 점유율을 계속 가져오더니 파이썬이 드디어  C / Java 1,2위 구도를 깨고 2위로 올라섰습니다. TIOBE에서 해당 지수를 측정한지 20년만에 처음으로 C / Java 외에 다른언어가 2위권으로 진입한거라고 하니 얼마나 대단한 일인지 감이 오실겁니다.
파이썬(Python)은 1991년에 발표된 인터프리터 방식의 프로그래밍 언어로 문법이 쉽고 단순함을 추구한 높은 가독성 등 처음 프로그래밍을 배울 때 추천되는 언어 입니다. 국내에서도 이제 꽤나 알려진 언어로 해외에서는 이미 공대 프로그래밍 입문 교육 등 학습용으로도 적극적으로 사용되고 있습니다. 그리고 범용성과 높은 생산성을 가지고 있어 딥러닝 분야 등 실무에서도 이미 많이 사용하고 있어 앞으로가 더욱 기대되는 언어입니다.
 
3위는 자바(Java)가 차지했습니다. 작년에 포스팅햇을때 까지만해도 1위를 굳건하게 차지하던 JAVA가 3위로 내려왔네요.
JAVA는 국내 시장에서 유난히 많이 사용하는 언어로 국내 점유율이 특히 높습니다. 그에 비해 세계시장까지 포함시켰을때 점유율이 조금 떨어지는 걸로 알고 있었는데 여전히 1위로 높은 수치를 기록하고 있네요. 대체 가능하고 생산성까지 좋은 언어들이 많아져 점유율이 조금씩 떨어지고 있긴 하지만 앞으로도 꽤나 오랫동안 강세를 유지 할 것은 분명한 언어입니다. 지금까지 나온 수많은 레퍼런스와 레거시들을 절대 무시할 순 없기 때문이죠.
 

 

작년 한 해 순위가 급상승하여 주목해볼만한 언어는 R(16>9), Perl(21>12) Go(20>13)가 있습니다. 
9위 R은 주로 통계 및 그래프 작업을 위한 인터프리터(interpreter) 프로그래밍 언어입니다. 통계용으로 Python도 많이 사용하지만 파이썬은 조금 더 범용적인 목적의 언어로 보시면됩니다. R에서 사용할 수 있는 수많은 통계 패키지가 이미 구현되어 있어 데이터마이닝, 빅데이터, 머신러닝 등에 유용하게 사용됩니다. 그래서 요즘은 재무, 마케팅 업무 채용에도 R언어 숙련자를 찾기도 합니다. 단점으로는 언어 난이도가 조금 있는 편입니다.
 
12위 펄(Perl) 은 C와 같은 인터프리터 언어로 유닉스쪽에서는 Defatul 스크립트 언어로 기본 시스템에 들어가있는 경우가 많습니다. 작성 구문 역시  C와 유사하며 sed, AWK, 셸 스크립트 등과 같은 여러 유명한 유닉스 기능을 포함하고 있습니다. 언어 자체의 자유도가 높고 표현력도 뛰어나며 코딩도 쉽고 특히 TEXT처리를 매우 간결하게 할 수 있습니다! 단점으로는 가독성이 낮아 유지보수성이 좋지 않습니다.
 
13위 고(Go) 2009년에 구글에서 처음 발표된 후 2012년 3월에 정식 발표된 프로그래밍 언어 입니다. C++의 복잡함이 싫어서 만들어진 언어로서 특징으로 compile언어지만 컴파일러의 컴파일 속도가 빨라 인터프리터 언어처럼 사용 할 수 있다는 점입니다. 단순함과 실용성을 지향하고 있어 언어에서 사용하는 키워드도 25개 밖에 되지 않습니다. 가장 큰 단점으로는 bytecode를 생성하여 실행하는 언어가 아니므로, 바이너리를 배포할 경우 C/C++ 처럼 각각의 플랫폼에 맞게 컴파일을 해줘야 합니다.
 
이 외에 살펴볼만한 언어 로는스위프트(Swift) / 루비(Ruby) / 코틀린(Kotlin) 가 있습니다.
14위 스위프트(Swift)는  애플의 iOS와 macOS를 위한 프로그래밍 언어로 애플 OS전용 언어인 Objective-C와 함께 사용될 목적으로 2014년 발표됐으며 특장점으로 Safe(안정성), Fast(신속성), Expressive(표현성)을 내세우고 있습니다.
Java, C#의 강점을 가지고 있으면서도 가상머신 상에서 바이트코드로 실행되는 것이 아니라 C처럼 기계어로 번역되어 사용된다는 점에서 좋은 퍼포먼스를 기대 할 수 있는 언어입니다.
 
15위 루비(Ruby)는  인터프리터 형식으로 실행되는 동적 객체 지향 스크립트 언어로서  인간에게 친숙한 언어를 지향하여 간결함과 생산성을 강조한 언어입니다.  파이썬(Python)과 굉장히 유사한 면이 많으면서도 대비되는 특징들이 많아 두 언어는 자주 같이 언급되며 함께 무서운 속도로 성장하고 있습니다.
 
36위 코틀린(Kotlin)은  IntelliJ IDEA의 개발사로 유명한 JetBrains에서 만든 언어로서 JVM기반으로 동작하며 Java와 100% 상호 운용을 지원합니다. 2017년 Android 공식 개발언어로 지정하고 19년부터는 구글내부 안드로이드 프로젝트에서 java를 대체하는 등 구글에서 적극적으로 밀고 있지만 워낙 많은 선택지가 있어서 그런지 지수가 오히려 떨어졌네요. 그러나 안드로이드라는 플랫폼과 구글이 있는 이상 여전히 높은 성장 가능성이 있습니다.
 
아래 본문에 이어서 21위부터 100위까지의 언어와 30년간 평균치를 확인해 보시기 바랍니다. 그리고 작년 추이가 궁금하신 분들은 아래 포스팅을 참고해 주세요! 비교해 보시면 재밌으실거에요.

 

TOP 21~100
Position Programming Language Ratings
21 Classic Visual Basic 0.73%
22 Logo 0.72%
23 Scratch 0.63%
24 PL/SQL 0.62%
25 Rust 0.58%
26 SAS 0.58%
27 Dart 0.54%
28 COBOL 0.53%
29 Scala 0.53%
30 Julia 0.50%
31 PowerShell 0.48%
32 D 0.46%
33 ABAP 0.43%
34 Fortran 0.41%
35 Lisp 0.40%
36 Kotlin 0.38%
37 Lua 0.37%
38 Ada 0.37%
39 VHDL 0.35%
40 Prolog 0.35%
41 Haskell 0.34%
42 Apex 0.34%
43 TypeScript 0.32%
44 Bash 0.31%
45 Tcl 0.29%
46 ML 0.28%
47 Alice 0.27%
48 Scheme 0.26%
49 (Visual) FoxPro 0.25%
50 Awk 0.22%
* 이하  TOP 51~100
ABC, ActionScript, Applescript, Arc, AutoLISP, bc, Bourne shell, C shell, Clojure, CoffeeScript, Common Lisp, Crystal, cT, Dylan, Elixir, Elm, Emacs Lisp, Erlang, F#, Forth, Hack, Icon, Inform, Io, J, Korn shell, LabVIEW, Ladder Logic, Lingo, LiveCode, Maple, Mercury, MQL4, NATURAL, OpenCL, OpenEdge ABL, PL/I, PostScript, Q, REXX, Ring, RPG, Simulink, Small Basic, Solidity, SPARK, Stata, Vala/Genie, VBScript, Verilog

 

 
History (for 30 Year)
Programming Language 2020 2015 2010 2005 2000 1995 1990 1985
C 1 2 2 1 1 2 1 1
Java 2 1 1 2 3 29 - -
Python 3 6 6 7 23 9 - -
C++ 4 3 3 3 2 1 2 9
C# 5 4 5 6 10 - - -
JavaScript 6 8 10 10 7 - - -
PHP 7 7 4 4 19 - - -
SQL 8 - - - - - - -
R 9 14 46 - - - - -
Swift 10 16 - - - - - -
Lisp 30 26 15 13 8 10 6 2
Fortran 31 23 24 14 15 18 3 5
Ada 33 27 21 16 17 4 9 3
Pascal 242 15 14 17 16 3 7 6

대표 언어들의 30년간의 대략적인 순위를 확인해 볼 수 있습니다. (12개월 평균순위)
 
올해의 프로그래밍 언어
Year Winner
2019 medal C
2018 medal Python
2017 medal C
2016 medal Go
2015 medal Java
2014 medal JavaScript
2013 medal Transact-SQL
2012 medal Objective-C
2011 medal Objective-C
2010 medal Python
2009 medal Go
2008 medal C
2007 medal Python
2006 medal Ruby
2005 medal Java
2004 medal PHP
2003 medal C++

 

각 년도별로 가장 높은 평점을 얻은 프로그래밍 언어 목록입니다.
 
Reference