1P by neo 1달전 | ★ favorite | 댓글 1개
  • C++의 재미

    • 프로그래머들이 프로그래밍을 시작한 이유를 잊어버렸다고 생각함.
    • C++로 프로젝트를 진행하며 재미를 느끼고, 다양한 아이디어를 실현할 수 있었음.
    • C++는 프로그래머가 원하는 것을 할 수 있도록 방해하지 않음.
  • C++ 템플릿 메타프로그래밍의 문제

    • 90년대 후반부터 2000년대 초반까지 C++ 커뮤니티는 템플릿 메타프로그래밍에 집착했음.
    • 이는 C++를 복잡하고 사용하기 어려운 언어로 만들었음.
    • Java는 프로그래머의 필요를 고려하여 더 나은 사용자 경험을 제공했음.
  • C++11의 놀라운 변화

    • C++11은 언어에 많은 개선을 가져왔음.
    • auto, nullptr, range-for, 람다 표현식, <chrono>, <regex>, unique_ptr, shared_ptr, <thread> 등의 기능이 추가되었음.
    • 이러한 변화는 C++를 더 현대적이고 사용하기 쉬운 언어로 만들었음.
  • C++의 현대적 기능

    • 파일 시스템 탐색, 패키지 관리, 행렬 라이브러리, 그래픽, GUI, TUI 등 다양한 기능을 지원함.
    • C++는 다양한 라이브러리와 API에 직접 접근할 수 있어 거의 모든 것을 만들 수 있음.
  • C++의 창의적 자유

    • C++는 창의성을 발휘할 수 있는 언어로, 다른 언어의 권위적인 제약에서 벗어남.
    • cppreference.com은 C++의 훌륭한 문서화 사이트로, 모든 키워드와 라이브러리를 잘 설명하고 있음.
  • C++의 단점

    • 컴파일러 오류 메시지가 업계 최악이며, 빌드 도구가 사용하기 어려움.
    • 언어의 복잡성과 역사적 유산으로 인해 학습 곡선이 가파름.
    • RAII(자원 획득은 초기화) 패턴이 실제 환경에서 불편할 수 있음.
  • 결론

    • C++는 여전히 재미있고 강력한 언어이며, 과거의 고정관념에서 벗어나야 함.
    • C++는 프로그래머에게 창의적 자유를 제공하며, 다양한 프로젝트를 실현할 수 있는 가능성을 열어줌.
Hacker News 의견
  • C++를 싫어하지만 개인 프로젝트에서는 만족스러운 경험임. Rust와 CD/CI가 장기적인 신뢰성을 제공함. 빌드 시스템과 패키지 관리가 어려움.

    • C++의 세밀한 제어가 즐거움을 줌.
    • 빌드 시스템과 패키지 관리가 어려움.
    • C++의 문법과 런타임의 복잡함이 있음.
  • C++에 대한 혼란스러운 의견이 많음. C++의 현대적 품질과 구식 문제점이 혼재함.

    • C++의 성능과 기술적 요소가 재미를 줌.
    • C++는 "진짜" 소프트웨어 개발에는 적합하지 않음.
  • C++ 프로젝트에 제3자 의존성을 연결하는 데 어려움이 있음. 대부분의 현대 언어에서는 간단한 설치로 해결 가능함.

    • C++의 세부 사항을 이해하는 데 시간이 걸림.
  • C++의 새로운 기능을 배우지만 컴파일러 오류로 인해 어려움을 겪음. C++14에 머물러 있음.

    • C++의 복잡함이 부담이 됨.
  • C++의 불만은 주로 구식 코드베이스에서 발생함. Rust에서도 비슷한 경험을 함.

    • 나쁜 소프트웨어 개발이 문제임.
  • C++에서 재미를 느끼는 사람도 있지만, 개인적으로는 C++가 복잡함.

    • 낮은 수준의 제어가 필요할 때 C를 사용함.
  • C++11에 감명을 받았으며, cppreference.com의 문서가 훌륭함.

    • 다른 라이브러리를 프로젝트에 통합하는 것이 어려움.
  • 현대 C++를 잘 아는 팀과 함께라면 C++는 훌륭함. 성능이 뛰어나고 디버깅과 최적화가 용이함.

    • 오래된 코드베이스에서는 다른 경험을 하게 됨.
  • C++를 배웠지만 깊이 들어가지는 않음. Rust의 기능적 프로그래밍과 성능이 뛰어남.

    • C++를 사용할 이유가 많지 않음.
  • C++의 std::regex는 성능이 좋지 않고 유니코드 지원이 부족함. 일반적으로 피해야 함.