C++과 C언어의 차이점이뭔가요?
C++과 C언어의 차이점이뭔가요?
두개가 다른언어인거같은데 C#도 언어인가요?
아니면 언어가아닌다른건가요?
C++은 어떨때 쓰이고 C언어는 어떨때쓰이고
C#은 어떻때쓰이나요?
C, C++, C# 모두 다른 언어입니다.
C++은 C보다 조금 더 발전한 언어라고 보시면 됩니다.
객체지향 프로그래밍에 필요한 보일러플레이트를 줄이고 다른 기능도 추가되고...
컴파일러가 코드를 알아서 바꿔주는 게 있는데, 일부 임베디드에서는 C++ 무겁다고(...) C 쓰기도 합니다.요즘 C++11 C++14 C++17이나 C11 C17 나오고 나서부터는 안 그렇지만
전에는 C++ 컴파일러로 C언어도 컴파일할 수 있었고 (C -> C++ 문법이 호환됐'었'습니다.)
옛날에는 C++ 컴파일러가 C++ 코드를 C로 바꿔서 컴파일하는 게 있었을 정도로 비슷하지만C#은 완전히 다른 언어입니다. C/C++은 컴파일 언어, C#은 인터프리터 언어입니다.
C 와 C++ C# 모두 다른 언어 입니다.
C언어는 1972년 만들어 졌고. BCPL 언어를 기반으로 켄톰슨이 B언어(벨 연구소의 B 를 땄다고 합니다)를 만들었고. 이것을 데니스리치가 C 언어를 만들었습니다.
역사적으로는 ALGOL -> CPL -> BCPL -> B -> C 순서로 영향을 받았거나 파생되었거나 합니다. ( 왜 'C'인가?에 대한 사족이였습니다.
C ++ 은 처음에 'C with classes' 로서 시작 되어 최종적으로는 C++로 완료되었습니다. 이것은 최초에 C에서 확장 (++) 되었음을 의미 합니다.
결과적으로는 C언어에서 클래스 , 상속, 인라인확장, 기본인수, 연산자 오버로딩, 타입 안전한 메모리할당 1줄 주석등을 추가하는 형태로 만들어졌습니다.그러니까 C++ 은 C언어를 확장한 언어로서 개발 되었고. 따라서 초기 버전에서는 C++컴파일러에서 C 언어를 빌드할 수 있었습니다.
다만 C언어와 C++은 이후 지속적으로 판올림 되었고. 이러한 호환성은 명확하지 않아졌습니다. (될수도 안될수도 있다는겁니다.)
C#은 씨-쌒으로 읽지만 음표중 높은음 표나 C+++ 로 풀어서 결과적으로 C++에서 확장 되었다 라는 계보를 가지고 마이크로 소프트의 닷넷프레임워크에 포함 된 언어로 정체성을 가집니다.
기존의 C나 C++은 각 오에스 별로 빌드를 해야하는 반면 씨샾은 닷넷프레임워크 위에서 동작 하기 때문에 하나의 빌드로 모든 닷넷프레임워크위에서 동작 가능하며, 메모리를 직접 제어하지 않고 게비지 컬렉터를 가지고 있습니다.
- 내용의 일부는 위키백과에서 추려왔습니다.하여 C 와 C++ 과 C# 은 각기 다른 별개의 언어입니다.
그럼 각각 어디에 쓰이냐 라고 하면. 참 많은 곳에 쓰입니다?라고 할 수 밖에 없는데.
C#의 경우는 보통 윈도우용 앱을 만들때 쓰입니다. 자마린을 이용 하면 모바일용도 만들수는 있습니다.C랑 C++은 좀 마니 다양한데서 사용 됩니다만. 간추리려니 간추려지지 않네요.
많이들 하는 질문이셔서 스택오버플로를 포함해서 많은 영문포럼에서도 해당하는 질문들이있습니다.
관련하여 잘 정리되어있는 문서 몇개 첨부드리오니 들어가셔서 읽어보시면 좋을듯합니다.
영문이긴한데 구글번역만 하셔도 이해하시는데 문제 없는수준으로 잘 기술되어있습니다.
https://csharp-station.com/understanding-the-differences-between-c-c-and-c/
https://www.upwork.com/hiring/development/c-sharp-vs-c-plus-plus/
https://www.guru99.com/cpp-vs-c-sharp.html
https://www.geeksforgeeks.org/c-vs-c-sharp/
각각 어떠한 프로젝트에서 어떤 언어를 써야하는가, 원론적으로 세가지 언어의 차이점은 무엇인가 등 표를 포함하여 정확하게 차이점과 장점등을 나열해두었습니다.