-
개발자 경력에 '가산점' 될 6가지 새로운 언어Full-Stack 2014. 6. 12. 21:55
개발자 경력에 '가산점' 될 6가지 새로운 언어
Paul Rubens | CIO개발자의 채용 기회를 높이는 좋은 전략 중 하나는 새로운 프로그래밍 언어를 학습하는 것이다. 문제는 어떤 언어를 배우느냐는 것이다.
개발자 채용 사이트를 들여다보면 수요가 많은 프로그래밍 언어를 파악할 수 있다. 그리고 지금 당장은 자바, C, C++, 오브젝티브(Objective) C 같은 프로그래밍 언어, 파이썬(Python), PHP, 루비(Ruby), 자바스크립트(JavaScript) 같은 스크립트 언어, SQL 데이터베이스 프로그래밍 능력을 갖추고 있는 프로그래머들이 인기다.
하지만 미래에 좋은 일자리를 차지하기 위해 한 발 앞서 나가고 싶다면 자바나 파이썬 같은 일반적인 언어 이상을 공략해야 한다.
지금 당장은 아니지만, 미래에 수요가 많을 새로운 언어와 관련된 능력과 경험을 축적하는 것은 어떨까? 이는 1990년대, 자바가 도입됐던 시기에 그 잠재력을 포착했던 프로그래머들에게 큰 도움을 줬던 커리어 전략이다. 자바를 일찍 학습했던 프로그래머들은 몇 년 뒤 자바 프로그래머에 대한 수요가 최고조에 달했을 때 쉽게 일자리를 구할 수 있었다.
그러나 많은 프로그래밍 언어 중 잠재력이 높은 언어 하나를 고르는 것이 문제다. 가트너의 조사 담당 이상인 마크 드라이버는 "새로운 언어의 대다수가 오픈소스 프로젝트에서 비롯되고 있다. 진입 장벽이 없어 수천 종의 새로운 언어가 쏟아져 나오고 있다는 의미다. 대다수는 재빨리 사라진다. 살아남아 인기를 얻는 언어는 극소수에 불과하다"고 지적했다.
드라이버에 따르면, 대다수 기업에서 자바, C++, C# 같은 기존 언어들이 다른 언어로 대체되기에는 그 입지가 튼튼하고, 자신들이 원하는 만큼 언어를 확장할 수 있는 기업은 극소수인 것이 원인이다.
그 가운데서도 새롭게 인기를 끄는 언어들이 분명 있다. 여기 유망한 6가지 언어를 소개한다. (순서는 의미가 없다.).
다트(Dart): 자바스크립트를 대체하는 언어
다트는 구글이 자바스크립트 대용으로 개발한 오픈소스 언어다.
커피스크립트(CoffeeScript) 같은 다른 자바스크립트 대용 언어와 마찬가지로, 자바스크립트 개발자들이 쉽게 배울 수 있는 언어이다. 여러 개발자가 참여하는 대규모의 웹 앱을 구축하기 쉽다는 장점을 갖고 있다. 반면 자바스크립트는 여기에 적합하지 않다.
현재는 크롬에 탑재된 다트 VM에서, 또는 자바스크립트 크로스 컴파일링을 통해 다른 브라우저에서 다트 애플리케이션을 실행시킬 수 있다.
다트를 배워야 하는 이유는? 구글이 지원하고 있어 성공할 확률이 높기 때문이다.
오파(Opa): 간단하고 안전한 웹 앱
오파는 쉽게, 더욱 안전한 웹 애플리케이션을 개발할 수 있는 언어다. 왜 그럴까? (자바스크립트, PHP, MySQL 등) 서로 다은 언어로 브라우저 측면, 서버 측면, 백엔드 측면의 데이터베이스 구성 요소를 구현해 이를 연동시키는 대신, 오파로만 전체 애플리케이션을 개발할 수 있기 때문이다. 이후 컴파일러가 클라이언트와 서버 코드를 창조하고, 이들 사이의 통신 인프라를 구축한다. 영리한 방법이다.
아직까지는 기업들이 오파를 대규모로 도입해 이용하는 사례는 없다. 그러나 드라이버에 따르면, 현재 인터넷에서 이 언어가 많이 이야기되고 있다.
오파를 배워야 하는 이유는? 웹 애플리케이션이 점차 복잡해지며, 증가하고 있는 추세이다. 서버 측면/클라이언트 측면에서 코드를 자동으로 배포할 수 있다는 독창적인 장점이 있다.
스칼라(Scala): 확장성이 뛰어난 언어
스칼라는 '확장 가능한 언어(Scalable language)'의 약자이며, 정확히 이를 위해 만들어진 언어이다. 아주 작은 프로그램 또는 아주 큰 애플리케이션 모두에 사용할 수 있다. 2003년 소개되었기 때문에 새로운 언어라고 말하기는 힘들다. 그러나 관심이 높아지고 있다. 관심이 높아지고 있는 이유 중 하나는 동시 실행(병행 실행)을 위해 코드를 최적화 할 수 있기 때문이다. 또 많은 개발자들이 이를 사용하기 선호하는 것도 이유다.
스칼라를 도입했을 때 기업이 얻을 수 있는 주요 이점 가운데 하나는 자바와의 상호운영성이다. 이클립스, 인텔리제이(IntelliJ) 또는 넷빈스(NetBeans) 같은 IDE(Integrated Development Environments)와 스프링(Spring)이나 하이버네이트(Hibernate) 같은 프레임워크는 물론, JVM(그리고 안드로이드)에 적용할 수 있다. 포레스터의 수석 애널리스트 제프리 하몬드는 "기존 JVM 위에 구현을 할 수 있다는 점이 큰 의미를 갖는다"고 말했다.
스칼라를 배워야 하는 이유는? 이미 자바에 투자했으며, 자신들의 생산 환경에서 새로운 무언가를 지원하는 것을 꺼리는 기업들이 매력을 느낄 수 있기 때문이다.얼랑(Erlang): 동시 실행(병행 실행)
얼랑은 동시 실행(Concurrency) 덕분에 탄성을 얻은 또 다른 언어이다. 1986년 처음 개발됐고, 1998년 오픈소스로 공개됐다. 규모가 크고 유효성이 높은 애플리케이션 구축에 적합한 언어다. 얼랑의 런타임 시스템은 핫 스와핑(Hot Swapping)을 지원하기 때문에, 실행되고 있는 시스템을 중지시키지 않고도 코드를 수정 또는 업데이트 할 수 있다.
또 동시 실행 프로그래밍을 효율적으로 만들 수 있는 프로세스를 생성 및 관리하기 위한 언어 수준의 기능이 제공된다. 한편 프로세스는 메시지 전달(Message passing) 없이 커뮤니케이션 한다. 잠금 기능이 필요 없는 것이다.
얼랑을 배워야 하는 이유는? 가트너의 드라이버와 포레스터의 하몬드 모두 얼랑이 앞으로 인기를 끌 것이라고 전망했다.
실론(Ceylon): 모듈식 자바 킬러
자바에 기반을 둔 실론은 자바 킬러의 일종으로 개발됐다. 레드햇 산하 팀이 큰 프로그램 개발을 위한 언어로 개발했다. 안정적인 버전이 처음 공개된 시기는 2013년 말이다.
모듈성을 중요한 특징으로 갖고 있는 언어다. 코드를 패키지와 모듈로 정리해, 모듈 아카이브로 컴파일링 할 수 있다. 툴링은 모듈 저장소 시스템을 지원한다. 실론 허드(Ceylon Herd)라는 중앙 저장소에서 모듈 일체를 발행할 수 있다.
실론은 자바 프로그래밍에 기반을 두고 있고, 이클립스 기반 IDE와 명령줄 툴(모듈성 지원)이 탑재되어 있다. 따라서 자바 프로그래밍에 익숙하다면 어렵지 않게 학습을 할 수 있다.
실론을 배워야 하는 이유는? 실론 프로그램은 자바 및 자바스크립트 가상 머신(클라이언트 및 서버 시스템)에 컴파일링 및 실행된다. 오파와 유사하다. 또 자연어 코드와 쉽게 상호운영된다.
고우(Go): 클라우드를 위한 언어
고우는 구글이 2009년 처음 공개한 오픈소스 언어다. 고우랑(Golang)이라고도 하는 고우는 C와 같은 전통적인 언어다. 그러나 클라우드용 언어로 동시 실행과 가비지 콜렉션(Garbage collection)을 지원한다. 크기가 큰 고우 애플리케이션이라도 컴퓨터 한 대로 몇 초 만에 컴파일링을 할 수 있다.
고우를 이용한 대표적인 프로젝트로는 도커(Docker) 및 포스닷컴(Force.com)을 예로 들 수 있다. 드라이버는 "현재 고우에 대한 이야기가 많다. 많은 테스트가 진행되고 있다. 그러나 학습 곡선이 가파를 것이다."고 말했다.
고우를 배워야 하는 이유는? 클라우드에 적합하고, 구글이 지원하고 있고, 현재 고우에 대한 관심 수준이 높다는 점을 감안하면, 이 언어의 수요 또한 증가할 것이기 때문이다.
*Paul Rubens는 영국에 거주하는 테크놀로지 저널리스트다. ciokr@idg.co.kr[기사출처 : http://www.ciokorea.com , 기사원문 : http://www.ciokorea.com/news/21219?page=0]
댓글