러스트는 어떻게 세계에서 가장 사랑받는 프로그래밍 언어가 되었나?

https://www.technologyreview.kr/how-rust-went-from-a-side-project-to-the-worlds-most-loved-programming-language/

프로그래머들은 이제 수십 년 동안 사용한 C언어와 C++ 대신 안전하고 효율적인 ‘러스트’를 사용한다.
(아직은 잘 모르겠는데요…)

7개의 좋아요

C++개발자로서 어느정도 공감은 합니다.
러스트의 경우 컴파일러에서 메모리 관리를 하는반면 C++의 경우는 본인이 잘 작성해야 하죠.
다만… 최근에는 IDE들이 워낙 좋아서 인텔리센스등에서 경고를 줍니다.
물론 그럼에도 결국 실수를 많이 할 수 있죠. 그래서 저는 new/delete등의 구문을 최소화 해서 개발하고 있습니다. 스마트 포인터와 vector로 대부분 커버 되거든요.

그럼에도 한마디 하자면 러스트도 결국 기존에 많이 사용하던 C/C++로 개발된 라이브러리들을 사용해야 하는데.
그것들을 사용할 경우 발생하는 문제는 못 막는 것으로 알고 있습니다.
대표적으로 ffmpeg, opencv등이 있죠.

5개의 좋아요

러스트를 잠깐 배워봤는데… 너무 어색한 옷이라서… 그냥 포기했습니다.

5개의 좋아요

대부분 C++ 대안으로 Rust를 꼽는데 정작 다른 언어를 Rust로 대체하는 것 같아요
특히 GC로 메모리 관리하는 언어들

3개의 좋아요

아무리 예쁜 옷이 있어도 내 몸에 맞지 않으면 무쓸모죠
그래도 기존 프로젝트 중에 Rust로 변환하면 좋은 거 시도해보는 게 어떨까요?

4개의 좋아요

사실 계산량이 많은 라이브러리를 작성하다가 러스트를 알아보게 되었습니다.
속도가 매우 중요했거든요.

처음에는 초당 3~5,000 개 수준의 데이터 처리량을 보였는데,

데이터 모델을 클래스가 아닌 (mutable) struct로 변경하고,
in, out 키워드를 광범위하게 적용하니까, 초당 1,000,000 개를 넘어 가더군요.

아마, struct로 인해 스택 위주의 메모리 운영이라, GC의 개입이 줄어 든 것이 한 몫했을 것으로 생각합니다.

여기에서 속도를 더 올려 보고자 알아 봤던 방법 중에 하나가 Rust와 GPU 프로그래밍이었는데, GPU 프로그래밍으로 기울었었죠.

그런데, 결과적으로 알고리즘이 잘 못된 것이라, 그 프로젝트를 갈아 엎는 바람에 러스트도 GPU 프로그래밍도 중단했습니다.

언어 마다 특성이 있겠지만, C#도 안정성과 성능을 위한 도구는 이미 보유하고 있다고 생각합니다.
언어적 도구의 한계를 극복할 때는 다른 언어를 사용하는 것보다 하드웨어의 지원을 받는 것이 훨씬 효과적이다… 는 교훈을 얻었습니다. ^^

6개의 좋아요

적어도 제가 느낀 바로는 요즘 분위기가
어지간히 첨예한 분야라서 퍼포먼스를 극으로 뽑아내는 분야가 아니라면,
최적화보다는 그냥 컴퓨팅 성능을 늘려버리는 경우가 많은 것 같다고 생각했었는데요.

아예 틀린 건 아니지 않을까 하는 생각이 역시나[…] 들었습니다.

4개의 좋아요

자바 SI회사 운영하는 친구가 그러더군요.
코드가 쓰래기가 아니면 그냥 서버를 늘려 버린다고요.
튜닝하는 노력에 비해 결과가 확실하지도 않고 그냥 서버를 늘리는게 훨씬 빠르다고요.

4개의 좋아요

뭐야. 언제 세계에서 가장 사랑받았지?

몰랐네…

3개의 좋아요