세계 보안 엑스포  전자정부 솔루션 페어  개인정보보호 페어  국제 사이버 시큐리티 컨퍼런스  세계 태양에너지 엑스포  스마트팩토리  세계 다이어트 엑스포  INFO-CON
Home > 전체기사
[주말판] 개발자라면 한 번쯤 알아봐야 하는 언어 10
  |  입력 : 2018-02-03 14:57
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기
기존 강자 언어 7개와 떠오르는 신진 3...그리고 패배자 하나
선호도가 높은 언어들은 호환성 좋고 배우기 간단해


[보안뉴스 문가용 기자] 모든 게 빨리 변해가는 세상이라지만, 개발자들만큼 이것이 피부로 와 닿는 사람들도 드물 것이다. 플랫폼과 애플리케이션에 대한 수요는 높아지는데, 수많은 언어들이 나타나 유행할 것처럼 군림하다가 또 어느 순간 반짝 사라지니까 말이다. 그러니 항상 새로운 언어에 대한 관심은 유지하되, 기존 것에 대한 미련은 가지지 않는 것이 중요하다.

[이미지 = iclickart]


최근 프로그래머 및 코더 양성을 위한 단체인 코딩 도조(Coding Dojo)에서, 2018년 한 해 동안 배워두면 가장 도움이 될 만한 언어가 무엇인지 파악하기 위해 구인구직 및 취업 웹사이트인 Indeed.com와 함께 25개의 프로그래밍 언어를 분석했다. 그리고 현장에서 근무하는 코더들의 의견을 취합해 10가지를 뽑아냈다. 이번 주말판에서는 그 10가지 언어에 대해 간략히 다뤄보고자 한다.

코딩 도조의 학과장인 스페로스 미서라키스(Speros Misirlakis)는 “한 개의 언어만 가지고 은퇴할 때까지 소프트웨어 개발자로 먹고 살 수 있는 시대는 지났다”고 말한다. 그렇다고 나오는 언어들을 모두 배워둘 필요는 없다. “지금 시대에서 프로그래머라면 적어도 3~5개의 프로그래밍 언어를 다룰 줄 알아야 합니다. 또한 프론트 엔드부터 백 엔드, 데이터베이스로 구성된 웹 아키텍처 요소 요소에 사용되는 주요 언어들에 대한 기본 개념 정도도 필수이고요.” 소프트웨어 개발을 꿈꾸는 이들이 알아두면 좋을 코드 10가지는 다음과 같다.

1. 자바
자바는 인기도 많고 유연성도 좋은 오픈소스 프로그래밍 언어다. 나온 지 약 20년 정도 됐고, 솔직히 일반인들 중에서도 자바라는 이름을 못 들어본 사람이 없을 정도로 세상 모든 곳에 퍼져있다. 코드 훈련소인 코딩노매즈(CodinNomads)의 공동 창립자인 라이언 데스몬드(Ryan Desmond)는 “자바는 컴퓨터에서부터 전화기 안쪽까지, 모든 곳에 존재한다”고 말한다. “또한 민간 부문과 공공 부문, 중소기업에서 대기업에까지, 모든 조직에서도 자바는 활발히 사용되고 있습니다.”

그렇게 사이버 공간 곳곳에 편재해 있다는 것이 자바의 강점이고, 앞으로 더욱 강세가 될 이유다. “초연결 시대에는 서로 다른 기기와 기술들끼리의 호환성이 가장 중요한 이슈입니다. 이렇게 연결과 호환의 문제를 해결하기 위해 가장 많이 사용하는 것은 RESTful API들입니다. 그리고 이 RESTful API와 가장 많이 사용되는 언어는 자바죠. 게다가 전 세계에서 가장 많이 사용된다는 OS은 안드로이드 역시 자바의 힘으로 만들어진 것이고요. 오래되고 누구나 알고 있다는 것 자체가 자바를 더욱 중요하게 만들 것이며, 그러므로 자바는 모든 프로그래머들의 필수 소양과 같은 언어가 되었습니다.”

2. 파이선
프로그래밍 언어들끼리 위계가 있어 피라미드로 구성이 가능하다면, 아마 파이선이 가장 위에 있을 것이라고 말하는 개발자들이 많다. 파이선은 범용성이 대단히 좋은 웹 개발용 프로그래밍 언어로 소프트웨어 개발자들에게는 일종의 지원 도구(support tool)와도 같다. 과학적 분석을 위한 컴퓨터 프로그램을 만들 때, 데이터를 채굴할 때나 머신 러닝 알고리즘을 만들 때, 파이선이 사용된다.

“현재 가장 촉망받는 분야 중 하나로 무서운 성장세를 보이고 있는 데이터 과학은 이미 파이선으로 점철되어 있죠. 컴퓨터 과학과 관련된 여러 분야 중 가장 인재에 대한 수요가 높고, 전문가의 몸값도 빠르게 오르고 있는 분야를 파이선이 차지하고 있는 겁니다.” 이는 소프트웨어 개발 업체인 버그리플레이(BugReplay)의 CTO 샘 코프만(Sam Kaufman)의 설명이다.

소프트웨어 개발 분야의 헤드헌팅 전문 기업인 스트라이드서치(Stride Search)의 부회장 데렉 존슨(Derek Johnson)은 “파이선은 다목적 프로그래밍 언어이기 때문에 ‘반짝 인기’보다는 ‘꾸준히 애용’될 가능성이 높다”고 설명한다. “게다가 IT 기업의 최고 정점에 있는 구글이 애플리케이션 개발에 파이선을 활용한다는 사실도 파이선의 가치를 높여줍니다.”

3. 자바스크립트
자바스크립트 역시 그 높은 인기와 수요가 당분간 낮아질리 없어 보이는 언어 중 하나다. 아니, 그런 언어들 중에서도 단연 대표적이다. 코딩 도조에 의하면 “현직 개발자들의 80%가 사용하고 있으며, 모든 웹사이트들의 동적 논리 95%에도 자바스크립트가 사용된다”고 한다. 더군다나 자바스크립트용 프론트엔드 프레임워크인 리액트(React)와 앵귤러JS(AngularJS) 등도 사물인터넷과 모바일 기기의 확산으로 그 미래가 밝은 상태다.

npm이라는 개발 회사의 COO인 로리 보스(Laurie Voss)는 “모든 브라우저의 네이티브 언어로는 자바스크립트가 유일하다”며 “그렇기 때문에 모든 개발자에 있어 필수 전공”이라는 입장이다. “오히려 자바스크립트만 알아도 충분한 상황이기 때문에 개발자들은 자바스크립트가 존재하고, 현재의 위상을 가지고 있다는 것이 감사한 일이죠. 물론 제2의 자바스크립트가 또 나타나면 애기가 달라지겠지만요.”

2018년에도 자바스크립트에 대한 수요는 여전히 높을 것이라고 로리 보스는 전망한다. “제 집을 걸어도 좋아요”라고 말하는 건 소프트웨어 업체인 거너 테크놀로지(Gunner Technology)의 CEO인 코디 스완(Cody Swann). “써본 사람들은 더 잘 알지요. 자바스크립트가 얼마나 효율적인지. 그냥 다 쓰니까 쓰는 게 아니라, 언어로서도 훌륭합니다. ‘롱런’이 예상될 수밖에 없어요.”

웹사이트 개발 회사인 제이 나인(Jay Nine)의 CEO 제리 니헨(Jerry Nihen)도 “자바스크립트가 단연 2018년도의 1위 언어가 될 것”이라고 전망한다. “이미 모든 웹과 모바일 환경이 자바스크립트로 이루어져 있습니다. 그 영향력이란 건 실로 어마어마해서 그 어떤 성능을 가진 언어가 새롭게 나타난다고 해도 대체가 가능할 것 같지 않습니다. 사용자들 대부분 자신들이 누리고 있는 기능들 대부분이 자바스크립트로 구성되어 있다는 걸 인지하지도 못할 겁니다.”

콘텐트 관리 시스템 및 애플리케이션을 개발하는 솔로데브(Solodev)의 수석 아키텍트인 로스 윌리엄즈(Ross Williams)는 “이미 차세대 개발자들 대부분은 뭘 만들든 자바스크립트 하나로만 다 해내고 있다”며 그 보편성이 개발자들 사이에서 이미 세대를 초월하고 있다고 증언한다. “또한 소프트웨어 개발이라는 경력 초입 단계에서 가장 선호되는 것 또한 자바스크립트라는 뜻이죠. 자바스크립트의 미래는 밝습니다.”

4. C++
언어들 중 선배 격에 속하는 C++의 인기는 여전히 높다. 하지만 최근 들어 젊은 언어들이 등장하며 심각한 경쟁 상태에 놓여 있다. 원래는 C라는 프로그래밍 언어의 확장판 개념으로 등장했지만, 이미 수많은 애플리케이션 소프트웨어, 컴퓨터 게임, 드라이버, 클라이언트-서버 애플리케이션, 펌웨어를 만드는 데 사용되었고, 지금도 그러고 있다.

하지만 코딩 도조는 “C++가 지나치게 어렵고 복잡하다고 호소하는 프로그래머들이 늘어나고 있다”고 말한다. 특히 C++와 경쟁 관계에 있는 ‘젊은’ 언어들과 비교했을 땐 이 단점이 더 뚜렷하게 드러난다. 차세대 프로그래머들 사이에서 파이선이나 자바스크립트에 비해 선호도가 낮을 수밖에 없다. 그렇지만 역사가 오래된 대기업이나 국가 기관의 시스템을 유지, 점검하려면 C++에 대한 지식이 필수다.

자동차 산업 부문에서 웹 개발을 전문으로 하는 카구루스(CarGurus)의 부회장 올리버 크르잔(Oliver Chrzan)은 “C++에 대한 수요가 2018년 당장에 낮아질 것은 아니지만, 지금의 상태로 보면 시한부 인기를 누리고 있는 것 뿐”이라고 말한다.

5. C#
역시 꽤나 오래된 C#은 마이크로소프트가 만든 객체 지향형 프로그래밍 언어다. 마이크로소프트의 .NET 플랫폼에서 사용되는 것을 목적으로 만들었고, 특히 프로그램을 보다 빠르고 정확하게 만들기 위해 고안됐다. 하지만 ‘강력한 프로그래밍’을 장점으로 하고 있어서 게임 개발에 널리 활용되고 있다. 니헨은 “언어에 강력함을 더해주기 때문에 C#은 2018년에 큰 인기를 누릴 것”이라고 보고 있다. “최근 언어를 잘 사용하는 게 세련되어 보일 수도 있지만, 예전의 강력한 언어를 능숙하게 다루는 것도 이 시장에서는 꽤나 큰 매력입니다.”

6. PHP
웹 개발자들에게 가장 인기도 높고 악명도 높은 언어 중 하나가 바로 PHP다. PHP는 HTML이 할 수 없는 일들을 해주기도 하며, MySQL 데이터베이스와 작용할 때도 사용된다. 윌리엄즈는 “PHP도 자바나 C++처럼 우리 주위에 항상 있어왔던 언어 중 하나로, 그러한 역사와 익숙함 때문에라도 절대 사라지지 않을 것으로 보인다”고 말한다. “다만 새로운 기능이 덧입혀질 수는 있겠죠. 다른 언어와의 호환성이 더 높아질 수도 있고요.”

하지만 크르잔은 “PHP가 앞으로도 멀티스레딩 기능을 지원하지 않는다면 지금의 위상을 유지하기 힘들 것”이라고 내다본다. “모든 프로세서가 다수의 코어를 가지고 있는 지금, 멀티스레딩이 되지 않는다는 건 말이 되지 않아요. PHP는 몰락할 수도 있습니다. 하지만 멀티스레딩을 지원하는 쪽으로 변해가리라고 보는 게 더 현실적이겠죠.”

7. 펄
코딩 도조는 “펄5와 펄6의 인기는 꾸역꾸역 높아지고 있다”고 말한다. “시스템 관리자와 네트워크 관리자들 사이에서 특히 인기가 높아지고 있습니다. 펄은 ‘아교의 언어(glue language)’라는 별명을 가지고 있죠. 서로 다른 소프트웨어의 요소들을 이어 붙여주는 데 훌륭한 성능을 보여주거든요.”

하지만 펄의 전성기가 얼마 남지 않았다고 보는 이들도 있다. 글로벌 소프트웨어 엔지니어링 업체인 유노스퀘어(Unosqure)의 회장인 지안카를로 디 베체(Giancarlo Di Vece)는 “우리가 보기에는 PHP와 펄의 인기가 지속적으로 감소하고 있다”는 입장이다.

8. 스위프트
2014년 애플이 발표한 꽤나 젊은 언어로 iOS와 맥OS 시스템을 위한 프로그래밍 툴이다. 출시 시기나 작동되는 환경, 목적 등에 어울리게 현재 모바일 환경에서 인기가 높아지고 있다. 모바일 개발 플랫폼 업체인 렐름(Realm)의 CMO인 폴 코파키(Paul Kopacki)는 “얼마 전까지만 해도 스위프트라는 게 존재하는 줄도 몰랐는데, 어느 날 갑자기 iOS 개발자들이 다 스위프트를 사용하고 있더라”고 말한다. “읽고 쓰는 게 용이하다는 게 가장 큰 장점인데, 그 용이함이 어느 정도냐면 자연어(영어)와 흡사할 정도입니다.”

9. R
최근 한 조사에서 ‘싫어하는 사람이 가장 적은 언어’로 뽑힌 R은 2017년에 슬슬 인지도를 넓히더니 2018년 초반인 지금 ‘꼭 배워야 할 만한 언어’에 근접해 있다. 이는 빅 데이터와 데이터 분석, 데이터 과학에 대한 수요가 높아졌기 때문이다. 데이터를 처리하는 데에 있어 R이라는 언어가 주목받기 시작한 것이다. 코딩 도조는 “R은 매우 강력한 언어로, 확장성도 좋고 무료로 배포된다는 장점을 가지고 있다”고 설명한다. “데이터 채굴과 데이터 분석 분야가 성장하면서 R 역시도 함께 자라갈 것입니다.”

10. 러스트(Rust)
구글 트렌드(Google Trends) 검사에 의하면 러스트라는 언어의 인기 상승도가 심상치 않다. “모질라의 새로운 시스템 언어인 러스트는, 개발자들 사이에서도 특히 시스템 언어 커뮤니티 내에서 많이 언급되고 있습니다.” 보스의 설명이다. “2018년이 다 가기 전에 개발자라면 러스트에 대해 분명히 알아보는 시간이 있을 겁니다. 자의든 타의든 말이죠.”

그렇다면 가장 인기 없는 언어는? 루비
역동적인 오픈소스 프로그래밍 언어의 대표 주자처럼 칭송 받던 루비(Ruby)는 “저물기 시작한 지 오래”라는 평을 받고 있다. 미서라키스는 “프로그래밍 언어도 유행이 빠르게 바뀌는 편”이라며 “여기에는 여러 가지 이유가 있다”고 말한다. “루비에 대한 수요가 줄어드는 이유를 정확히 알 수는 없지만, 확실히 여러 조사를 통해서나 현장에서의 느낌을 통해서도 알 수 있습니다. 루비는 점점 사라지고 있어요.”

코딩 전문 학원인 오리진 코드 아카데미(Origin Code Academy)의 강사 마이클 로버츠(Michael Roberts)는 “젊은 개발자들은 빠르고 쉬운 언어를 선호한다”며 “최근 루비보다는 엘릭서/피닉스(Elixir/Phoenix)를 선호하는 사람들이 늘어나고 있다”고 설명을 덧붙였다.

언어를 배우기 전에 가장 중요한 건...
코딩 도조는 “어떤 언어를 배우기로 하든 결국 알고리즘을 만들 줄 아는 능력 자체가 가장 중요하다는 걸 잊지 말아야 한다”고 강조한다. “언어를 많이 알아서 훌륭한 개발자가 되는 게 아니라, 알고리즘을 만들 줄 알아서 훌륭한 개발자가 되는 겁니다. 언어는 유행에 따라 갑자기 나타났다가 금방 사라지기도 해요. 언어 숫자를 꼽아가며 ‘나 몇 개 할 줄 알아’라고 자랑하는 건 스스로를 한 철 장사꾼으로 취급하는 거랑 같습니다.”

결국 알고리즘을 통해 문제를 해결할 줄 아는 개발자라면 어떤 언어를 구사하든 회사들이 모셔가려고 할 것이라고 미서라키스는 말한다. “알고리즘 자체를 만들 줄 안다면, 그 다음에 오는 게 ‘어떤 언어로 이를 표현할 것인가’죠. 알고리즘을 만드는 것에 아무런 문제가 없는 개발자라면 위의 10가지 언어 중 몇 가지를 선택해 언어의 기초 개념과 활용법을 배울 것을 권합니다.”
[국제부 문가용 기자(globoan@boannews.com)]

Copyrighted 2015. UBM-Tech. 117153:0515BC
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

  •  
  • 2
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기


  •  SNS에서도 보안뉴스를 받아보세요!! 
위즈디엔에스 2018WD 파워비즈 2017-0305 시작
설문조사
7월은 정보보호의 달, 7월 둘째 주 수요일은 정보보호의 날로 지정된 상태입니다. 정보보호의 달과 날짜가 특정되지 않은 ‘정보보호의 날’의 변경 필요성에 대해서는 어떤 견해를 갖고 계신지요?
정보보호의 날(달) 모두 현행 유지
정보보호의 달은 현행대로, 정보보호의 날은 7월 7일로
1.25 인터넷대란, 카드사 사태 발생한 1월, 정보보호의 달(날)로
매월 매일이 정보보호의 달(날), 기념일 폐지해야
기타(댓글로)