# C++20, How Hard Could It Be

> Clean Markdown view of GeekNews topic #7485. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=7485](https://news.hada.io/topic?id=7485)
- GeekNews Markdown: [https://news.hada.io/topic/7485.md](https://news.hada.io/topic/7485.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2022-09-27T10:47:01+09:00
- Updated: 2022-09-27T10:47:01+09:00
- Original source: [docs.google.com](https://docs.google.com/presentation/d/1HwLNSyHxy203eptO9cbTmr7CH23sBGtTrfOmJf9n0ug/edit?usp=sharing&amp;resourcekey=0-GH5F3wdP7D4dmxvLdBaMvw)
- Points: 8
- Comments: 6

## Topic Body

- 구글 크롬팀에서 C++20 도입시 발생할 40여가지 문제점을 나열하고 솔루션들을 정리  
- C++ 표준은 3년마다 나오고, 릴리즈 후 크롬에서 첫 적용은 3년 후에나 됨  
- C++20은 많은 변화가 있음   
  - 지원 중단, 비교연산자 재정렬, 어그리게이션 규칙 변경..  
- 문제들   
  - 구글의 스타일 가이드가 C++17 기반   
  - Clang의 C++20 지원이 미완성이고, 새로운 libc++을 필요로 함   
  - 윈도우 바이너리가 커짐  
  - std::iterator 지원 중단(C++17부터)  
  - 새로운 키워드 concept, requires 같은 것들이 추가되어 변수명이 있으면 충돌   
  - 그외 다수

## Comments



### Comment 12523

- Author: galadbran
- Created: 2022-09-27T22:29:04+09:00
- Points: 1

엥… c++ 정도되는 언어가 브레이킹 체인지를 많이 만들어내면 안되지 않나요… 그냥 제 고정관념일 뿐인가요…

### Comment 12524

- Author: qwery
- Created: 2022-09-28T06:49:33+09:00
- Points: 2
- Parent comment: 12523
- Depth: 1

그러니가 C++이 이상한언어인겁니다..   
언어는 계속 버전업되면서 모듈이나 코루틴이나 이것저것 많이 추가되면서 자기가 다 하려고 하고  
기능이 나오면 컴파일러들은 4년 5년뒤에 기능이 추가되고  
컴파일러마다 할수있는것에 차이있고 문법 조금씩 차이있고  
버전업되면서 미세하게 잘 쓰던것들 다 사라지고  
stl 커지고 버전업되면서 구세대 컴퓨터에서는 돌아가지않고..  
쓴다면 Go나 파이썬을 쓰라고 말씀드리고싶네요

### Comment 12539

- Author: heal9179
- Created: 2022-09-28T17:23:34+09:00
- Points: 1
- Parent comment: 12524
- Depth: 2

버전업 되면서 하위호환성이 지켜지지 않은 항목들은  
미정의 동작이나 결함이 있는 기능을 개선한 경우가 대부분입니다.  
모듈, 컨셉, 코루틴 같은 기능들은 타 언어들처럼 계속해서 언어가 발전하고 있는거구요.  
특히 모듈의 경우 이전부터 계속 있어왔던 요구사항이죠.

### Comment 12554

- Author: functor
- Created: 2022-09-29T14:47:42+09:00
- Points: 1
- Parent comment: 12539
- Depth: 3

std::iterator 지원 중단이 말씀하신 "미정의 동작이나 결함이 있는 기능을 개선"한 경우에 포함되는지는 잘 모르겠습니다.

### Comment 12540

- Author: heal9179
- Created: 2022-09-28T17:32:45+09:00
- Points: 1
- Parent comment: 12539
- Depth: 3

다만 C++이 타 언어에 비해 뒤쳐지는 점은 크게 다음과 같습니다.  
1. 패키지 매니저  
2. 컴파일러 파편화  
3. 복잡한 컴파일 방식(Make, CMake 추가 학습 요구)  
4. 커뮤니티의 무관심  
  
이 중 커뮤니티의 무관심으로 인해 양질의 아티클이 매우 부족하고,  
적은 이용자 수로 나머지 세 문제가 해결되지 않는 것이 크다고 생각합니다.

### Comment 12528

- Author: deokim
- Created: 2022-09-28T10:32:22+09:00
- Points: 1
- Parent comment: 12524
- Depth: 2

+ rust
