러스트는 설계 결함이 있는 언어입니다
러스트는 안전성을 얻기 위해
소유권, 빌림, 생명주기, 버로우 체커라는
비직관적인 제약을 프로그래머에게 강요합니다.
일반적인 언어에서는 자연스럽게 작성할 코드도
러스트에서는 버로우 체커에 맞춰 구조를 비틀어야 합니다.
반면 Ada는 일반적인 방식으로 개발하면서도
강한 타입, 범위 검사, 계약, 런타임 검사, 정적 분석을 사용할 수 있습니다.
SPARK를 사용하면 러스트보다 더 넓은 안전 속성도 검증할 수 있습니다.
즉, 러스트는 더 좁은 안전 범위를 위해
더 많은 제약과 인지 비용을 요구합니다.
객체지향도 마찬가지입니다.
Ada는 tagged type, 상속, 동적 디스패치와 인터페이스를 지원합니다.
러스트는 클래스와 구현 상속 중심의 전통적인 OOP를 지원하지 않습니다.
러스트의 설계가 OOP를 자연스럽게 수용하지 못한다고 해서
“OOP는 낡았다”, “상속은 나쁘다”며 다른 언어를 욕해서는 안 됩니다.
기능을 사용하지 않는 것과
기능을 지원하지 못하는 것은 다릅니다.
러스트는 안전해서 복잡한 것이 아닙니다.
안전성을 구현한 설계 방식이 잘못되어 복잡한 것입니다.
지원하지 못하는 기능을 철학적 우월성으로 포장하지 마십시오.
그것은 장점이 아니라 설계 결함입니다.
c++을 모던하게 준수해서 써도 문제 없는거 아닌가 ㅇㅅㅇ
c/c++ 잘 쓰면 문제 없음. 많은 플젝들이 아미 그렇개 함. c/c++/러스트로 만들어도 문제 터지는건 매한가지
문제를 정말로 줄이려면 수학적 검증을 해야하는데 러스트는 검증돤 툴이 없지 ㅎㅎ 그래서 아직도 우주선/자율주행 자동차 굴리는데 c/c++/ada 사용됨.
@guiyom.org 근데 왜 호동게이는 C++ 안 쓰는거임?
c++ 문법 개떡같아서 안 씀. 그거 쓸바에 ada 쓰지 ㅎㅎ
@guiyom.org ??