본문으로 바로가기

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

category Program/Etc 2021. 11. 28. 16:39
 급속도로 발전하는 IT산업과 더불어 코로나로 인해 소위 말하는 언택트 시대가 앞당겨 지면서 개발업무에 관심도가 전공자, 비전공자 관계없이 상당히 높아졌습니다. 가상화폐,메타버스, NFT등 요즘 화두가 되는 대부분의 이슈가 IT에 밀접하게 연관되어 있는 만큼  IT를 기반으로 하는 쿠팡,네이버,카카오나 엔씨소프트,크래프톤 등의 회사에서 개발 인력을 늘리기 위해 신입 개발자 초봉을 5~6천만원 수준으로 올리기도 하였습니다. 
 
프로그래밍 언어 공부를 시작하거나, 혹은 새로운 프로젝트를 시작할때 언어와 플랫폼의 선택은 굉장히 중요합니다. IT기술의 발전에 따라 프로그래밍 언어 역시 끊임없이 진화하고 있으며 이에 따라 더 강력하고 각각의 특성을 가진 새로운 언어들이 생겨나는 상황에서, 현존하는 수많은 언어와 플랫폼 중 하나를 선택하는 것은 쉬운일이 아닙니다.
 
 이러한 결정에 도움이 될 수 있도록 티오베(TIOBE)에서 프로그래밍 언어별 인기도를 나타내는 지수를 매달 공개하고 있습니다. 티오베는 소프트웨어 코드 품질을 관리해주는 업체로 꽤 오랫동안 데이터를 수집, 분석했기 때문에 신뢰도가 있어 동향을 파악하는데 있어 유용한 자료입니다. 평가는 전 세계의 숙련 된 엔지니어, 코스 및 타사 공급 업체의 수를 기반으로 진행되며  Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube 및 Baidu와 같은 대형 검색 엔진이 등급을 계산하는 데 사용됩니다.
 
이 지수의 추이를 분석하여 어떤 프로그래밍 언어를 채택 해야할지 전략적 결정을 내리는 데 도움이 될 수 있습니다. 그럼 21년 12월에 공개된 지표를 기준으로 2022년 프로그래밍 언어 순위와 전망을 살펴보겠습니다.
 
Top 20 (2021년 12월 기준)
Dec 2021 Dec 2020 Change Programming Language Ratings Change
1 3 change Python 12.90% +0.69%
2 1 change C 11.80% -4.69%
3 2   Java 10.12% -2.41%
4 4   C++ 7.73% +0.82%
5 5   C# 6.40% +2.21%
6 6   Visual Basic 5.40% +1.48%
7 7   JavaScript 2.30% -0.06%
8 12 change Assembly language 2.25% +0.91%
9 10 change SQL 1.79% +0.26%
10 13 change Swift 1.76% +0.54%
11 9 change R 1.58% -0.01%
12 8 change PHP 1.50% -0.62%
13 23 change Classic Visual Basic 1.27% +0.56%
14 11 change Groovy 1.23% -0.30%
15 15   Ruby 1.16% -0.01%
16 18 change Delphi/Object Pascal 1.14% +0.27%
17 32 change Fortran 1.04% +0.59%
18 14 change Perl 0.96% -0.24%
19 16 change Go 0.95% -0.19%
20 17 change MATLAB 0.92% -0.18%
 
1위는 파이썬(Python) 입니다.
C와 JAVA의 점유율을 계속 가져오던 파이썬이 C/Java 1,2위 구도를 깨고 2위로 올라선지 1년 만에 결국 C언어 마저 제치고 1위를 차지했습니다. TIOBE에서 해당 지수를 측정한지 20년 만에 처음으로 C/Java 외에 다른 언어가 1위를 차지했다고 하네요.
 파이썬(Python)은 1991년에 발표된 인터프리터 방식의 프로그래밍 언어로 문법이 쉽고 단순함을 추구한 높은 가독성 등 처음 프로그래밍을 배울 때 추천되는 언어 입니다. 국내에서도 이제 꽤나 알려진 언어로 해외에서는 이미 공대 프로그래밍 입문 교육 등 학습용으로도 적극적으로 사용되고 있습니다. 그리고 범용성과 높은 생산성을 가지고 있어 딥러닝 분야 등 실무에서도 이미 많이 사용하고 있어 앞으로가 더욱 기대되는 언어입니다.

2위는 C 입니다.
올해 초만 해도 1위를 치지고 있었지만 점유율 1위였으나 C#과 파이썬이 점유율을 많이 가져가서 C언어가 2위를 차지했습니다.
 C언어는 아시다시피 오래전부터 꾸준히 사용되던 언어입니다.  메모리 최적화에 따른 퍼포먼스가 뛰어나기 때문에 최근 엄청나게 늘어난 사물인터넷(IoT)의 소형 디바이스나 Iot가 접목된 차량등의 임베디드 시스템에 여전히 많이 사용되고 있습니다.  프로그램 최적화가 필수인 임베디드 장비가 늘어남에 따라 C언어나 어셈블리어는 앞으로도 꾸준히 사용될 것 같네요.

3위는 자바(Java)가 차지했습니다.
작년에 포스팅햇을때 까지만해도 1위를 굳건하게 차지하던 JAVA가 3위로 내려왔네요.
 JAVA는 국내 시장에서 유난히 많이 사용하는 언어로 국내 점유율이 특히 높습니다. 그에 비해 세계시장까지 포함시켰을때 점유율이 조금 떨어지는 걸로 알고 있었는데 여전히 1위로 높은 수치를 기록하고 있네요. 대체 가능하고 생산성까지 좋은 언어들이 많아져 점유율이 조금씩 떨어지고 있긴 하지만 앞으로도 꽤나 오랫동안 강세를 유지 할 것은 분명한 언어입니다. 지금까지 나온 수많은 레퍼런스와 레거시들을 절대 무시할 순 없기 때문이죠.

순위가 급상승하여 주목해볼만한 언어는 Swift(#14>#10), Perl(#15>#11) Kotlin(#33>#26)가 있습니다. 

10위 스위프트(Swift)는  애플의 iOS와 macOS를 위한 프로그래밍 언어로 애플 OS전용 언어인 Objective-C와 함께 사용될 목적으로 2014년 발표됐으며 특장점으로 Safe(안정성), Fast(신속성), Expressive(표현성)을 내세우고 있습니다.
 Java, C#의 강점을 가지고 있으면서도 가상머신 상에서 바이트코드로 실행되는 것이 아니라 C처럼 기계어로 번역되어 사용된다는 점에서 좋은 퍼포먼스를 기대 할 수 있는 언어입니다.

11위 펄(Perl) 은 C와 같은 인터프리터 언어로 유닉스쪽에서는 Defatul 스크립트 언어로 기본 시스템에 들어가있는 경우가 많습니다. 작성 구문 역시  C와 유사하며 sed, AWK, 셸 스크립트 등과 같은 여러 유명한 유닉스 기능을 포함하고 있습니다. 언어 자체의 자유도가 높고 표현력도 뛰어나며 코딩도 쉽고 특히 TEXT처리를 매우 간결하게 할 수 있습니다! 단점으로는 가독성이 낮아 유지보수성이 좋지 않습니다.

26위 코틀린(Kotlin)은  IntelliJ IDEA의 개발사로 유명한 JetBrains에서 만든 언어로서 JVM기반으로 동작하며 Java와 100% 상호 운용을 지원합니다. 2017년 Android 공식 개발언어로 지정하고 19년부터는 구글내부 안드로이드 프로젝트에서 java를 대체하는 등 구글에서 적극적으로 밀고 있지만 워낙 많은 선택지가 있어서 그런지 지수가 오히려 떨어졌네요. 그러나 안드로이드라는 플랫폼과 구글이 있는 이상 여전히 높은 성장 가능성이 있습니다.

이 외에 살펴볼만한 언어로는 R/ 루비(Ruby) / 고(Go) 가 있습니다.

11위 R은 주로 통계 및 그래프 작업을 위한 인터프리터(interpreter) 프로그래밍 언어입니다. 통계용으로 Python도 많이 사용하지만 파이썬은 조금 더 범용적인 목적의 언어로 보시면됩니다. R에서 사용할 수 있는 수많은 통계 패키지가 이미 구현되어 있어 데이터마이닝, 빅데이터, 머신러닝 등에 유용하게 사용됩니다. 그래서 요즘은 재무, 마케팅 업무 채용에도 R언어 숙련자를 찾기도 합니다. 단점으로는 언어 난이도가 조금 있는 편입니다.

15위 루비(Ruby)는  인터프리터 형식으로 실행되는 동적 객체 지향 스크립트 언어로서  인간에게 친숙한 언어를 지향하여 간결함과 생산성을 강조한 언어입니다.  파이썬(Python)과 굉장히 유사한 면이 많으면서도 대비되는 특징들이 많아 두 언어는 자주 같이 언급되며 함께 무서운 속도로 성장하고 있습니다.

19위 고(Go) 2009년에 구글에서 처음 발표된 후 2012년 3월에 정식 발표된 프로그래밍 언어 입니다. C++의 복잡함이 싫어서 만들어진 언어로서 특징으로 compile언어지만 컴파일러의 컴파일 속도가 빨라 인터프리터 언어처럼 사용 할 수 있다는 점입니다. 단순함과 실용성을 지향하고 있어 언어에서 사용하는 키워드도 25개 밖에 되지 않습니다. 가장 큰 단점으로는 bytecode를 생성하여 실행하는 언어가 아니므로, 바이너리를 배포할 경우 C/C++ 처럼 각각의 플랫폼에 맞게 컴파일을 해줘야 합니다.

아래 본문에 이어서 21위부터 100위까지의 언어와 30년간 평균치를 확인해 보시기 바랍니다. 그리고 작년 추이가 궁금하신 분들은 아래 포스팅을 참고해 주세요! 비교해 보시면 재밌으실거에요.

 

TOP 21~100
Position Programming Language Ratings
21 SAS 0.86%
22 (Visual) FoxPro 0.82%
23 COBOL 0.68%
24 Scratch 0.60%
25 Prolog 0.60%
26 Kotlin 0.57%
27 Rust 0.45%
28 PL/SQL 0.43%
29 Objective-C 0.42%
30 Ada 0.41%
31 Lisp 0.41%
32 Lua 0.40%
33 Scala 0.30%
34 VBScript 0.28%
35 Julia 0.27%
36 Logo 0.26%
37 Dart 0.26%
38 D 0.24%
39 ABAP 0.22%
40 PowerShell 0.22%
41 TypeScript 0.21%
42 RPG 0.20%
43 Ladder Logic 0.19%
44 ML 0.18%
45 Apex 0.18%
46 Haskell 0.18%
47 LabVIEW 0.17%
48 Awk 0.16%
49 Verilog 0.16%
50 Tcl 0.16%
* 이하  TOP 51~100
ABC, ActionScript, Alice, APL, B4X, Ballerina, Bash, Boo, Bourne shell, C shell, CFML, Clipper, CLIPS, Clojure, Curl, Eiffel, Erlang, F#, Factor, Haxe, Icon, Inform, Io, J#, JScript, Korn shell, Lingo, LiveCode, M4, MQL4, NATURAL, Nim, NXT-G, OCaml, Occam, OpenCL, OpenEdge ABL, PostScript, Q, Racket, REXX, Ring, Scheme, SPARK, SPSS, Transact-SQL, Vala/Genie, VHDL, XSLT, Zig

 

 
History (for 30 Year)
Programming Language 2021 2016 2011 2006 2001 1996 1991 1986
C 1 2 2 2 1 1 1 1
Python 2 5 6 8 20 27 - -
Java 3 1 1 1 2 14 - -
C++ 4 3 3 3 3 2 2 5
C# 5 4 4 7 12 - - -
Visual Basic 6 13 - - - - - -
JavaScript 7 7 10 9 9 20 - -
PHP 8 6 5 5 10 - - -
Assembly language 9 10 - - - - - -
SQL 10 - - - 36 - - -
Fortran 20 25 29 21 25 5 3 8
Ada 28 29 18 16 18 10 5 2
Lisp 32 27 13 13 16 7 4  
(Visual) Basic - - 8 4 4 3 8 6

 
대표 언어들의 30년간의 대략적인 순위를 확인해 볼 수 있습니다. (12개월 평균순위)
 

 

올해의 프로그래밍 언어
Year Winner
2021 medal C#
2020 medal Python
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