Zig's memory management approach is likely to be influenced too much by the performance of runtime environments. As C/C++ has been, it shows that the minimum specifications of the program must be set very small and developed. Also, I think that a lack of knowledge of the developer can create a big issue.
메인 프로젝트를 Rust로 하면서 가장 난감해진게 언어 자체의 문제가 아니라 신규언어라는 점이 문제였음. 아직 개발중인 언어라서 가져다 쓸 수 있는 라이브러리가 한정되어 있어서 직접 로직을 만들거나, 포팅, 랩핑해서 쓰고 안정화 되지 않은 nightly 버전을 쓰다보면 여러가지 코드 분석기가 갖춰진 환경에서는 컨테이너 세팅하는 것도 볼륨이 큰일이 되고 cargo, rustup, lib 버전 픽스를 안해서 빌드에러 나면 골아파짐... c++이 메모리 문제가 많다고 하지만 그 때문에 정적, 동적분석 툴도 많은 편이고 유닛테스트 커버리지 검사, 성능테스트해서 어느정도 요구사항 맞춰서 가용성을 올려두는 프로세스 굴리는 것도 단기적으로는 괜찮은 옵션인듯
가끔 영상을 보지만 새로운 언어는 모두 c언어 무찌르자 내용임. 아무리 문제가 있다고 해도 그 정도로 c가 탄탄한 것임. c의 가장 강력한 점은 cpu 구조(몸 body))에서 나온 영혼같은 존재(ghost)라서 그런 것임. 즉 c언어의 단점은 원래 cpu가 가지는 특성임. 아무리 새로운 영혼으로 포맷하려고 해도 쉽지 않은 거지.
Oh man. How many languages have tried to replace C and C++? I think it might actually happen if we develop quantum computers. However, we might end up calling it C+++
개인적으로는 아직은 C 킬러들은 힘들듯... 일단 예전 점유율이 넘사벽이고.... 그리고 결정적으로 C언어가 자체가 컴퓨터의 하드웨어 동작에 1:1대응하는 어셈플러 이후 가장 근접한 언어이기 때문.... go나 Zig도 컴터 성능이 좋아지고... C가 가지고 있고 발전하고 다듬어진 기능들을 조금더 명료 하거 간단하게 하자는 취지인거지..... 그리고 1:1대응에 가장 가깝기 때문에 여러 컴포넌트들이 많아지고 그걸 쓰다 보니 여기서 단점으로 이야기하는 메모리 접근같은걸 못보는거지.... 결국에 printf같은 함수들도 C언어 플어 보면.... 다 볼수 있음.... C자체로 파생되는 것들이 너무 많아지고 거대해지니까 그런 기초적인 것들까지 보기가 힘든건 사실... 하지만 C킬러들이 가지고 있는 장점들?? 결국 그것도 전부 C로 가능...... 지금 하드웨어 성능이 좋아지고 메모리도 넉넉하니 이젠 굳이 어려운 C말고 파이썬 고 지그 같은것들로 간편하게 구현이 가능하게 만든거지... 동일 하드웨어 동일 코드에서 결국 연산 시퓨에 들어가는거 까보면 C가 훨씬 직관적이고 빠름..... 예를 들면.. 한 35년 ? 아니다 걍 30년 정도만 해도 되것네.... 컴터 성능이 올라가면서 웹이 뜰때 한땀한땀 코드 작성하는것이 C라면..... 지금 나오는 C킬러 라는 언어들은 그 웹을 간단하게 하기 위해 나온 나모웹 에디터 정도 수준임.... 당연히 더 간단하고 빠르게 동일 현시 화면 구현이 가능하지... 하지만 결국 속의 내용을 따보면.. 한땀한딴한걸 못따라감... 지금이야 워낙 하드웨어가 발전해서 체감 안되는 수준인거지..... 지금 상태에서는 우리가 컴퓨터라 부르는 하드웨어의 체계가 바뀌고 그의 어샘플에 가깝게 1:1대응 가까운 수준의 언어가 나오지 않는한 현재 체재에서는 C를 넘을 수는 없음....
C, C++를 대체할 만한 언어가 그나마 Rust인데 아직 너무 초기 단계라서 극엔드 유저들이 접할만한 가용성이 높은 대규모 서비스에 넣기엔 제약 사항이 따르고 그렇다고 소규모 서비스를 만들기엔 rust의 장점이 많이 희석 되는거 같습니다. 그래서 그나마 게임엔진이나 os같은 시스템 sw에서 많이 진입 하려고 하는거 같고, 결국엔 대규모 트레픽 처리 서비스도 하지 않을까요?
If it is not memory safe, does it do anything to make it harder to write vulnerable code? Because I know that when using C, it is virtually impossible to write memory-safe code even if you tried your best. And that’s why I like Rust
대학교 첫 프로그래밍으로 c를 배웠고 자유주제 과제를 통해서 cmd 창에서 text 기반의 포트리스를 제작해봤는데 그 때 goto가 곳곳에 박혀있는 코드를 리뷰해준 내 친구 왈 "너 어셈블리로 임베디드 하면 잘하겠다"라고 했었는데 zig가 흥하면 먼 훗날 대학에서 가르칠 수도 있을까란 생각이