어떤 븅딱같은 코드가 있다 이런걸 얘기하려는건 아니고
1. 언어 내부에서도 갈린 커뮤니티
exception 쓰지 말자, virtual function 쓰지 말자, RAII 써라 등 같은 언어인데 서로 미묘하게 섞이지 못하는 부분이 있음
2. 표준 라이브러리 같지 않은 표준 라이브러리
std 가 std 역할을 못하고 있음
사소한 컨테이너조차 도메인별로 자기들이 만들어서 씀
최근 ladybird 코드 봤는데 여긴 스마트 포인터도 만들어서 쓰더라
3. 시장을 지배하는 패키지 매니저의 부재
자바의 Maven, Kotlin의 Gradle, Rust의 Cargo 같은게 없음
개발자들이 라이브러리를 만들고 쉽게 공유할 수 있어야 생태계가 커지는건데
아직도 소스코드 다운받아서 CMake로 직접 연결하고 본인이 트러블슈팅 하는 과정이 진입장벽을 크게 높임
Vcpkg나 Bazel이나 아무거나 일단 시장지배적인게 나와야 DX를 끌어올려 유입을 만들어야됨
4. 표준 컴파일러의 부재
gcc, clang, msvc 모두 다 다른 스펙, 다른 전처리기, 다른 표준 구현들이 있음
심지어 전처리기는 옛날에 C++ 표준도 아니고 C에서 물려받은 것도 있어서 난이도가 극상임
이건 C++ 발전에 명백히 걸림돌임
C++은 Rust로 바꿔야한다 이런말 굳이 할필요도 없이
어차피 20년 뒤쯤에는 유입도 없어서 자연스레 도태될거같음
커뮤니티도 너무 분열되서 누가 총대매고 개선시킬 가능성도 없음
C++ 자리가 누가 차지할진 모르겠지만 아무튼 내리막길 뿐일듯
20년뒤엔 c++은 망하고 unreal c++은 살아남아서 서로 다른 길 갈 가능성도 있어보임 ㅋㅋ
1줄요약. 커뮤니티가 분열되고 생태계가 커지기 힘들며 MZ들 유입을 기대하기 어려워 전망이 나쁘다.
진짜로 정확한 컨벤션이 없으니 뭘 써야할지도 모르겠음 ㅋㅋ
맞는 말이지만 제일 큰 문제는 25년인데 아직도 20 제대로 지원하는 컴파일러가 없음
너무너무 무섭다...
???: 아 코로나 때문이라고
cpp2(cppfront) 실패하면 도태될 언어다 - dc App
컨벤션은 ㅇㅈ... 기능을 배우면 누구는 써라 누구는 쓰지마라 ㅅㅂ 템플릿 공부하면서 느꼈음. class 정도만 채용하는 사람들은 템플릿 극혐하고, 모던 기능 쓰는사람들은 템플릿 ㅈㄴ 쓰고.
std::move와 이동개념, rvalue reference들가면서 집어치운 사람이 한둘이 아닐덧 - dc App
l, r-value만 있는줄 알고 있다가 prvalue xvalue glvalue 나오고 시발 ㅋㅋ
재버, 꺼틀린, 골랭 하는 입장에서 보면 패키지 매니저가 너무 애매함
ladybird는 cpp로 os 개발하던 놈이 주도하는 플젝이라 그런거긴 핢 os 개발하면서 이것저것 만들어둔거 그대로 끌고와서 쓰는거
Unreal C++45가 출시되었습니다
러스트하다 돌아오면 딱하나 카고가 그립더라
레거시가 너무커서 망하진않아도 새로운, 대체가능한 요소들은 바꾸는게 좋아보임
nix + cmake하면 cmake 패키지 수동설치 문제 해결되더라 - dc App
cpp 개발자들이 전부 닉스 쓰는거로 합의보지 않는 한 결국 반쪽짜리 해법이라서리 좀 그렇지 따지고보면 vcpkg나 conan 쓰는거랑 아주 다르지도 않늠
c++은 패키지매니저만 어떻게 손보면 될거같긴함 1번 2번 전부 맞말인데 이미 레거시가 너무 커져서 어쩔수 없고 어차피 도메인끼리 다른거 서로 합쳐질 일도 없어서 상관도 없긴함.. 자기가 잘 아는거만 계속하면 말야
사용자 입장에선 그런데 표준위원회 입장에서는 저 파편화된 것들을 다 어느정도는 고려해야하니까... 고려할게 너무 많아져서 발전이 느려지거나 희한한 실수를 하거나 하게 되는 부분도 있다구 봄
파이썬에서는 거의 해결한 문제들이네