Offcanvas

개발자 / 애플리케이션 / 오픈소스

'못마땅해도 써야 하는' 프로그래밍 언어 7종

2016.05.26 Peter Wayner  |  InfoWorld




우리가 싫어하는 언어: 코볼(Cobol)
코볼은 개발자 대부분이 태어나기 전인 1959년에 시작됐다. 수백 개의 제한된 단어로 구성된 복잡한 신택스로 인해 쓸모가 없다. 하지만 코볼 애호가들은 새로운 버전을 개발하며 다른 언어에서 아이디어를 차용해 거의 60년이나 된 프레임에 적용하고 있다.

코볼 2014라는 이름을 들어 보았는가? 여기에는 사람들이 2002년 이후로 해당 언어에 적용하려 시도했던 동적 테이블이 포함되어 있다. 새로운 것은 그것만이 아니다. 1970년 대에 사장되었다고 알고 있는가? 틀렸다.

데이터베이스 조작을 위해 비즈니스 로직을 작성하는 더 나은 툴이 있었을 수 있지만 더 큰 컴퓨터를 구매해 코볼 코드를 실행하는 것이 더 쉽기 때문에 그 누구도 고생을 자처하고 있지는 않는 것 같다.

이 기사를 작성하는 현 시점에서 다이스(Dice.com))에 게시된 543개의 일자리에 관한 설명에서 '코볼'이라는 단어가 포함되어 있다. 보험사와 국방 계약업체에는 코볼 관련 일자리가 있다.

메인프레임(Mainframe) 얼리 어댑터들은 여전히 코볼을 사용해 처리하고 있다. 컴퓨터 공학자들은 공포심에 뒷걸음질치겠지만 고객들이 줄을 서는 한 이렇게 말할 것이다. "망가지지 않는 한 따로 고치지 마라. 그냥 다른 메인프레임을 사라."



우리가 싫어하는 언어: XSLT
누구나 처음에는 XML을 변환하는 기능적 언어인 XSLT를 좋아한다. 대용량 XML 문서에서 데이터를 추출해야 하는 경우 매우 잘 동작하는 똑똑한 솔루션이다.

하지만 상사가 단순한 찾아 바꾸기 이상의 복잡한 것을 요구하는 경우 개발이 교착 상태에 빠지게 된다. 언어는 분명 기능적이며, 문서에 "변수"라고 써 있는 경우 프로그래머가 아니라 대수학 선생님 같은 언어를 구사한다는 사실을 알게 된다.

이런 젠(Zen) 같은 문장에 대해 XSLT의 전문가 밥 듀캄은 이렇게 말했다. "XSLT 변수는 실제로 여러 프로그래밍 언어의 상수와 공통점이 훨씬 많으며 유사한 용도로 사용되고 있다." 다른 컴퓨터 언어의 변수처럼 동작하는 변수를 사용하고 싶은 경우(즉, 변화가 가능한 경우) 매우 현명하게 대처해야 한다.

XML은 제이슨(JSON)처럼 더욱 효과적인 데이터 형식에 자리를 내어주고 있을 수도 있지만 많은 빅데이터(Big Data) 프로세서에는 여전히 강력한 기초가 되고 있다. XSLT를 사용할 필요가 없다. 항상 텍스트 자체를 분석하는 기본적인 코드를 작성할 수 있다.

하지만 XML을 분석하기 위해 모든 코드를 작성하다 보면 XSLT 구조를 총체적으로 이해하는 것 이상의 일이 될 수 있다.



우리가 싫어하는 언어: 자바(Java)
가상머신(Virtual Machine)과 라이브러리는 1990년대부터 시작되었을 수 있지만 신택스는 여전히 C가 개발된 1970년대 수준이다. 자동 메모리 관리가 대단한 발전처럼 보이지만 가비지 콜렉션(Garbage Collection)이 통제하는 동안 코드가 넋 놓고 있는 모습을 보면 그런 생각이 싹 사라진다.

안드로이드 개발자들은 가비지 콜렉터(Garbage Collector)가 911에 전화를 거는 등의 중요한 상황 중에 시작되지 않도록 하기 위해 사전에 가비지 콜렉션을 정중히 요청하는 시점에 대한 요령을 교환한다.

자바 프로그래머는 많은 문제점에 대해 오랫동안 불평했지만 그 가운데 일부는 해결되었거나 최소한 오라클(Oracle)이 처리하고 있다. 하지만 이로 인해 새로운 문제가 발생하고 있다. 새로운 코드와 라이브러리 일부는 오래된 VM과 호환되지 않는다.

필자는 하루 동안 java.lang.UnsupportedClassVersionError와 씨름했지만 영구적인 해결책을 찾을 수 없었다. 1.4 이후의 각 자바 버전이 다른 언어인 것과 같다.

이런 문제가 중요하지는 않다. 자바는 웹과 휴대폰의 기초다. 개발자들이 처음으로 접하는 언어다. 라이브러리 콜렉션은 다른 거의 모든 언어보다 심오하고 더욱 가치있다. 굳이 다른 것을 사용할 이유가 있을까?



우리가 싫어하는 언어: 파이썬(Python)
젊은 개발자들이 공부하는 현대적인 언어다. 구두점이 드물고 코드가 더 깔끔해 보인다. 싫어할 이유가 있을까? 파이썬 2.7과 3.0 사이에는 공백이 존재한다. 언어를 발전시키기 위해서는 어쩔 수 없는 선택이었지만 이로 인해 자신이 사용하고 있는 신택스를 지속적으로 추적해야 한다. 어떤 버전의 파이썬이 설치되어 있는지 항상 확인해야 한다.

그리고 들여쓰기 한 코드 블록의 모든 공백을 세고 싶은 개발자가 누가 있을까? 중괄호를 세는 것도 힘들지만 공백을 세기 위해서는 고정폭 편집기가 필요하다.

소프트 공학자들은 어려운 과학의 짐을 덜어주는 따뜻하고 부드러운 느낌의 파이썬을 사랑하기 때문에 아무런 문제가 되지 않는다. 생물학자와 경제학자는 파이썬이 유일하다고 생각한다. 심지어 일각에서는 주식과 채권에 관한 새 투자 설명서에 파이썬 코드를 요구하도록 제안하고 있기 때문에 투자 은행들이 엉터리 변호사의 말 대신에 파이썬을 이용해 우리를 혼란에 빠뜨릴 수 있다.

변호사들의 손 끝에서 나오는 소위 말하는 영어보다는 파이썬이 읽기 쉽다는 점이 다행이다. 모든 공백을 세어야 하지만 어쨌든 한 단계 발전한 것이다. 이미 소프트 공학자들로 꽉 찬 버스가 정류장을 출발했다. editor@itworld.co.kr

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.