C/C++는 1개 국어입니까, 2개 국어입니까?
C/C++는 1개 국어입니까, 2개 국어입니까?수업이 있는 C++는 그냥 C라고 들었습니다.그래요?
C++는 1982-1983년에 C에서 분리되었으며, 이는 컴퓨터 시대에서 긴 시간입니다.그러나 C 표준 라이브러리 자체를 포함하여 C++ 호환성을 가진 C 라이브러리가 많이 있으며 프로그램의 꾸준한 스트림이 C에서 C++로 포팅됩니다.많은 C 프로그래머들은 C++와 호환되는 기능만 알고 있거나 사용합니다.
이들은 개별 위원회와는 다른 ISO 표준에 의해 정의됩니다.호환되는 기능을 정의할 때도 종종 다른 용어로 정의됩니다.
C/C++를 언급하는 것은 이탈리아어/스페인어를 언급하는 것과 마찬가지로 타당합니다.그런 용어는 누구에게, 언제 사용하는지 주의해야 합니다.그러나 양방향으로 아이디어의 확산이 있는 것은 사실이며, 유사점은 우연 그 이상입니다.
"C/C++"는 정확히 0개의 언어입니다.존재하지 않습니다.
반면에 C는 언어입니다.
C++는 C와 비슷하면서도 클래스도 많고 다른 점도 많은 다른 언어입니다.
분명히 말하면 @Zoidberg는 다음과 같습니다.
C와 C++는 완전히 다른 두 언어입니다.C with Classes는 C++의 전신이었지만, 이 용어는 여전히 비현대적인 C++(예를 들어, 곳곳에 원시 포인터를 사용하는)에 자주 사용됩니다.
2개 국어입니다.C++를 "수업이 있는 C"라고 부르는 것은 코끼리를 네 발 달린 동물이라고 부르는 것과 같습니다.그것을 쥐와 비교하기 전까지는 사실인 것 같습니다.
C++, 자바, C#, 자바스크립트, csh에서 파생된 많은 언어들이 있습니다.그들은 많은 면에서 모두 다르지만 유사한 구문을 공유합니다.
물론 C는 B에서 유래된 것입니다.그러나 그것은 다른 이야기입니다. (그리고 아무도 더 이상 B를 신경쓰지 않습니다.)
간단한 답: 2개 국어
이들은 두 개의 다른 언어이지만, 거의 모든 C 코드가 유효한 C++ 코드입니다.
C++는 처음에는 "C, 그러나 수업과 함께"라고 생각했지만, 시간이 지나면서 점점 차이가 났고, 지금은 C 코드가 매우 나쁜 C++ 코드입니다.C나 C++, 또는 둘 다 배울 수 있지만, 보통 둘 다 섞지는 않습니다.
C/C++는 2개 국어입니다.C는 하나의 언어이고 C++는 다른 언어입니다.C++는 '더 나은' C로 간주됩니다.C는 절차적인 반면 C++는 객체 지향적입니다.C++는 C에 비해 많은 개선점을 가지고 있으며, C와 유사한 구문을 가지고 있습니다.
그들은 두 개의 다른 언어입니다.C++는 일부가 C에 뿌리를 두고 있고 어떤 의미에서는 C와 호환되기 때문에 그렇게 이름 붙여졌습니다.
Scott Myers의 Effective C++에 따르면, 우리는 C++를 다음과 같은 네 가지 구성 요소를 가진 통합 언어로 볼 수 있습니다.
- C 언어 파트, 블록, 문장, 전처리기 등
- Divosed Oriented C++: 클래스, 캡슐화, 상속, 다형성 등 포함
- 템플릿 C++: C++ 템플릿 포함, 메타프로그래밍 관련 사항
- STL.
그래서 C++는 어떤 의미에서는 C보다 더 강력합니다.
"C"라는 이름은 국제 표준으로 공식화된 관련 언어들의 어족을 가리킵니다.여기에는 K&R C, ANSIC, C99, C11 등이 포함됩니다.
"C++"라는 이름은 국제 표준으로 공식화된 관련 언어들의 어족을 가리킵니다.여기에는 C++98, C++03, C++11, C++14 및 추측된 C++17이 포함됩니다.
C/C++라는 용어는 C와 C++의 교차점을 비공식적으로 지칭하기 위해 많은 사람들이 사용하고 있으며, 이는 C++의 설계자들에 의해 의도적으로 유지되고 있습니다.
C++의 이전 버전은 원래 "C with Classes"로 불렸습니다.이것은 Bjarne Stroustrup의 1994년 저서 "C++의 디자인과 진화" (그리고 여기서도)에 자세히 나와 있습니다.이 이름은 결국 C++로 바뀌었는데, 이는 C 커뮤니티에 대한 예의로서 사람들이 "C with Classes"를 단지 "C" 또는 "new C"로 줄이기에는 너무 유혹적이 되었기 때문입니다.
C++에는 C에 없는 언어 기능들이 많이 있습니다. (그 반대는 덜한 범위에서 사실입니다.)특히 클래스 기반 모델은 암시적 함수 호출 기능 때문에 C++가 C++의 일반적인 용도를 C와 훨씬 다르게 만드는 고급 프로그래밍 스타일을 (오히려 유기적으로) 진화시켰을 정도로 강력합니다.가장 주목할 만한 예는 표준 I/O 라이브러리의 스트림 클래스뿐만 아니라 표준 클래스 문자열, 벡터 및 shared_ptr에 구현된 리소스 확보가 초기화 중임이라는 개념과 관련이 있습니다.
기타 참고 사항:
C++98 및 C++03은 최소한의 기능 차이를 가지고 있으며, 종종 본질적으로 동일한 언어로 취급됩니다.
C와 C++의 공통 부분 집합을 다루는 상위 질문:
IMHO, 답은 C/C++가 하나의 언어가 아니라 두 개의 언어라는 것입니다.
- C 프로그래밍 언어
- C++ 프로그래밍 언어
C++ 언어는 C 언어에서 유래했습니다.C++는 '클래스' 기능이 추가된 C 프로그래밍 언어의 이름입니다.이는 기본 C 언어 아키텍처가 객체 지향 프로그래밍이 가능하도록 향상되었음을 의미합니다.증가를 의미하는 "+" 연산자를 사용합니다.C++는 C의 증분으로, 절차적 방식 또는 객체 지향적 방식 또는 프로그래밍 방식으로 둘 다 사용할 수 있습니다.C++는 C보다 쉽게 코드를 쓸 수 있게 해줍니다.그러나 이것은 C++를 가지고 있기 때문에 C 언어가 지금 적합하지 않다는 것을 의미하지는 않습니다.각각의 언어는 프로그래머가 필요로 하는 소프트웨어의 목적을 위해 사용됩니다.그래서 ANSI가 C를 표준으로 만든 겁니다.
언급URL : https://stackoverflow.com/questions/14330370/is-c-c-one-language-or-two-languages
'it-source' 카테고리의 다른 글
Server.MapPath - 지정된 물리적 경로, 예상되는 가상 경로 (0) | 2023.10.03 |
---|---|
원격 레지스트리 값 가져오기 (0) | 2023.10.03 |
MySQL은 EXECUTE의 결과를 변수에 저장합니까? (0) | 2023.10.03 |
data.frame 열 값을 합산하는 방법? (0) | 2023.10.03 |
TypeError: $(...).modal이 부트스트랩 모달을 사용하는 함수가 아닙니다. (0) | 2023.10.03 |