장점 덮어두고 단점만 짚음
일단 소유권으로 대표되는 메모리 관리가 존나 어려움
대표적으로 가변참조가 유일해야해서 다른 언어에선 밥먹듯이 하던 설계가 러스트에선 몸 비틀어야 하거나 아얘 못함
그 소유권에 맞춰서 타입들도 어려움
밑에있는 컨테이너같은거나 String/str 같은거 처음보면 뭔지 도통 알수가 없음
그리고 문법이 정확한걸 강요함 수명도 명시적 시그니쳐도 명시적 형변환도 명시적 에러처리도 명시적임
그래서 타이핑이 많음 제일 열받을땐 impl 블록들에 bound들 매번 쳐넣을때임 블록마다 다를수 있어서 생략못하는건 알겠는데 그래도 빡침
매크로가 있긴한데 얘도 정확한걸 강요해서 C처럼 전처리기가 바꿔치기 하는게 아니라 아무데나 못넣고 형식을 지켜서 써야됨
또 컴파일이 오래 걸리는데다 비례해서 링킹도 꽤 걸림 의존성이 세자리쯤 되거나 시퓨가 안좋으면 좀 거슬림
참고로 세자리 정도는 gui면 당연히 넘김
마지막으로 진입장벽 많이 높음 문법이나 소유권 이런거 영향도 있는데 심지어 서드파티 지향적이라 그외에도 알아야할게 좀 있음
serde같은 라이브러리야 다들 비슷하다쳐도 thiserror같은 매크로 유틸이랑 cargo-edit같은 바이너리 유틸들 모르면 매우 불편함
근데 저짤만 알아도 라이브러리 조립하는데는 문제 없겠는데
GC 언어는 그냥 T밖에 없잖음
저짤 분류 완전히 틀린 짤임 &T는 T가 stack에 항당된다는 것을 나타내는 것도 아니고, Cell나 Mutex도 heap에 저장되는 것도 아님. 그리고 stack allocate라는 말은 있지도 않고 지어낸 말임
에러처리가 명시적인건 좋긴 한데 오히려 이로 인해 함수에서 나올 수 있는 error enum이 여러가지면 귀찮아지니 대충 anyerror나 unwrap박아서 오히려 에러처리를 소홀히 하는 경우도 꽤 있는거같음. enum같은거 합쳐주는 기능이 있었으면 좀 더 낫지 않을까 생각함
그렇게 생각한 사람들이 만든게 error-chain -> failure -> thiserror로 테크타고 내려왔음
그런 헬퍼 라이브러리들을 쓰면 더 나아지긴 하는데 그래도 여전히 일일히 type 만들고 해야하니 귀찮은건 어쩔 수 없는거 같음. 글에 적혀있듯이 언어의 기본적인 기능인 에러처리를 쉽게 써먹으려면 서드파티 라이브러리들이 필요하다는것도 문제고. zig라는 언어에서 하는 에러처리 방식이 Rust식 에러처리 + enum 합치는 연산자였는데 명시적이면서도 무지성으로 쓸 수 있어서 정말 맘에 들더라
분위기 맞춰서 댓글써라 까는얘기 하는데 아니다
단점에 대해서 이야기하는 글에서 단점 이야기한게 문제냐? 심지어 존나 깐것도 아니고 걍 아쉬웠다는 말인데
분위기 맞춰서 댓글 써라 ㅋㅋㅋㅋㅋㅋㅋ 개웃기네
그 방향이 좋을수도 있긴 한데 러스트도 나이가 먹어서 이젠 Result를 뜯어고칠수 있을려나 모르겠음
분위기 ㅇㅈㄹ
에러처리는 thiserrorr같는걸 모를때만 단점이고 알면 단점 아님
어차피 Result타입 자체에 문제가 있는건 아니고 걍 error enum 만드는게 귀찮은거니 thiserror이나 이것저것 편의기능들 나중에 러스트에 내장되면 해결될 문제라고 봄 ㅋㅋ
내장을 왜해?
개인적으로 에러처리는 언어의 중심 기능이니 이거 개선해주는 헬퍼 매크로/기능같은건 내장될 가치가 있다 봄
가치는 있는데 일단 들어가면 더 나은게 나와도 뺄수가 없어서 외부에 두는게 이쪽 철학이라 그럴일은 없을듯 serde만해도 뭐
진입장벽 많이 큰듯.
난 이거 첨배울때 튜토리얼 잘돼있다길래 한 번 해보고 실제로 개발해보니까 문법이랑 라이프타임 같이 개념이 어려운 아니라 많이쓰는 트레잇을 전부 알아야 내가 하고싶은거 할 수 있는데 그걸 알려주는곳이 없어서 고생했음 - dc App
비동기쪽이 특히 그러던데 - dc App
ㄴ ㅇㅇ 딱 입문서는 꽃게북으로 되는데 심화부턴 책으로 안되고 삽질하면서 하나하나 찾아야됨
뭐좀 알아보려면 딱 짤같은거랑 이해 안되는 그림만 있어서 거기 나와있는 트레잇 하나하나 검색하면서 봤었음 - dc App
러스트 단점은 단점이 없는게 단점
ㄹㅇ 단점들은 러스트를 잘 모르는 애들한테만 단점임
이런 놈들이 러스트 최고의 단점임
이건 컨셉 어그로인데 억까들은 너무 진지하게 깜
꽃게책에 anyhow랑 thiserror 언급이 없어
이번에 새로 나온 rust for rustacean에는 나옴?
몰겠음
-러-
단점 없지는 않는데, 니가 말한건 단점이 아님. 이런걸 단점이라 하는걸 보니 디버깅 많이 안해봤구나 ㅋㅋ
그럼 단점이 뭔데 쿨찐새끼야