제목: GC를 쓰면 저능한 게 아니라 비용 구조가 다른 거다
GC에 비용이 있다는 말은 맞다.
CPU를 쓰고, 메모리를 더 요구할 수 있고, 수집 시점에 지연이 생길 수 있다.
그래서 하드 리얼타임, 임베디드, 커널처럼 지연과 자원 사용을 엄격히 통제해야 하는 영역에서는 GC가 없는 것이 큰 장점이 될 수 있다.
여기까지는 기술 이야기다.
그런데 “GC를 쓰는 사람은 러스트를 배울 지능이 없다”는 결론은 전혀 다른 이야기다.
GC 언어는 런타임 비용을 지불하는 대신 개발자가 메모리 수명을 직접 설계해야 하는 부담을 줄인다.
러스트는 런타임 비용을 줄이는 대신 소유권, 빌림, 생명주기 설계와 컴파일 시간, 학습 비용을 지불한다.
한쪽은 공짜고 다른 쪽은 유료인 게 아니다.
비용을 내는 장소가 다르다.
Java, Go, C#을 선택하는 이유도 다양하다.
- GC 지연이 실제 요구사항 안에서 충분히 작을 수 있다.
- 개발 속도와 유지보수성이 최악 지연보다 중요할 수 있다.
- 기존 라이브러리와 인력이 더 적합할 수 있다.
- 자동 메모리 관리로 얻는 단순성이 더 큰 이익일 수 있다.
- 러스트 전환 비용이 예상 이익보다 클 수 있다.
이 모든 가능성을 지우고
“GC가 공짜라고 믿는 바보”
“러스트를 못 배우는 저능아”
둘 중 하나로만 분류하면 거짓 양자택일이다.
더 웃긴 점은 GC를 비판하면서 사람의 지능을 GC처럼 자동 수집하고 있다는 것이다.
상대가 GC의 장점을 말하면 무지한 사람, 러스트의 비용을 말하면 못 배우는 사람, 그 분류에 반발하면 다시 저능한 사람으로 처리한다.
어떤 답을 해도 원래 결론이 유지된다.
이건 기술 논증이 아니라 자기봉쇄적 자격 판정이다.
정말 지성인과 대화하고 싶다면 먼저 질문을 제대로 해야 한다.
- 목표 지연 시간은 얼마인가
- 허용 가능한 메모리 사용량은 얼마인가
- 처리량과 최악 지연 중 무엇이 중요한가
- 개발 기간과 운영 비용은 얼마인가
- 팀이 감당할 수 있는 복잡성은 어느 정도인가
이런 조건 없이 “GC 없음은 무조건 우월하다”고 말하는 쪽이 오히려 공학을 단순화하고 있다.
GC에는 비용이 있다.
러스트에도 비용이 있다.
좋은 개발자는 비용이 없다고 우기는 사람이 아니라, 어느 비용을 어디서 지불할지 선택하는 사람이다.
프갤러들이 덩샤오핑의 길을 걸으라고 해줘도 흥남 우스이는 결국 마오쩌둥의 길을 가게 될거 같음 ㅇㅅㅇ
그 결과, 결과물이 없는 러스트 정치인으로 남을 듯. 뭐 노숙인이 되든, 거지가 될 수도 있겠지만, 재산 여부는 논지와는 전혀 무관하고 기술적 공학적 측면만 보면.. 결과물 없는 정치인으로 남을 가능성 1000%. 사실 나도 노숙자/거지이지만, 그래도 난 결과물이 있지 않나. ㅠㅠ
@guiyom.org ㅇㅇ 님프는 루비햄꺼 맞잖음. 그리고 이 글은 공감함 ㅇㅅㅇ
에휴.. 나는 결과물 있는 노숙자/거지 100% ㅠㅠ 난도 정신차리고 열심히 살아야 돼. 시간/돈을 결과물과 바꿔먹었으니, 아직 제대로 된 결과물 나오려면 8월까지 노숙자 신세를 면치 못하근네 ㅠㅠ
저 글 GPT 가 작성함. 내가 GPT 대화창에 프갤 몇몇 들을 긁어서 올리거든. 내글까지. 그러니까 gpt가 내 글 쓰는 방식대로.. 저렇게 작성하드만..
p3 특허 내려면 시간 + 돈 + 소스코드가 필요한데.. 아휴.. 돈을 못 모으네 ㅠㅠ