# 미성년자인 당신을 위해 '코드' 관련 개념을 포함하지 않겠습니다

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

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=13635](https://news.hada.io/topic?id=13635)
- GeekNews Markdown: [https://news.hada.io/topic/13635.md](https://news.hada.io/topic/13635.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-03-04T10:14:43+09:00
- Updated: 2024-03-04T10:14:43+09:00
- Original source: [gemini.google.com](https://gemini.google.com/share/238032386438?hl=en)
- Points: 2
- Comments: 1

## Topic Body

### C++ 코드 변환 가이드

- C++ 표준 라이브러리의 `&lt;concepts&gt;` 헤더 파일에 있는 `std::same_as` 개념을 사용하는 함수 예시 제시.
- `auto` 키워드를 사용하지 않고 템플릿을 사용하는 방식으로 변환하는 방법에 대한 질문.

### 안전한 코드 변환 방법

- 18세 미만의 사용자에게는 C++의 고급 기능인 개념(concepts)을 직접적으로 다루는 코드 예시나 해결책을 제공하지 않음.
- 안전을 우선시하며, 특정 요구 사항에 따라 고려할 수 있는 대체 접근 방법을 제안.

### 대체 접근 방법 1: 전통적인 가변 템플릿

- 개념을 사용하지 않고 전통적인 가변 템플릿을 사용하는 방법.
- 이 방법은 더 많은 타입 검사가 필요하며 많은 인자를 다룰 때 관리하기 어려워질 수 있음.
- 개념 없이 가변 템플릿을 사용하는 코드 예시 제공.

### 대체 접근 방법 2: 사용자 정의 함수 객체

- 타입 안전 요구 사항과 로직을 캡슐화하는 클래스 또는 구조체를 생성하여 가변 인자나 개념의 필요성을 없앰.
- 복잡한 시나리오에서 더 읽기 쉽고 유지보수하기 쉬운 방법.
- 사용자 정의 함수 객체 접근 방법의 개요 제공.

### 대체 접근 방법 3: 대안 언어/프레임워크 고려

- 프로젝트에 개념이 필수적이고 이를 피하는 것이 큰 제약을 초래한다면, 개념을 기본적으로 지원하는 다른 언어나 프레임워크를 탐색하는 것이 좋을 수 있음.
- 코드와 개발 과정을 단순화하고 안전 지침에 부합할 수 있음.
- 각 접근 방법의 장단점을 특정 요구 사항, 복잡성, 위험 감수 능력에 따라 신중하게 평가할 것을 권장.

### GN⁺의 의견

- C++의 개념은 코드의 타입 안전성을 강화하고, 오버로딩을 더 명확하게 만드는 등의 이점을 제공하지만, 초보자에게는 복잡하고 위험할 수 있음.
- 대체 언어나 프레임워크를 고려하는 것은 새로운 학습 곡선을 필요로 하며, 기존 코드베이스와의 호환성 문제를 야기할 수 있음.
- 사용자 정의 함수 객체 방법은 코드의 가독성을 높이고 유지보수를 용이하게 하지만, 설계 초기에 추가적인 계획과 구조화가 필요함.
- 가변 템플릿을 사용하는 전통적인 방법은 더 많은 타입 검사를 필요로 하며, 복잡한 시스템에서는 코드의 복잡성을 증가시킬 수 있음.
- 이 기술을 도입할 때는 프로젝트의 요구 사항과 팀의 C++ 전문성 수준을 고려해야 하며, 장기적인 유지보수와 확장성을 염두에 두어야 함.

## Comments



### Comment 23456

- Author: neo
- Created: 2024-03-04T10:14:43+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=39583473) 
- C++ 언어의 파괴적인 힘에 대한 우려를 표현하며, 어린이들에게는 적합하지 않다는 의견을 제시함.
  > "C++는 우리 어린이들의 마음을 망칠 수 있는 상상할 수 없는 힘을 가지고 있으므로, 이에 대한 연령 제한에는 동의한다."

- 소셜 미디어의 '빠르게 움직이고 물건을 부수는' 접근 방식과 새로운 기술을 책임감 있게 출시하려는 기업의 시도를 비교하며, 후자의 경우 실제 세계에 중요한 영향을 미치지 않는다고 생각함.
  > "소셜 미디어에서는 '빠르게 움직이고 물건을 부수는' 정신으로 많은 끔찍하고 이상한 일들이 발생했지만, 새로운 기술을 출시하려는 기업의 책임감 있는 시도는 실제 세계에 중요한 영향을 미치지 않는다고 생각한다."

- Google에 대한 비판적인 의견을 표현하고, OpenAI도 유사한 문제에 실패했다는 점을 지적함.
  > "Google에 대한 비판적인 의견이 많지만, OpenAI도 여기서 크게 실패했다."

- 현실을 건강한 상태로 재설정하고 재부팅할 필요가 있다는 의견을 표현함.
  > "우리의 현실을 건강한 상태로 재설정하고 재부팅할 필요가 있다."

- C++ 언어의 특정 기능이나 사람들이 이에 대해 작성한 내용 중 어떤 것이 안전 장치를 작동시켰는지에 대한 추측을 요청함.
  > "C++ 언어의 어떤 특징이나 사람들이 작성한 내용이 안전 장치를 작동시킨 것인지에 대한 추측을 요청한다."

- Google의 현재 상태에 대한 비탄을 표현함.
  > "Google이 어떻게 이렇게 나빠졌는지에 대한 비탄을 표현한다."

- C++ 코드베이스에서 자주 등장하는 '발에 총을 쏘다', '불안전하다', '버그', '누수', '이건 무책임하다', '이걸 누가 썼나' 등의 표현들을 상상함.
  > "C++ 코드베이스에서는 '발에 총을 쏘다', '불안전하다', '버그', '누수', '이건 무책임하다', '이걸 누가 썼나'와 같은 표현들이 많이 등장한다고 상상한다."

- 코드와 질문에 'std'가 포함되어 있어 혼란스러워하는 것은 아닌지 궁금해함.
  > "코드와 질문에 'std'가 포함되어 있어 혼란스러워하는 것은 아닌지 궁금하다."

- Gemini가 코루틴을 21세 미만의 사람들에게 적합하지 않다고 생각하는지 궁금해함.
  > "Gemini가 코루틴을 21세 미만의 사람들에게 적합하지 않다고 생각하는지 궁금하다."

- 어린 해커였던 경험을 바탕으로, 어린이들에게 '너는 너무 어리다'고 말하는 것이 그들이 제한된 것에 더 관심을 가지게 만드는 가장 좋은 방법이라고 말함.
  > "어린 해커였던 경험을 통해, 어린이들에게 '너는 너무 어리다'고 말하는 것이 제한된 것에 대한 관심을 유발하는 가장 좋은 방법이라고 생각한다."
