[테크홀릭] 프로그래밍 언어라고 해도 종류도 많고 특징이나 장단점도 다르다. 그런데 이런 프로그래밍 주요 언어 16종을 다양한 무기에 비유한 글이 있어 눈길을 끈다.
이에 따르면 먼저 프로그래밍 언어의 기본이라고 할 수 있는 C언어는 미국산 반자동 소총인 M1 개런드(M1 Garand)라고. 이유는 나이만큼 신뢰도가 높다는 이유에서다. M1 개런드는 1936년 등장한 세계에서 처음으로 보병 부대에 보급된 반자동 소총이다.
C언어의 확장 버전 격인 C++는 쌍절곤에 견줬다. 이유는 잘 쓰면 강력한 능력을 발휘하지만 이를 체득하려면 몇 년에 이르는 고된 수행이 필요하고 한번쯤은 그만두면 좋았을 것으로 생각될 때가 종종 있기 때문이라고
다음은 펄(Perl). 펄은 화염병에 비유했다. 이유는 유용했던 시절도 있었지만 그다지 쓰이지 않았다는 것이다. 또 객체지향 프로그래밍 언어의 대표주자 가운데 하나인 자바(Java)는 무기에 비유하면 미군에서 쓰이는 M240 기관총이라고. 이유는 탄약벨트, 그러니까 프로그래밍 코드에 문제가 있는 ‘NullPointerException’, 예외 오류가 발생해 폭발하면서 순절하기 때문이라고.
자바에서 파생된 언어인 스칼라(Scala)는 무기가 아닌 훈련 매뉴얼. 매우 난해하게 작성되어 있으며 횡설수설이 되어 버린다는 의미에서다. 또 웹브라우저에서 인터넷이 성립되지 않는다고 말할 만큼 자주 쓰이는 자바스크립트(JavaScript)는 손잡이 없는 칼에 견줬다. 뛰어난 부분과 부족한 부분이 함께 존재한다는 의미에서다.
구글이 개발 중인 프로그래밍 언어인 Go는 초심자용 권총에 비유했다. 총을 쏜 다음 정말 발사됐는지 확인할 필요가 있다는 것이다. 어디에 명중했는지 여부도 확인이 필요하다고.
다음은 러스트(Rust). 모질라가 개발 중인 프로그래밍 언어로 무기에 비유하면 3D프린터 총이라고. 이유는 언젠가는 정말 쓸 수 있게 될지도 모른다는 이유에서다.
유닉스 소프트웨어 환경을 모두 프리웨어로 제공하는 걸 목적으로 한 GNU프로젝트를 위해 만든 배시(bash)는 망치다. 마치 엄지손가락만을 노리는 것 같다는 뜻에서다.
다음은 대학 입문용 프로그래밍 언어로 인기를 끌고 있는 파이썬(Python). 파이썬은 무기로 비유하면 총신이 2개인 샷건이다. 항상 교대로 총탄을 발사할 수 있다는 것. 하지만 그렇다 보니 정작 중요한 쪽에서 발사할 수 없다는 것도 이유다.
루비(Ruby)는 찬란한 검에 비유했다. 반짝이고 있다는 이유만으로 사용되기 때문이다. 다음으로 동적 웹페이지를 구축할 때 이용하는 PHP는 호스에 견줬다. 호스는 무기라고 부르기는 어렵다. 호스 한쪽을 자동차 배기구 쪽에 연결하고 반대편은 차내에 연결한 다음 시동을 걸어야 한다는 게 이유라고.
매스매티카(Mathematica)는 우주 저궤도 투입형 캐논이다. 엄청난 수준이지만 구입할 수 있는 사람은 극히 일부에 한정된다는 게 이유다. 또 마이크로소프트가 개발한 객체지향 프로그래밍 언어인 C#는 당나귀 등에 묶어서 장착한 레이저 라이플이라고 한다. 당나귀 없이는 아주 쓸모가 없다는 뜻이다. C#은 컴파일된 중간 코드 실행은 레이저 라이플에 해당할 수 있지만 당나귀처럼 둔한 실행 환경이 걸림돌이라는 뜻으로 보인다.
프로그(Prolog)는 인공지능 무기다. 이유는 지령을 주면 그대로 실행하지만 동시에 터미네이터를 만들어 언젠가 너의 엄마를 죽이러 온다고. 마지막으로 가장 오래된 고급 프로그래밍 언어 가운데 하나인 LISP는 칫솔 등으로 만든 수제 칼에 비유했다. 이 칼을 사용하는 사람들은 대부분 미쳤고 위험하다는 것. 관련 내용은 이곳에서 볼 수 있다.
전자신문인터넷 테크홀릭팀
이원영 IT칼럼니스트 techholic@etnews.com