2024, 꼭 배워야 하는 프로그래밍 언어 top 4~5위

글ㅣ이도행 라인게임즈 테크니컬 디렉터

2024, 꼭 배워야 하는 프로그래밍 언어 top 4~5위

일자

상시
유형
아티클
태그
이 아티클은 <성장하는 개발자의 비밀 노트> 시리즈의 2화입니다.


프로그래밍 언어는 서로 영향을 주고받으며 지속적으로 발전해 왔습니다. 이번 아티클에서 소개할 언어들 역시 1편에 이어 2024년에 배우면 좋을 프로그래밍 언어이자, 다른 언어에서 영감을 받아 발전돼 온 프로그래밍 언어들입니다. 최근 오픈소스가 활성화되면서 새로운 프로그래밍 언어가 다양하게 나오고 있는데요. 그중에도 2024, 2025년도에 두각을 드러낼 것 같다고 생각한 프로그래밍 언어도 소개합니다. (①~③에 해당하는 언어는 1편 아티클 링크에서 확인할 수 있습니다.)

④ 타입스크립트 Typescript



타입스크립트는 컴파일한 값으로 자바스크립트를 출력하는 프로그래밍 언어입니다. 타입스크립트의 가장 큰 장점은 이름에도 나오듯이 “타입"을 넣을 수 있기 때문에 데이터 구조화가 가능해져 견고하고 안전한 프로그래밍이 가능하다는 장점이 있습니다. 

매년 자바스크립트 생태계를 회고하는 State of JavaScript 2022를 보면, 오직 타입스크립트만 사용해 개발하는 비율은 20%가 넘고, 타입스크립트를 절반 이상으로 사용하는 비율은 전체의 75%에 달하는 것을 알 수 있습니다. 또, Github State of Open Source & AI에 따르면, 2023년도의 타입스크립트 사용자 기반은 무려 37%나 증가했다고 하며, 깃허브(Github)에서 Java를 앞지르고, 인기 있는 언어 3위에 안착했습니다.

타입스크립트 하이라이트

  • 정적 타입 분석을 통한 에러의 사전 방지
  • 인터페이스와 타입 정의를 통한 구조화
  • 리팩토링 및 테스트에 민첩함

물론 단점도 있습니다. 타입스크립트의 가장 큰 단점 중 하나는 세팅하는 절차가 있다는 점입니다. tsconfig.json이라는 파일이 존재하고, 이 파일을 통해 어떤 식으로 컴파일할 것인지, 어떤 형태의 자바스크립트로 만들 것인지 등을 설정해야 합니다. 

그러나, 타입스크립트의 핵심은 “타입"을 정의하면서 오는 안정성과 구조적 견고함입니다. 타입은 말 그대로, boolean/string/number와 같은 변수의 형태를 정의하는 것을 의미하며, 더 나아가 자체적인 타입을 정의하는 인터페이스 형태로 발전하게 됩니다. 자바스크립트를 써본 분들이라면, 자바스크립트에서 에러는 항상 런타임, 즉 실행할 때 발생한다는 걸 아실 겁니다. 그러나, 타입스크립트는 인터페이스와 타입들에 대한 검사를 컴파일 단계에서 체크하기 때문에 실행하기 전 문제점을 확인할 수 있다는 점에서 훨씬 안전합니다. 

또한, 타입스크립트의 재밌는 점은 어떤 언어를 감싸 안은 언어라는 점입니다. 일반적으로 타입스크립트가 만들어내는 언어는 자바스크립트이지만, 유저 게임 플랫폼인 로블록스에서 Roblox-ts라는 lua 언어를 감싸 안은 타입스크립트 형태를 만들어서 컴파일 결과물로 lua가 나오게 한 케이스가 있습니다. 비슷하게 웹어셈블리(WebAssembly)용 AssemblyScript 또한 타입스크립트에서 영감을 얻어 만들어졌습니다. 혹시 자바스크립트를 주로 배우고 다뤘다면, 올해는 타입스크립트를 배워보세요. 최고의 선택이 아닐까 싶습니다. 


어떻게 시작하면 좋을까?

가장 간단하게 시작하는 방법은 타입스크립트 플레이그라운드를 이용해서 몇 가지 실습을 해보는 겁니다. 이 플레이그라운드는 로그 출력뿐만 아니라, 타입스크립트로 작성을 하면, 컴파일 된 형태의 자바스크립트의 모습도 볼 수 있다는 장점이 있습니다. 이를 통해 어떤 게 생략되고, 어떻게 자바스크립트화 되는지 알 수 있습니다. 현재 개발 중인 자바스크립트 프로젝트가 있다면 타입스크립트로 바꿔보는 것도 추천합니다. 


Hello World!

```main.ts

const hello = "Hello World!"

console.log(hello)

```


[채용] 타입스크립트 in Wanted

이미 국내의 많은 유니콘 기업과 대기업은 타입스크립트를 사용하고 있습니다. 타입스크립트를 사용하는 가장 큰 이유는 타입이 선언된 스크립트가 구조화에 용이하고, 스케일러블하기 때문입니다. 초기 스타트업이나 빠르고 기민하게 개발해야 하는 팀인 경우 자바스크립트를 우선적으로 보지, 그 외는 대부분 타입스크립트를 본다고 생각하셔도 좋습니다. 

<채용 공고>


⑤ 고 Go



고 언어(이하 고랭(Golang))는 복잡함이 싫고, 단순함의 미학을 좋아하는 분들에게 추천하는 언어 중 하나입니다. C++의 복잡함이 싫은 개발자들이 고랭을 만들었다고 하니, 어떤 느낌인지 추측하실 수 있을 겁니다. 고랭은 사실 2016년까지만 해도 눈에 띄는 언어는 아니었습니다. 그러나 2016년 이후 넷플릭스, 우버, 트위치, 드롭박스와 같은 거대 기업들이 고랭을 선택하게 되면서, MSA(Micro Service Architecture)를 구축하고, 쿠버네티스나 도커등 진형에서 고랭을 적극적으로 사용하기 시작했고 이후 빠르게 인기를 얻기 시작했습니다. 

고랭은 2016년 그 해에 TIOBE 프로그래밍 언어로 선정됐고, 최근 TIOBE 랭킹 8위에 안착하는 등 안정적으로 인기를 얻은 언어입니다. 주로 백엔드 개발에 사용되는 고랭은 지속적으로 고퍼콘이라고 불리는 고랭 콘퍼런스를 통해 높은 인지도를 쌓는 중이며, 국내의 경우 2023년에 고퍼콘 코리아가 열렸던 적 있으니 참고해 보세요. 

고 하이라이트

  • 간결하고 단순한 문법 
  • 압도적으로 빠른 컴파일 속도
  • 효율적인 비동기 메커니즘

고랭은 고루틴이라고 부르는 엄청나게 경량화된 스레드 방식을 이용해 간결하게 프로그래밍하고, 효율적인 비동기 로직을 짤 수 있습니다. 고랭에 있는 고루틴은 Erlang에서 영감을 받은 것으로 알려져 있는데, CPU 코어 수와 관계없이 비동기 로직을 작성해도 잘 동작한다는 특징도 있습니다. 또한, 실제 문법에서 사용되는 키워드가 25개밖에 되지 않을 정도로 간결하고 단순한 문법이 핵심이기 때문에  다른 프로그래밍 언어보다 훨씬 쉽게 입문할 수 있습니다. 

고랭은 지속적으로 버전 업을 통해 간결함을 지키며 발전하는 언어이며, 비교적 최근은 2022년 제네릭 프로그래밍을 위한 지원이 추가되면서 1.18 버전부터는 더욱 쉽게 프로그래밍할 수 있습니다. 비동기, 멀티쓰레딩, 동시성 등에 관심 있는 개발자라면, 고랭은 좋은 학습 교두보입니다. 특히, 백엔드 개발자라면 올해 학습할 프로그래밍 언어로 고랭은 최선의 선택일 것입니다. 


어떻게 시작하면 좋을까?

고랭은 국내 백엔드 개발자들에게 지속적인 관심을 받으며 성장했기에 국내에서도 충분히 잘 배워볼 수 있습니다. Tucker의 고 언어 프로그래밍 유튜브로 쉽게 배워볼 수 있고, 빠르게 정리하고 싶다면 Go 프로그래밍 입문 웹북을 추천합니다. 고랭은 바로 시작할 수 있게 웹 컴파일 환경도 잘 구축되어 있어서 Go Playground를 통해 여러 가지 문법이나 코딩을 할 수도 있습니다. 


Hello World!

```main.gopackage main


import "fmt"


func main() {

    fmt.Println("Hello, world!")

}

```

[채용] 고 in Wanted

고랭 개발자는 도커나 쿠버네티스에 의해 잘 활용되었다는 점 때문에 주로 백엔드 개발자를 채용합니다. 국내의 경우 블록체인이나 플랫폼 서비스를 가진 기업에서 특히 적극적으로 채용하고 있습니다.

<채용 공고>


※ 부록 ※ 

2024, 2025년 주목해야 하는 프로그래밍 언어


위에서 소개시켜드린 언어를 모두 들어 봤거나 이미 배워본 얼리어답터 개발자를 위해 추가로 주목해야 하는 언어를 소개합니다. 여기에 나오는 언어는 아직 두각을 드러내고 있진 않지만, 근 시일 내에 성장 가능성이 높은 언어들입니다. 


① 줄리아(Julia) : 가장 빠른 스크립트 언어

줄리아 언어는 머신러닝/데이터 분석 등이 발전하면서 생겨난 동적 스크립트 언어 중 하나입니다. 비슷한 영역의 언어로 매트랩(Matlab)이 있는데요. 줄리아 언어는 매트랩이나 파이썬(Python)보다 훨씬 빠른 속도를 갖고 있고, 데이터 과학 쪽에서 유명한 Jupyter notebook  같은 곳에서 사용해 볼 수 있습니다. 수치 계산과 분산 병렬 실행에 특화된 언어로, 머신러닝이나 계산학 쪽에 관심 있는 개발자에게 추천합니다. 


하이라이트


줄리아 언어는 Jupyter Demo를 통해 웹에서 바로 실행해 볼 수 있습니다. 수학적 계산이나 머신러닝 관련 공부를 하고 계시다면 배워 보세요. 


② 모조(Mojo) : 러스트(Rust)에 영감을 받은 파이썬 

모조는 파이썬의 느린 속도를 개선하기 위해 개발된 언어입니다. 아직 프로토타입 단계지만 파이썬보다 3만 5000배나 빠른 성능을 보여준다고 말하며, 실제 내부의 문법이나 방식이 러스트에서 영감을 많이 받은 형태로 구성되고 있습니다. 모조는 클랭(Clang)의 공동 개발자이자 스위프트(Swift) 언어의 개발자인 크리스 라트너(Chris Lattner)가 개발하는 중인데요. 목표는 파이썬 3.x와 100% 호환되는 슈퍼 셋 언어를 달성하는 것이라고 합니다. 모조는 현재 공개된 지 2년이 안 된 신생 언어지만 매우 빠른 속도로 발전하고 있으며, 앞으로의 행보가 기대되는 언어입니다.


하이라이트

  • 파이썬과 100% 호환함으로써 머신러닝/AI 쪽을 정복하려는 야망 있는 언어
  • 파이썬의 작성하기 쉬운 장점과, 러스트의 소유권 개념을 조합
  • 신생 언어이면서, 빠른 업데이트

모조 언어는 공개된 플레이그라운드를 통해 테스트해 볼 수 있습니다. 파이썬을 하는 프로그래머라면 배워보기 좋은 언어라 생각합니다. 


③ 다트(Dart) : 플러터(Flutter)를 지탱하는 언어

다트는 구글의 차세대 OS 퓨시아와 차세대 프레임워크 플러터(Flutter)를 뒷받침하는 언어로 현재는 대부분 플러터 위주의 개발에서만 사용되는 언어입니다. 그렇기 때문에 다트를 배워야 하는 이유는 플러터를 배워야 하는 이유와 거의 같습니다. 다트는 플러터 프레임워크가 발전하면서 최근 거의 메이저 언어 반열로 올라온 언어 중 하나이기 때문입니다. 

우선 다트는 C언어 스타일처럼 코딩하기 때문에 C/C++/Java와 같은 언어에 익숙한 분들은 매우 빠르게 배우실 수 있습니다. 국내 스타트업 등에서 멀티플랫폼 앱을 만들 때 플러터를 많이 사용하고 있고, 다양한 오픈소스나 샘플들이 존재하기 때문에 빠르게 개발할 수 있는 언어 중 하나입니다. 특히 2022년 Flutter 3가 공개되면서 모바일 앱뿐만 아니라 데스크톱(윈도우, 맥, 리눅스 등)도 개발 시 사용할 수 있게 되었습니다. 빠른 생산성으로 웹이나 앱을 개발해 보실 분이라면 추천드립니다.


하이라이트

  • 가장 빨리 앱을 만들어 볼 수 있는 언어
  • 모든 플랫폼에서 포터블(설치 없이)하게 사용 가능
  • 압도적인 생산성

다트 언어는 다트 패드(DartPad)라는 곳에서 쉽게 테스트할 수 있으며, 실제로 포터블한 성격으로 인해 다트 패드에서 간단한 웹, 앱은 SDK 설치 없이 만들어 볼 수 있습니다.


마무리하며 


성장을 가속하는 방법은 성장하는 무언가에 올라타는 것입니다. 스타트업 업계에는 전)메타 COO 셰릴 샌드버그가 말한 ‘로켓에 자리가 나면 일단 올라타라.'라는 말이 대중적일 정도로 성장을 위해 성장하는 회사에서 일하라고 말합니다.

성장하는 프로그래밍 언어는 여러분에게 작지만 강력한 로켓이 될 수 있습니다. 개발자로서 익숙하게 사용하기 시작한 언어에서 조금 벗어나 새로운 언어를 배워보는 것만으로도 새로운 영감과, 동기부여를 받을 수 있으니까요. 

만약 사이드 프로젝트를 시작해 볼 생각이라면, 새로운 프로그래밍 언어를 도입해서 사용해 보세요. 작은 로켓과 함께 더 큰 성장을 경험할 테니까요. 제가 추천한 여러 언어들이 여러분의 개발 여정에 작게나마 도움이 됐길 바라며 마치겠습니다. 



▶ <성장하는 개발자의 비밀 노트> 시리즈 보러 가기



글ㅣ이도행 라인게임즈 테크니컬 디렉터 (링크드인원티드 소셜)
직방, 엔씨소프트, 넥슨코리아등 IT기업에서 소프트웨어 엔지니어로 10년 이상 개발을 해왔으며, 5년 넘게 팀 리드 역할을 해왔습니다. 현재는 라인게임즈에서 테크니컬 디렉터로 일하는 중입니다. ‘좋은 팀이 최고의 프로덕트를 만든다'를 믿는 개발자이자 리더로, 개발자 리더십, 개발자 커리어 등에 대한 글을 씁니다. 


발행일 2024.04.12