커뮤니티
스포츠
토론장


HOME > 커뮤니티 > 이슈 게시판
 
작성일 : 23-05-05 21:42
Rust 프로그래밍 언어의 미래
 글쓴이 : 이름없는자
조회 : 1,302  

현재 프로그래밍 언어 업계는 춘추전국의 시대이다.
한때는 C/C++ 와 Java 의 전성시대 였지만 
어플리케이션용 언어는 대충 분야별로 정리가 되어있지만
시스템 프로그래밍 언어는 백가쟁명의 시대.
시스템 프로그램 언어의 왕좌인 C/C++이 워낙 오래되고 문제가 많다보니 
TIOBE 랭킹을 봐도 GO Rust Zig 등 이 C/C++의 후계자를 노리는 
프로그래밍 언어가 많이 나오고 있다.

현재 인기나 화제를 보면 go > Rust 인데 
go 가 쉽고 간단한 문법이나 C/C++와의 친화성 (바로 C/Unix 의 발명자인 
Robert Pike/Ken Thomson 등 60-70대 노인 네들이 참여)으로 인기가 높지만 
할배들이라서인지 상당히 보수적이고 Swift/C#/Kotlin등 최신언어의 고급기능을 
수용하는 데 인색해 C/C++에 비해 장점이 뚜렷하지 않다.
C/C++의 최대 장점이자 단점인 포인터문제도 해결하려하고 
자동 메모리 재활용(GC) 가 엄청 편리하고 C/C++의 여러 단점을 커버해주고 있지만 
과연 그 "개선" 들이 시스템프로그래밍에 적절한지도 논란이 있다.
C/C++ 보다는 응용프로그래밍을 하기에 더 낫다는 정도.

여기에 도전하는게 Rust. Rust 는 C/C++에 견줄만한 효율성을 가지면서도 
포인터나 메모리 할당의 안전성을 컴파일러가 보장해준다는 
보안의 관점에서 C/C++의 가장큰 위험성을 줄여주는 큰 장점으로 인기를 
얻고 있다. C/C++의 틀을 벗어난 혁신적 개선으로 광적인 추종자를 가지고 있다.

하지만 그런 안전성을 위해 C/C++ 에 익숙한 아재들이 희생해야 하는 댓가도 크다.
먼저 C/C++ 프로그래밍 모델과 상당히 이질적이라 오는 가파른 학습곡선
또 글로벌 변수등 종래의 "위험한" 프로그래밍 모델들을 의도적으로 
사용하기 어렵게 하는 각종 언어설계상의 단절적 변화. 
그러니 그걸 피하며 언어를 사용하려면 탈옥하듯 언어와 싸워야 한다.
그래서 신세대 개발자들이야 환장하겠지만 기존 개발자들은 매우 
적응하기가 어렵다. 즉 보안과 안전성을 위해 치르는 댓가가 너무 크다.
자유와 규율의 갈등인데 이건 바람직하지 않다고 본다.

또 그러니 기존의 C/C++중심의 라이브러리나 방대한 지식베이스를 
효과적으로 활용하기 어렵다. 그래서 처음부터 클린시트로 새로 시작하는
프로젝트라면 적용해볼 만 하지만 단계적 점진적 적용은 어렵다고 본다.

그래서 현재 TIOBE 인기순위 19 위이지만  10 위 안에 드는 메이저 언어로는 성장하기 어렵다는 게 내 평가다 한때 큰 인기를 끌었던 Haskel 이나 Scalar 같은 
함수형 언어들처럼 OS 커널이나 군사용 내장용 웹서버나 컨테이너 등 
인프라용 등 보안과 안전성이 최우선인 특수한 응용에 머무르게 될 것이다.

하지만 분명히 메모리 소유권이라는 개념은 참신하고 이는 현재 프로그래밍
언어의 문제점을 해결하는데 큰 도움이 될 것이라 다른 프로그래밍 언어들도
이 개념을 적용하는 언어들은 늘어날 것이다.

하지만 결코 C++ 처럼 범용의 언어로 게임 개발용 프로그래밍 언어로 
널리 쓰이는 일은 없을 것이다.


출처 : 해외 네티즌 반응 - 가생이닷컴https://www.gasengi.com




가생이닷컴 운영원칙
알림:공격적인 댓글이나 욕설, 인종차별적인 글, 무분별한 특정국가 비난글등 절대 삼가 바랍니다.