자바스크립트‧C++‧자바 등과 진검 승부…‘안전성․속도․편의성’이 관건
프로그래밍 언어 시장의 경쟁이 치열하다. 최근엔 파이썬이 자바와 2~3위 순위 다툼을 벌이며 급속도로 성장하고 있는 가운데 선두 자바스크립트의 선전도 지속되고 있다.
전통적인 강자인 ‘C++’나 그 모태가 되었던 C, 그리고 복잡하고 어려운 C++의 단점을 보완한다는 취지의 러스트도 주목받고 있다.
구글 검색어를 기준으로 순위를 매기는 SW업체인 티오베나 Pypl의 차트 리스트도 매 순간 업치락 뒤치락 하고 있다. 그런 가운데 최근엔 파이썬이 줄곧 상위권을 차지하며 약진하는 모습이 관심의 대상이 되기도 한다.
파이썬 ‘속도가 비교적 느린게 단점’
애초 SW 개발에 있어선 속도가 빠르면서도 안전하고 편리한 완성품을 만들어내는게 목적이다. 그러나 많은 경우 이런 충분조건을 완벽하게 충족하는 것이 쉽지 않다.
예를 들어 최근 인기가 급상승하는 파이썬은 쉽고 간편하며 안전하긴 하지만 개발의 효용성을 좌우할 속도가 느리다는 점이 단점으로 꼽힌다.
오랜 스테디셀러인 C와 C++ 등은 개발할 SW가 양질의 기능을 창출할 순 있지만 막상 사용하려면 복잡하고 안전성이 부족하다는 점이 약점으로 지적되고 있다.
최근엔 특히 파이썬의 부상이 눈에 띄고 있다. 티오베 프로그래밍 언어 인기 순위에서 파이썬은 연일 역대 최고치를 기록하고 있어 향후 3~4년 이내에 자바와 C를 제치고 1위로 뛰어오를 가능성마저 있다는 전망도 있다.
여전히 자바나 C와 순위 다툼을 벌이고 있으나 자바와 C보다 훨씬 쉽게 사용할 수 있고 편의성도 커서 새로 프로그래밍을 시작하는 사람들에게 인기를 끌고 있다는게 티오베의 분석이다.
오랜 스테디셀러 C와 C++… ‘복잡하고 어려워’
특히 개발자들은 웹 개발과 데이터 분석에 파이썬을 많이 사용하는 것으로 알려지고 있다. 많은 경우 파이썬 웹 프레임워크인 플라스크와 장고를 사용, 웹 개발 언어로 많이 사용하고 있다.
한편으론 웹 개발보다 데이터 분석을 위해 더 많이 파이썬을 사용하기도 한다. 시스템 자동화나 웹 스크래핑, 소프트웨어 테스팅 등에서 가장 믿을 만한 언어라는 인식이 강하기 때문이다. 또 리눅스와 윈도우 환경 모두에서 개발에 쓰이고 있다.
파이썬은 또 다른 인기 차트인 Pypl 인덱스에서는 이미 1위를 오르내리고 있다. Pypl 차트는 구글에 해당 언어 관련 검색을 얼마나 했는가를 기준으로 한다.
그런 가운데 전문가들 사이에선 C/C++와 함께 그 대안으로 등장한 러스트를 함께 활용하는 방식도 추천되고 있다.
프로그래밍 전문가들은 “이런 경우 러스트는 C 또는 C++로 작성된 기존 라이브러리에 연결되는 데 요긴하게 쓰인다. 다만 C와 C++를 사용한 프로젝트가 러스트로 처음부터 다시 작성되는 경우는 거의 없다”고 편의성을 강조했다.
애초 C++는 C 언어의 새로운 버전으로 만들어진 객체지향형 프로그래밍 언어다. 특히 대규모 응용프로그램을 만드는 데 최적의 프로그래밍 언어로 평가받으며, 오랫동안 믿을만한 스테디셀러로 자리를 굳혀왔다.
종전 C의 장점을 모두 지니고 있는데다 객체 지향 프로그램에 적합한 클래스, 연산자 중복, 가상 함수 등과 같은 특징도 갖추고 있다. 그런 장점과 함께 종전의 C에 익숙한 소비자들의 정서와도 부합해서 프로그래밍 언어의 강자로 지금까지 순위 차트의 상위권을 지키고 있다.
파이썬, 자바스크립트의 대역전 재현할까?
그럼에도 불구하고 최근 가장 큰 관심의 대상은 역시 파이썬이다. 작년에 자바스크립트가 종전이 자바를 끌어내리고 개발자들이 가장 많이 활용하거나 습득하는 언어 1위 자리에 오른 것과 같은 현상이 반복될 가능성이 크다는게 전문가들의 관전평이다.
그래서 티오베와 Pypl의 순위 집계를 종합해보변 파이썬과 자바스크립트가 치고 나가는 가운데 C++, C#, C, 자바 등이 상위권을 유지하며 끊임없이 순위 뒤집기를 시도하고 있다.
20위권 박스권의 언어들도 경쟁 치열
한편으로 10위~20위권의 박스를 형성하는 언어군들도 활발하게 부침을 거듭하고 있다. 그중 눈길을 끄는 것은 애플 스위프트다. 이는 1년 여 전부터 티오베 순위에서 꾸준히 인기가 상승하면서 8~9위에서 14~15위권을 맴돌며 선전하고 있다.
또 2년 전 60위권에서 작년부터 20위권으로 진입한 그루비도 눈길을 끌고 있다. 이는 특히 젠킨스 CI 툴용 스크립트 작성 언어로 큰 인기를 끈 바 있다.
본래 오픈소스 자동화 서버인 젠킨스의 소스 코드는 자바였다. 그래서 대쉬보드를 제공하고, GiT나 Svn 소스를 최신 버전으로 바꿔주며, Ant, Maven, Gradle 프로젝트를 빌드하고 그렇게 빌드된 파일을 자동으로 서버에 배포해주는 것이다. 이 과정에서 그러나 자바와 함께 그루비가 유용한 언어로 사용되면서 인기를 끌었던 것이다.
어셈블리‧PHP‧SQL‧오브젝티브-C 등도 선전
이 밖에도 순위 차트에는 어셈블리, PHP, SQL, 오브젝티브-C, 매트랩, R 등도 줄곧 오르내리고 있다. 모든 프로그래밍 언어는 결국 안전성과 속도, 편의성을 충족하는 것이 승부를 가리는 관건이다.
지금까지 주목을 받고 있는 러스트의 등장도 그런 배경에 기인한 것이다. 그런 관점에서 보면 비교적 속도가 느리다는 평가를 받는 파이썬의 앞날도 반드시 낙관할 수만은 없다는 일각의 평가도 설득력을 얻고 있다.
전문가들은 “결국 빠르고 안전하며 무엇보다 합리적인 수준의 프로그래밍 난이도를 보장하면서 유용한 표준 라이브러리를 가지고 있어야 한다”면서 “내장형 시스템이나 OS커널처럼 플랫폼 의존성이 없는 바이너리를 구축할 수 있으면 더욱 금상첨화”라고 그 필요충분조건을 제시하고 있다.
