본문 바로가기
IT/IT월드

16개의 컴퓨터 프로그래밍 언어를 무기로 표현하면 어떤 무기일까?

by 썬도그 2014. 9. 4.
반응형

컴퓨터 프로그래밍을 전혀 할 줄 모릅니다. 그러나 가끔은 잘 하지는 못하더라도 좀 제대로 프로그래밍 언어 하나만이라도 전체적으로 이해할 수 있을 정도는 알아 둘 걸이라는 약간의 후회도 듭니다. 

컴퓨터 프로그래밍 언어는 수 많은 종류가 있습니다. 이 수 많은 프로그래밍 언어는 각각의 특징들이 있습니다. 닮은 듯 하면서도 다른 프로그래밍 언어는 저 같은 프로그래밍 언어를 모르는 일반인들은 뭐가 뭔지 잘 모릅니다. 그런데 Floobits에서 소프트웨어를 개발하고 있는 Bjorn Tipling씨가 16가지의 컴퓨터 프로그래밍 언어를 재래식 무기로 표현한 글이 화제입니다


16개의 컴퓨터 프로그래밍 언어를 무기로 표현하면?


C언어 : M1 개런드

컴퓨터 프로그래밍의 기본이라고 할 수 있는 C언어는 미국의 반자동 소총인 M1 개런드라고 했네요. 이유는 비록 오래된 소총이지만 신뢰성이 높은 무기이기 때문입니다. 



C++ : 쌍절곤

C언어의 확장 버전인 C++는 잘만 사용하면 강력한 능력을 발휘하지만 쌍절곤을 제대로 돌리려면 몇 년의 고된 수행이 필요하기 때문에 쌍절곤으로 표현 했습니다. 






Perl : 화염병

펄(Perl)은 화염병이 유용했던 시대도 있었지만 지금은 거의 사용하지 않게 않는 모습이 펄과 닮았습니다. 화염병은 2차 대전 때 보병들이 탱크에 던져서 안에 타고 있는 군인에게 피해를 주는 효과가 좋아서 많이 사용 했던 무기지만 거의 사용하지 않습니다. 






JAVA : M240기관총

객체지향 언어의 대표주자인 자바는 미군들이 많이 사용하는 M240기관총입니다. 그 이유는 탄약벨트(프로그램 코드)가 문제가 발생하면 Null PointerException 예외 오류가 발생해서 폭발을 하고 기관총 사수는 사망을 합니다. 





Scala : 뭔 소리인지 이해가 안가는 훈련 메뉴얼

자바에서 파생된 언어인 스칼라는 스칼라를 배우는 메뉴얼이 너무 난해하게 작성 되어 있어서 뭔 소리인지 모를 군대 훈련 메뉴얼로 비유 했네요. 






자바 스크립트 : 손잡이 없는 칼 

웹 브라우저에서 자주 많이 사용하고 이 자바 스트립트가 없으면 인터넷이 재미 없을 정도로 정말 많은 사람들이 사용하고 있습니다. 저도 프로그래밍 언어는 모르지만 한 때 자바스크립트를 이해하고 소스를 고쳐서 홈페이지를 꾸민적이 있었습니다. 

자바 스크립트는 칼자루가 없는 칼입니다. 그 이유는 칼 부분은 아주 좋은데 칼자루가 없는 칼 처럼 나쁜 면도 혼재하고 있습니다. 



GO : 초보용 권총

구글이 개발 하고 있는 Go는 초보자용 권총입니다. 권총을 발사한 후에 정말 발사가 되었는지, 또 명중 했는지를 확인해야 합니다. 




Rust : 3D 프린터로 만든 총

모질라재단에서 개발하고 있는 Rust는 3D프린터로 만든 총입니다. 지금은 나오지 않았지만 언젠가는 주변에서 많이 사용하게 될 것이기 때문입니다. 





bash : 장도리 

유닉스의 소프트웨어 환경을 모두 프리웨어로 제공하는 것으로 목적으로 하는 GNU프로젝트를 위해 만들어진 언어입니다. 이는 엄지 손가락만 노리는 저주 받은 장도리와 비슷하기 때문입니다. 





파이썬 : 더블 배럴 형 샷건

대학의 입문용 프로그래밍 언어로 인기를 끌고 있는 파이썬은 무기로 비유하면 총신이 2개인 더블 배럴 형 샷건과 비슷합니다. 항상 교대로 총탄이 발사 되지만 정작 중요할 때는 발사가 되지 않습니다. 

추가 : 페이스북 쪽지로 석대진님이 알려주신 부분을 추가합니다.

1. 파이썬의 v2/v3 소스가 호환되지 않는 점.

2. v2/v3 어떤 것을 사용해야 하는지 주변 의견을 물어보면 더 혼란스러워 진다는 점.

3. 본인이 어떤 것을 사용해야 할지 결정 하려면 성능 및 호화성 문제 때문에 잘 따져 봐야하는 점



Ruby : 빛나는 검

일본 프로그래머인 마쓰모토 유키히로가 만든 이 Ruby라는 언어는 빛나게 하는 용도로만 사용하기 때문에 빛나는 검으로 비유했네요. 




PHP : 호스 

동적 웹 페이지를 구축하기 위한 PHP는 호스로 비유했네요. 호스 한쪽을 자동차 배기구에 꽂고 한쪽을 차내로 끌어와서 시동을 건다고 하는데 무슨 의미인지 좀 이해가 안가네요. 배기 가스 재활용을 표현한 것인가요?




매스메티카 : 저궤도에 떠 있는 우주 대포 

매스메티카는 우주 저궤도에서 띄워진 우주 대포입니다. 성능은 엄청난데 가격이 너무 비싸서 쉽게 사용하지도 누구나 사용하지도 못합니다.





C # : 당나귀에 단 강력한 레이저 라이플 

마이크로소프트에서 개발한 객체 지향 프로그래밍 언어인 C#은 당나귀 등에 묶여진 강력한 레이저 라이플입니다. 레이저 라이플은 탄낙차가 없어서 조준하기도 쉽고 성능도 좋습니다. 하지만 당나귀라는 구식 이동체 위에 올려져 있는 것처럼 이동성은 떨어집니다. 

이는 C#이 컴파일 된 중간 코드를 실행할 수 있기 때문에 레이저 라이플 같은 강력한 성능을 보여주기도 하지만 당나귀처럼 구식의 실행환경이 걸림돌이 되고 있습니다. 



Prolog : 인공 지능 무기

Prolog는 인공 지능 무기입니다. 명령을 내리면 그대로 실행합니다. 그러나 터미네이터처럼 언젠가는 너의 엄마를 죽이러 올 것이라고 말하고 있습니다. 




Lisp :  칼

가장 오래된 고급 언어 중 하나인 LISP은 칼입니다. 칼은 아주 다양한 형태와 디자인을 가지고 있습니다. 누구나 쉽게 칼을 사용할 수 있지만 그 칼로 인해 위험해질 수도 있습니다.

가장 오래된 고급 언어 중 하나인 LISP은 다양한 형태와 디자인을 가지고 있는 칼입니다. 이것을 사용하는 사람은 미쳤거나 위험합니다

프로그래머도 아니고 경험도 없고 영어 실력도 좋지 못해서 오역이 꽤 많을 듯 합니다. 몇몇 표현은 감을 못잡겠네요. 
오역 부분은 지적해주시면 감사하겠습니다. 

원본은 http://bjorn.tipling.com/if-programming-languages-were-weapons에 있습니다. 




반응형