(단비 분탕 글 모음 ㅋㅋㅋ 지금은 전부 글삭)



↓ 위에서 단비 주장에 반박하는 수십년 경력의 북미 프로그래머들 답변




지금은 이 용어(C/C++)가 역사적인 유물이라고 생각합니다.

20년 전에는 C++이 상대적으로 새로운 언어였기 때문에,

C++ 프로그래머는 대부분 C 프로그래머도 되었습니다.

그래서 "C/C++"라는 용어로 두 언어를 함께 묶는 것이 자연스러웠습니다.


그러나 요즘에는 C++과 C는 최신 표준을 따라 점점 더 다른 방향으로 발전해 왔으며,

더 중요한 것은 이들의 프로그래밍 스타일이 극명하게 달라졌다는 점입니다.

"현대적인 C++" (사실 2001년으로 거슬러 올라가지만, 일반적으로 퍼지기까지는 시간이 걸렸습니다)은

이전 C 언어와는 거의 닮지 않습니다.

C 프로그래머와 C++ 프로그래머는 서로 교체 할 수 없습니다:

각 언어마다 고유한 최선의 방법론과 관용구가 있습니다.







오랫동안 C언어와 C++을 같ㅇ 배우고 있는 프로그래머들이 존재한 적이 있었습니다.

그래서 C++ 개발자를 채용하는 회사들은 C, C++ 개발자들을 모두 검토해야 했습니다.


그러나 이제 그런 시대는 지나갔습니다. 이제는 10년 또는 20년간 전문적으로 C++만 경험을 쌓은

시니어 개발자들이 존재 합니다. 하지만 인사 부서는 개발 팀보다 더 느리게 시대가 변화하는 부서입니다.

(대충 공고에 아직도 C/C++이라고 적는 이유가 발전이 느린 인사부서 탓이라는 이야기)


오랫동안, 공급업체들은 미완성된 C++ 컴파일러에 대해 얘기하고, 이를 C/C++ 컴파일러로 제공했습니다.

"기본 C++"라는 간단한 버전의 C와 클래스를 표준화하려는 시도가 있었습니다.

이것은 개발자들에게는 적절했습니다. 그러나 이제 이러한 시대도 지나갔습니다.


gcc와 clang C++ 컴파일러는 모든 중요한 아키텍처를 대상으로 하면서 오로지 C++ 구현을 목적으로 합니다.








이것은 대부분 인사 부서의 나쁜 습관으로 보입니다.

C와 C++이 10년 이상 전에 분리되었다는 사실을 인식하지 못하는 것 같으며,

C 개발자들 중에서도 C++에 대해 "뭔가"를 알고 있다고 주장하는 사람들이 있습니다.

(주로 객체 지향 프로그래밍 부분만 알고 있는 경우가 많습니다.)


사실은 C++ 안에 C 문법의 90% 이상을 찾을 수 있지만, 두 언어의 관용구는 완전히 다릅니다.


선호되는 C코드 방식은 확실히 C++에서는 좋지 않은 코드 방식입니다.

(다시 말해 C++은 동일한 문제를 해결하기 위해 다른 방식을 제공하며, C에서 일반적으로 사용하는 방법이 선호되지 않을 수 있습니다.)

그리고 C++에서 좋은 코드는 C에서는 확실히 불가능한 코드 방식입니다.

(C에서 필요한 구조가 없어서 해당 구조를 먼저 만드는 데 어려움이 있을 수 있습니다.)


이는 두 언어에 모두 숙련된 프로그래머가 존재하지 않는다는 의미는 아닙니다.

하지만 어떻게 해서든 두 언어를 둘 다 다른 것으로 취급해야하며,

한 언어가 다른 언어의 "상위 집합"으로 간주해서는 안된다는 것을 의미합니다.




------------------



단비야 실력이 안 좋으면 배우려는 자세라도 가지자..