3 Future Programming Languages
해당 글은 Eddy Goh의 미디엄 기사를 번역한 것입니다. 개발 언어 트렌드에 도움 되는 글인 것 같아 소개해드리고자 합니다. 의역, 잘못 번역된 부분이 있을 수 있습니다. 이에 대한 의견은 편하게 댓글 남겨주시면 감사드리겠습니다. :)
원문 링크 바로가기(클릭)
몇 년 안에 프로그래밍 언어가 세상을 좌우할 것이다.
10년 넘도록 이런 기술 시장에서 일하다 보니 느낀 점이 있다. 이 글에서 소개할 세 가지 프로그래밍 언어(프레임워크)에 엄청난 잠재력이 있다는 것이다.
“전 세계 게임의 절반 이상의 Unity에 기반을 두고 있습니다” – 존 리치텔로(Unity CEO)
Unity는 우리가 흔히 볼 수 있는 게임뿐만 아니라 인터랙티브, 3D, 실시간 콘텐츠를 선도하는 최고의 플랫폼이다.
실제로 Unity는 현재 이러한 분야에서 활발히 사용되고 있다:
게임(안드로이드, iOS, PC, 닌텐도, 플레이스테이션)
인터랙티브 경험(증강현실 및 가상현실)
자동차 및 운송(초현실적인 차량 설계와 디자인)
제조(로봇 시뮬레이션)
영화, 애니메이션 제작(실시간 동영상 렌더링)
건축, 엔지니어링 및 건설(건물 디자인 및 가상 건축 환경에 대한 3D 경험 제공)
따라서 지금 Unity(C#)을 배우면 폭발적으로 성장 중인 산업의 일원이 될 수 있다. 안드로이드, iOS, 윈도우, 닌텐도 스위치, 플레이스테이션 등 30개의 플랫폼에서 작동하기 때문이다.
한편 지난 10년간, 세계 게임 시장은 연간 복합 성장률(CAGR) 11%로 성장했다.
72의 법칙에 따르면, 이 같은 성장률을 가진 현재의 게임 시장은 향후 7년 안에 두 배 이상의 가치를 띌 것이다. 게임 산업을 기반으로 봤을 때, Unity 프레임워크 관련 프로그래머에 대한 수요가 급격히 증가할 것으로 전망된다.
또한, Unity를 배우면, 3D, AR 및 VR의 다음 기술 진화에 대비할 수 있다. 초심자의 경우 처음 만드는 앱이나 3D 게임 앱을 쉽게 개발하고 싶다면, Unity를 사용하면 좋다. 유튜브, Udemy 등 많은 플랫폼에 튜토리얼이 있기 때문이다. (실제로 유튜브에 유니티 입문 강좌가 많으니 참고해보는 것도 좋다)
개발자라면 모두 공감할 것이다. 하나의 코드 베이스만으로 가능한 많은 플랫폼에 앱을 게시하고 싶지 않은가? Flutter 2.0은 개발자가 안드로이드, iOS, 데스크톱 및 웹/앱에 기본적으로 게시할 수 있도록 돕는다. Flutter도 마찬가지로 스마트폰, 컴퓨터, 브라우저가 있는 모든 장치에서 작동 가능하다.
Java 안드로이드나 iOS용 Swift 같은 네이티브 언어가 더 효율적일 수 있지만, Flutter에서는 하고 싶은 모든 기능을 다룰 수 있다. 그리고 Dart 언어가 지원하지 않는 기능에 대해 Java나 Swift 코드를 연결할 수 있다는 것도 또 하나의 장점이다.
Flutter는 React Native의 대표 경쟁사인데, 속도, 복잡성, 커뮤니티 측면에서 거의 비슷하다고 볼 수 있다.
그러나 인기를 근거로 비교했을 때, 지난 7월 기준으로 Flutter는 깃허브에 12만 4,000개의 별을 가진 반면, React Native는 96,400개뿐이다. Flutter가 React Native를 제치고 오늘날 개발자들이 선호하는 모바일 앱 크로스 플랫폼 프레임워크가 됐다고 해도 과언이 아니다.
Go(Golang)는 구글에 의해 설계된 프로그래밍 언어로, Golang을 배워야 하는 이유는 다음과 같다.
Golang은 기계 코드로 번역(편집)되기 때문에 시장에서 가장 빠른 언어 중 하나다.
구글의 지원을 받는다.
배우기 쉽고, 많은 커뮤니티를 갖고 있다.
DevOps, 백엔드 개발 및 풀스택 개발자에게 적합하다.
간결하고 직관적인 구문을 사용한다.
세계 랭킹에서 세 번째로 높은 중간 급여를 받는 사람들(약 74,000달러로 높은 급여를 받는다).
Golang은 높은 동시성, 확장성, 멀티스레딩 및 뛰어난 퍼포먼스를 지원하도록 설계됐다. 클라우드, DevOps 및 컨테이너와 100% 호환된다. 개발자는 종종 Kubernetes나 Docker와 같은 DevOps 관련 프로젝트에 Golang을 사용한다. 구글, 드롭박스, 우버, 트위터와 같은 많은 대기업은 단순함과 속도 때문에 Golang을 선호하기도 한다.
공공 클라우드 컴퓨팅 시장의 빠른 확장으로, DevOps 관련 인재에 대한 수요는 매년 증가할 것으로 예측된다. Golang은 백엔드 개발 및 DevOps와 호환되기 때문에 클라우드, 모바일 앱, 게임, 시스템 시장 규모의 빠른 확장에 편승할 수 있다.
대부분 PHP, Node.js, java, Ruby와 같은 프로그래밍 언어를 사용할 것이라 생각한다. 이미 사용하는 언어와 함께 추가적으로 다른 언어를 배우는 것은 능력 향상에 도움 될 것이다. 그 언어가 이 글에 소개된 세 가지 언어 중 한 가지라면 좋을 것이다.