코딩 실력 테스트 과정에서 자주 활용되는 프로그래밍 언어
8
자료 제목 :
The Top 8 Programming Languages for Filtered Hiring Assessments
자료 출처 :
Filtered
원본자료 다운로드
발행 날짜 :
2022년 12월 14일
개발자 / 오픈소스

“옛 명성 되찾을 수 있을까?” 루비 언어의 흥망성쇠

Josh Fruhlinger | PCWorld 2023.02.17
웹 개발 분야에 몸담은 시간이 어느 정도 된다면 지금까지 많은 언어와 프레임워크가 뜨고 지는 과정을 지켜봤을 것이다. 혜성처럼 나타난 루비(Ruby)와 웹 애플리케이션 프레임워크 루비 온 레일즈(Ruby on Rails)는 그중에서도 가장 화려했다. 인포월드도 2008년에 루비 온 레일즈가 자바의 뒤를 이을 것인지 살펴보며, 루비와 관련된 스타트업에 대대적인 벤처 캐피탈 투자가 이뤄지고 있다고 전한 바 있다. 
 
ⓒ Getty Images Bank 

15년이 지난 지금, 루비가 자바의 자리를 뺏을 거로 생각하는 사람은 많이 없을 것이다. 프로그래밍 인기 순위를 추적하는 티오베(TIOBE) 인덱스에 따르면 2023년 2월 기준 루비의 인기 순위는 16위다. 자바는 4위다. 채용 플랫폼 업체 필터드(Filtered)는 채용 코딩 테스트 과정에서 가장 많이 활용되는 프로그래밍 언어를 8개를 공개했는데, 거기에 루비는 아예 포함하지도 않았다. 필터드에 따르면 고용주가 루비 언어로 프로그래밍 실력을 테스트하는 비율은 0.5%에 불과하다.

물론 루비는 아직 포트란, 알골(ALGOL) 수준으로 완전히 역사 속에 남은 언어는 아니다. 그렇다고 루비가 예전 같은 인기를 누릴 수 있을 거라는 보장도 할 수 없다. 루비가 어떻게 무슨 이유로 가장 사랑받는 언어 목록에서 사라지게 됐는지, 그리고 루비에게 아직 미래가 있다고 생각하는 이유가 무엇인지에 업계에 있는 루비 개발자에게 들어보았다.
 

루비가 인기 있었던 이유

초창기 루비가 폭발적인 인기를 끈 데는 여러 이유가 있지만 가장 중요한 요인은 특히 프론트 엔드 애플리케이션에서 개발을 쉽고 빠르게 확장할 수 있다는 점이었다. 그 장점은 지금도 유효하다. 루비 3.2 프로그래밍(Programming Ruby 3.2)의 공동 저자인 노엘 래핀은 “루비 온 레일즈는 여전히 소규모 팀이 대규모 팀처럼 영향력을 발휘할 때 쓰면 좋은 수단”이라면서 “아무것도 없는 것에서 시작해 결과물을 만들어내는 가장 빠른 방법”이라고 말했다.

온라인 쇼핑몰 구축 서비스 업체인 부티크셋업의 컨설턴드 풀키트 바드와즈는 “루비는 사용자에게 충실한 프론트 엔드 경험을 제공하는 데 있어 늘 최선의 언어였고 지금도 마찬가지다. 최종 사용자에게 손쉬운 사용성을 제공하며 안정적이고 안전한 경험을 제공한다. 또한 인터랙티브 루비 같은 쉘을 이용하면 코드 실행 결과를 한 줄씩 바로바로 확인하는 실험도 할 수 있다”라고 말했다.

또한 루비는 초창기부터 오픈소스 커뮤니티의 강력한 지지를 받았다. 소셜 네트워크 서비스인 쿼티드(Qwoted)의 CTO 케빈 트로우브리지는 오픈소스 커뮤니티에서 인기가 높은 이유에 대해 언어적 기본 특성에 주목했다. 트로우브리는 “루비는 모든 프로그래밍 언어 중 가장 산문적이다. 즉, 읽고 쓰기가 매우 쉽다. 그런 이유로 강력한 커뮤니티가 있고, 실제 제품 및 높은 생산성과 만족감을 주는 최적화된 언어라는 철학이 있다”라고 설명했다. 

그러나 이러한 장점만으로는 루비와 루비 온 레일즈가 주류가 될 수 없었다. 그러는 사이 다른 언어와 프레임워크도 꾸준히 발전되고 있었다. 2006년부터 루비 개발자로 일해온 매튜 보는 “레일즈는 웹이 변화하고 성장하던 정점에 등장했다. 그 성장에서 혜택을 얻었고 더욱 발전할 수 있었다. 그러나 다른 기술도 동일하게 비슷한 혜택을 얻고 성공할 수 있었다”라고 말했다.

매튜 보는 최근 타입스크립트 기술 전문 업체 래티스(Lattice)의 선임 소프트웨어 엔지니어로 입사했다. 보는 “최근 몇 년 동안 루비 커뮤니티는 명령줄 르네상스의 주요 동력이 되었는데, 동시에 루비의 성공이 다른 언어의 인기를 키웠던 측면도 있다. 2000년대 초반, 루비는 리스프(Lisp)에 익숙하지 않은 사용자에게 REPL 기반 개발을 알렸고, 펄(Perl)의 CPAN에 질색했던 사람들에게 패키지 관리 방식을 알려주었다. 기업 사용자를 넘어 다양한 자바 개발자에게 테스트 기반 개발 방식을 알렸다. 모두 지금 중시되는 개념들이다. 루비 커뮤니티가 직접적으로 만든 개념은 아니지만 루비 프로그래머에 의해 대중화된 것이다”이라고 말했다.
 

루비의 도전자, 자바스크립트와 파이썬

한때 루비가 휩쓸었던 다양한 분야를 주도하는 언어는 자바스크립트다. 자바스크립트가 브라우저에서 탈출해 더 넓은 세계로 나왔기 때문에 가능한 일이다. 뉴 렐릭(New Relic)의 디벨로퍼 릴레이션 부문 디렉터 제미아 시우스는 “자바스크립트가 풀스택 언어로 성장하면서 엔지니어는 프론트 엔드, 백엔드, 모바일 프로젝트를 하나의 언어, 나아가 하나의 공유 코드로 구축할 수 있게 됐다. 루비는 배우기 쉽고 매우 높은 보안 기준과 활발한 커뮤니티를 갖고 있다. 그러나 풀스택이라고 하면 노드JS, 리액트(React) 등 선호하는 프레임워크가 무엇이든 결국 자바스크립트를 떠올린다”고 말했다. 

쿼티드의 트로우브리지는 자바스크립트는 한때 개발자들의 멸시를 받았지만 여러 개선을 통해 인기 언어로 자리 잡았다고 보고 있다. 사실 자바스크립트는 시간이 지날수록 루비와 비슷해졌다. 트로우브리지는 “브라우저 벤더들은 형식화, 표준화, 간소화, 강화에 심혈을 기울였다. 지금의 자바스크립트는 과거에 비해 훨씬 더 좋아졌다”고 말했다.

래티스의 보는 “지금 형태의 자바스크립트 생태계는 2004년에는 상상할 수 없었다. 명령줄 르네상스와 웹 플랫폼의 부상이라는 두 가지 조건이 필요했기 때문이다. 1999년부터 2009년까지, 자바스크립트 표준의 새 버전 하나가 나오는 데 꼬박 10년이 걸렸다. 지금은 매년 나온다. 레일즈는 자바스크립트를 모르고도 풀스택 개발자가 되는 것이 가능했던 마지막 시기에 부상했다”라고 덧붙였다.

한편 파이썬은 지금 개발이 활발하게 이뤄지고 있는 인공 지능과 머신 러닝 분야에서 주도적인 언어가 됐다. 바드와즈는 “파이썬은 과학계에서 인기를 얻었다. 모델과 알고리즘을 훨씬 더 빠르게 프로토타이핑할 수 있기 때문이다. 그렇게 해서 루비보다 몇 년 앞서 나갔다. 반면 루비는 실행 속도가 느린 언어로 인식됐고 주목받지 못했다”라고 말했다. 뉴 렐릭의 시우스 역시 “게임에서 VR, AI, ML에 이르기까지 모든 것을 만들 수 있는 다재다능한 언어에 대해 대부분 파이썬을 떠올린다”고 말했다. 
 

루비의 쇠락

여러 역학 관계가 작용하면서 자바스크립트와 파이썬은 루비보다 앞서 나갔다. 언어 자체의 특성이 전부가 아니다. 쿼티드의 트로우브리지는 “문서상으로 보면 파이썬과 루비는 상당 부분 동일하다. 두 언어 모두 동적인 인터프리트 스크립팅 언어이며 서버에 가장 잘 맞는다. 메모리를 그다지 효율적으로 사용하지 않으므로 실행 비용이 크지만 유연성이 매우 뛰어나다. 또한 빠르게 쓸 수 있고 초보자에게 친화적이기도 하다”고 말했다.

그러나 데이터 과학에 있어서는 텐서플로우, 케라스와 같은 라이브러리를 보유한 덕에 파이썬이 우위를 점하고 있다. 바드와즈는 “이러한 프레임워크는 코더가 더 쉽게 데이터 시각화를 구축하고 머신 러닝을 위한 프로그램을 만들 수 있게 해준다”고 말했다.

한편 자바스크립트에는 개발자가 손쉽게 다운로드해서 거의 모든 용도에 따라 개조할 수 있는 무수히 많은 라이브러리가 쏟아져 나왔다. 트로우브리지는 “기술자로서 스스로 옳은 길이라고 믿는 틈새시장을 쫓아 자기만의 여정을 떠날 수 있다. 그러나 자바스크립트의 경우 뛰어난 라이브러리가 있다. 굳이 이러한 라이브러리를 모두 무시할 이유가 없다고 본다”라고 말했다.

이러한 라이브러리의 상당수는 커뮤니티 구성원에 의해 개발됐다. 이는 오픈소스 커뮤니티라는 지원군을 얻은 덕에 많은 사람들의 기여를 이끌었다. 그러나 큰 영향을 미친 것은 구글이 출시한 파이썬의 텐서플로우다. 바드와즈는 이를 파이썬의 ‘게임 체인저”라고 평가했다. 구글은 학계 주도 하에 파이썬을 내부 스크립팅 언어로 만들었다. 시장 지배적인 웹 브라우저를 만든 구글은 자바스크립트를 강화하는 데 당연히 관심이 있었다. 트로우브리지는 자바스크립트가 예전에 비해 훨씬 더 빨라지고 메모리 효율성이 높아진 것은 대부분 구글의 공이라면서 “어떤 면에서는 거의 저수준 언어처럼 느껴진다”고 말했다. 그 사이 루비는 성능이 떨어진다는 인식이 광범위하게 퍼졌는데, 여기에는 개선에 필요한 리소스를 갖춘 일종의 후원사가 없다는 점도 이유가 됐다.

루비가 한때 번성했던 틈새 영역은 루비 언어 때문이 아니라 업계 지형이 바뀌어 그 틈새 자체가 사라진 경우도 있다. 래티스의 보는 “나는 지역 크리에이티브 에이전시의 고객을 위한 마케팅 사이트와 온라인 상점을 만드는 일로 사업을 시작했다. 그때는 웹 개발 세계의 그 하부가 얼만큼 자동화됐는지를 인식하지 못하는 경우가 많았다. 몇 년 만에 그 사업은 더 이상 지속할 수 없게 됐다. 워드프레스나 쇼피파이(Shopify)를 사용해서 꽤 괜찮은 사이트를 직접 만들 수 있게 되면서 맞춤 제작형 사이트에는 아무도 관심을 두지 않았다”라고 말했다.
 

루비가 사라지지 않는 이유

그렇다고 해도 루비가 사라지는 것은 아니다. 온라인 쇼핑 업계의 거물인 쇼피파이가 주 개발 플랫폼으로 루비 온 레일즈를 사용한다는 점도 중요하다. 부티크셋업 의 바드와즈는 “동적인 기능과 유연함을 갖춘 루비는 전자상거래 앱을 만드는 데 있어 여전히 최고의 언어”라며 “다양한 모듈을 통해 앱을 만들고 나중에 수정할 수 있다. 따라서 추가 기능을 위해 손쉽게 앱을 업데이트할 수 있다”고 말했다.

물론 운영 규모 면에서 쇼피파이가 구글과 같은 기업에 견줄 수는 없다. 하지만 구글도 자신이 선호하는 언어를 후원하듯이 쇼피파이도 일종의 루비 후원사 역할을 여전히 하고 있다. 예를 들어 최근 쇼피파이는 루비 표준에 포함된, 성능 개선을 위한 JIT(Just-In-Time) 컴파일러인 YJIT를 개발했다.

쿼티드의 트로우브리지는 루비가 “레일즈의 ‘API 전용’ 모드와 같이 웹 애플리케이션의 서버 구성요소에 잘 맞는 뛰어난 서버 측 ‘연결(glue)’ 언어로서도 번성하고 있다”면서 “어떤 면에서 루비가 처음에 그런 연결 언어로 주목받기도 했다”라고 말했다.

필자가 인터뷰한 거의 모든 사람은 대부분 루비와 루비 온 레일즈가 여러 환경에서 계속 사용될 것이라고 생각한다. 트로우브리지는 “많은 언어가 한때 누렸던 뜨거운 관심은 받지 못하더라도 계속해서 관련성을 유지하고 폭넓게 사용된다. 대표적인 예가 자바다. 나는 루비와 자바가 비슷한 궤적을 그릴 것으로 예상한다”라고 말했다.

마지막으로, 루비 커뮤니티에는 따뜻함과 열정이 있다. 이는 루비의 자리를 빼앗은 언어를 포함해 다른 언어에서는 잘  찾아볼 수 없는 특징이다. 예를 들어 루메노바 AI(Lumenova AI)의 CTO 코스민 안드레스쿠는 “방대한 루비 젬 라이브러리를 갖춘 레일즈는 API가 불안정하고 필요한 웹 개발 툴 측면에서도 충분히 성숙하지 않은 여러 자바스크립트 라이브러리에 비해 여전히 큰 이점이 있다”고 말했다. 보는 파이썬의 특징에 대해 좀 더 직설적으로, “파이썬 쪽에서 내가 만난 대부분의 사람들은 파이썬을 사용하기를 무척 싫어한다”고 말했다.

보는 “나는 여전히 개인적인 프로젝트에 루비를 사용하고 있으며, 직업적으로도 다시 사용할 수 있게 되기를 바란다. 루비에는 현재 많은 흥미로운 개발이 진행되고 있고 6개월 전에는 관련 일자리도 많았다. 루비가 다시 ‘다음의 새롭고 큰 무언가’가 될 일은 없지만 앞으로도 계속 사용될 것”이라고 말했다.
editor@itworld.co.kr
 Tags 루비

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

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

Copyright © 2024 International Data Group. All rights reserved.