1. 쉰내나는 표준과 모던한 표준의 따로 노는 조합
어떤 기능이 추가가 되면 기존 표준에서 새 기능으로 교체함으로써 편의성과 가독성이 훨씬 개선되는 경우들이 많은데,
기존꺼는 그냥 내버려두고 새것만 우겨넣음

2. 표준에서 정의한게 full feature 가 아닌 경우
OS 에 의존적인 기능들을 표준에서 지원하는 경우가 이 경우인데 광범위한 환경을 지원하기 위해서인지 메이저 OS 에 공통적으로 다 있는 것들이 표준에서는 제외된 경우가 많음.

결국 표준에서 빠진 것들을 써먹으려면 네이티브 핸들을 가져와서 어차피 OS 의존 코드를 써야하는 상황이 오게 됨. 이러면 표준 썼다가 비표준 썼다가 코드 더러워지기 십상

3. 줏대없는 API
어떤 API 는 에러코드, 어떤 API 는 예외, 파라미터의 순서 등등 가지런히 정렬된 느낌이 아님. 표준 코드끼리 묶는데도 이상한 삽질을 해야하는 경우도 있음.
1번의 영향이 큰 것 같음.

4. 표준에 채택되는 기준
사람들이 진짜 꼭 원하는 기능인데 이상하게 아직까지도 지원하지 않는 경우가 있음. 대표적으로 소켓(네트워킹)이 있음.

5. 빌드 스크립트
로우레벨 언어에서 세세한 설정을 위해 빌드 스크립트가 복잡해질 수 밖에 없는 것은 사실인데 그걸 감안해도 너무 빡셈. 빌드 스크립트 하나 부여잡고 시간 많이 갉아먹힌 갤러들도 많을 거임.