기타 정보 유머

C, C++, C# 차이점

뤼케 2020. 7. 14. 18:05
728x90
반응형

오늘은 C. C++, C#의 차이점을 이야기해볼꺼에요!

이들은 모두"C" 를 이름에 달고 있지요 

그래서 그 차이점이 뭔지 헷갈릴 수있습니다 

일단 C언어의 경우 47년전에 만들어 졌습니다.

아주 오래된 언어인것이지요

C는 자바 자바스크립트 파이썬 PHP GO 와같은 많은 언어들에게 영향을 미쳤습니다

그래서 C는 중요한 프로그래밍 언어로 평가받고 있습니다 

C가 만들어진 47년전에는 컴퓨터가 지금처럼 빠르지 않았습니다 

덕분에 C는 리소스가 많이 없는 기계에서 작동할때 유용합니다

그리고 하드웨어와 매우 밀접하게 작동합니다 

예를 둘면 C로 만들어진 것들 

Mars Rovers Curiosity (화성탐사선) 



화성에 보내진 탐사선입니다 

화성에 착률해서 지면의 사진들을 찍고

그 사진을 다시 NASA로 보내는 역할을 합니다 

해당 프로그램은 250만줄의 C언어로 작성되었습니다 

아주 날것의 C코드 입니다 

왜냐면 해당 화성 탐사선이 메모리가 충분하지 않고 

프로세싱 파워도 약하기 떄문에 가능한 적게 공간을 쓰면서 빠른 언어가 필요했습니다

그게바로 C언어인 것입니다 

자 그렇다면 C++는 무엇일까요 

C++는 C와 비슷한데 다만 class를 갖고있습니다 

C++를 만든 사람도 말하길 C는 이제 쓸모가 없다 

그가 C++를 만들떄의 의도는 C++가 C의 superset이 되길 바라는 것이었습니다 

superset이라 함은 한 언어의 확장판 같은 겁니다 

예로는 자바스크립트 그리고 타입스크립트가 있습니다 

타입스크립트는 자바스크립트의 확장판입니다 

왜나면 type을 추가하니까요

자바스크립트는 type이 가 없습니다 

타입스크립트는 자바스크립트와 동일하지만 확장해서 type을 추가한 것입니다 

C, C++도 마찬가지입니다 동일하지만 

왜냐면 C에는 class가 없고  OOP[객체지향]과 같은 컨셉을 지원하지 않습니다 

C++을 만든 사람이 말하길  C++가 C의 대체재가 되길원하고 합쳐서 한개의 언어가 되야한다

왜냐면 C. C++는 class 라는 차이점 외에는 너무너무너무 비슷하기 떄문에 

자 그렇다면 C++의 문제점이 있는가?

사실 개인적인 생각으로는 스피드의 차이는 없는 듯하고 

하드웨어의 밀집성도 비슷하다고 생각하고 

사람들이 C++을 선택하는 이유는 객체지향 프로그래밍을 선호해서 

자 이제 C#을 설명해보겠습니다 

이건 사실 엄청 다른 영역입니다 

C#은 Java와 꽤나 비슷해 C++와 비슷한것보다 

C# 한줄설명 = 마이크로소프트가 만든 Java

이건 기업용으로 만들어진 프로그래밍 언어입니다 

마이크로소프트가 이걸 만드려고 엄청난 시간과 돈을 뿌렸습니다 

이건 닷넷 생태계를 위한 언어 입니다 

Java,  Oracle이 한 시스템이고 

C# 닷넷이 또다른 생태계인 셈입니다 

기업용 월드인 셈입니다 

한국은 자바를 엄청 많이 사용하는 것으로 알고 있습니다 

다만 미국 유럽 등지에서는 C# 닷넷을 많이 사용합니다 

또한C#은 꽤나 강력해 백엔드 프론트엔드를 만들수 있고 

또한 ios 앱도 만들수 있고 

최근은 더더욱 C#이 핫한데 그이유는 unity3D 덕분 입니다 

C#을 배우면 엑스박스 플레이스테이션 ios Android 웹용 게임을 다만들수 있습니다 

Unity 3D로 말이지 참고로 이건 비디오 게임 엔진입니다 

알아두면 좋은 것은 C#은 C++보다 빠르진 않습니다 

왜냐면 C#은 컴파일러 등의 도움을 많이 받고 수동으로 이루어지지않습니다 

반대로 C는 수동으로 이루어지기 떄문에 좀더 기계에 가까운 언어 라서 더 빠릅니다 

그래서 사람들이 말하기를 C++ 에서 기계가 빨리 자동하고 

C# 에서 개발자가 빨리 작동한다고 말합니다 

개인적인 생각으로 C#은 많은 개발잘들이 만족할 만한 언어입니다 

개발속도가 좀더 빠르고 C++처럼 수동으로 작업할 것이 많이 없습니다 

C#은 자바와 비슷해 그래서 당신이 자바스크립트 타입스크립트 자바를 할줄안다면

휠씬 빠르게 배울수 있고 1-2주면 바로 시작할수 있다고 생각합니다 

마지막으로  복습 

C C++ 작은 시스템 스피드 겁내 빠릅니다 

C# 회사용 시스템 자바랑 비슷하게 생겼습니다 

C#은 개발자 개발 스피드가 빠릅니다 

C C++는 컴퓨터 스피드가 빠릅니다 

이렇게 각기 차이점이 있습니다 

많은 회사들은 C# java를 쓰다가 
스피드가 필요하면 C C++를 갈아타게 됩니다 

728x90
반응형