[기술잡썰1] Tiobe Language 순위가 시사하는 바 – Java의 몰락


2022 6월 Tiobe 언어순위 발표

tiobe 티오베 컴퓨터 언어 순위 2022년 6월

It seems to be that Java is on the losing side. In April 2020, Java was still number 1 on the TIOBE index. In that same month, Java had to give up its first place to C. Later on, in 2021, Python became unstoppable and surpassed Java as well. Now it looks like C++ is the next language to overtake Java. High level programming with performance is C++’s key reason why it is doing so well. The C++ language is revised every 3 years. Such revisions contain ground-breaking new features, which get the language on par with C# and Java, but without the performance penalty of a garbage collector. Let’s see where C++ is heading the next few months.

Paul Jansen CEO TIOBE Software

Tiobe에서 22년 6월자 컴퓨터 프로그래밍 언어 순위가 발표되었다.

아울러, Java와 Python, C, C++에 대한 이야기가 담겼다. Java는 불과 2년 전까지 1위 언어였지만,

PythonC에게 잠식 당했고…
조만간 C++에게도 자리를 내주려 한다.


일단 Tiobe 티오베가 뭔데?

네덜란드 소프트웨어 기업이다. 자신들만의 공식을 이용해 프로그래밍 언어 순위를 1~50위까지 매달 발표한다. 구글 등의 검색엔진과 SNS 등 방대한 정보를 고려하여 점유율을 계산하는 것이다.

매월 발표되는 점유율은 아래 링크를 통해 접속할 수 있다.

TIOBE Index – TIOBE


언어계의 곽철용 Java, 고니 Python, C/C++에게 최후를 맞다.

Java : 잘난 놈 보내고… 못난 놈 재끼고…

Java의 컨셉Managed 언어의 대표로써, “너는 로직만 신경 써, 메모리는 컴퓨터인 내가 다 알아서 해줄테니까” 하나로 여기까지 올라왔다.

하지만 해당 컨셉은 Python에게 빼앗기었고, 정반대 컨셉의 “컴퓨터 너는 뭐 하려고하지마, 인간인 내가 하라는 대로만 해.”하는 Unmanaged 언어C와 C++에게 순차적으로 털리고 있다.


양극화 : 애매한 놈은 죽는다.

애매한 놈은 죽는다. 이건 컴퓨터 기술 세계에서만 적용되는 말이 아니라 모든 분야 세상 만사에 해당되나 보다.

1) 개발하기 정말 편하거나
2) 개발이 어렵더라도 성능을 극대화할 수 있거나

둘 사이에서 간 보는 언어들은 다 나가떨어졌다. 그 대표가 Java다. 컴퓨터 언어에서도 양극화가 오고 있다.


점쳐보기 : Python과 C/C++ 투톱 체제

앞으로 편한 개발은 점점 Python으로 이뤄질 것이다. 비전공자조차도 이해할 수 있는 쉬운 문법과, 엄청난 커뮤니티를 기반으로 한 오픈소스 모듈들이 이미 Python 생태계를 이미 커다란 플랫폼으로 만들었다.

근데 재밌는 점은 Python이 커질수록 C/C++도 같이 커진다는 것이다. Python이 C로 이뤄져있기 때문이다. 그래서 Python의 성능을 C/C++을 활용하여 극대화 시킬 수 있다. 실제로 Pandas, Numpy 등의 모듈에선 수리적인 연산이 많아 성능 개선이 필요한 영역을 C를 통해 개발했다.

​라떼(12학번이다!)는 머지않은 미래에는 하드웨어 성능의 비약적인 발전으로 메모리를 신경 쓸 필요 없이 managed 언어가 세상을 지배할 것이라 했었다. 그래서 Java는 신이고 얼른얼른 managed 언어를 배워서 어플리케이션을 만들자!! 했던 풍조가 기억이 남는다.

하지만, 10년의 세월이 흐르는 동안 그 결과는 어땠지? 너무 어렵고, 복잡하다고 금방 사라질 것이라고 했던 C/C++은 건재하게 살아남았다. 다만 그 사이에서 애매하게 성능과 개발 용의성을 모두 챙기려고 하는 놈들은 다 단점을 보완한 더 쉽고 더 편한 언어가 나오면서 대체되었고 ​시간이 지나도 이는 변하지 않을 것이라 생각한다.


그럼 C/C++과 Python만 공부하면 되나요?

언어를 공부하는 것이 무슨 의미가 있을까? 그 언어가 만들어진 main concept인 managed와 unmaged가 더 중요하다.

“지금의 개발자들은 어떤 것을 공부해야하나요?”라 묻는다면 나는 이렇게 대답한다.

1)Unmanaged 언어완벽히 이해하시고,
2)어떤 점이 불편하고 귀찮은지를 깨달아 Managed 언어를 적극 활용하세요.


Posted

in

,

by

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다