티스토리 뷰

프로그래밍/Etc

[Etc] C, C++, C#의 차이점

Reference M1 2019. 10. 11. 22:03

 

이번에는 C, C++, C#의 차이점에 대해 이야기해보자. 눈에 띄는 공통점은 "C"를 이름에 포함하고 있다. 그래서인지 각기 다른 차이점이 헷갈릴 수 있다.

우선 C 언어의 경우 1972년에 만들어졌다. 아주 오래된 언어이다. 또한 C언어는 무수히 많은 다른 언어에게 영향을 미쳤다. 그래서 C는 중요한 프로그래밍 언어로 평가받고 있다. C가 만들어진 1970년대에는 컴퓨터가 지금처럼 빠르지 않았다. 그런 이유로 C는 리소스가 많이 없는 기계에서 작동할 때 유용하다. 그리고 하드웨어와 매우 밀접하게 작동한다. 예를 들면 화성탐사선에서 사진을 찍고 NASA로 전송하는 역할을 하는데 250만 줄의 C언어의 코딩으로 작성되었다고 한다. 왜냐하면 화성탐사선에는 프로세싱 파워도 약하고, 가능한 적게 공간을 쓰면서, 빠른 언어가 필요했기 때문이다.

C++는 C와 비슷하다. 단지 Class를 갖고 있다. C++을 만든 사람의 의도는 C++가 C의 superset이 되길 바라는 것이었다. superset은 한 언어의 확장판 같은 것이다. 예를 들어 자바스크립트의 superset은 타입 스크립트가 있다. C와 C++는 Class를 제외하고 거의 같은 맥락이다. 속도 차이도 없고, 하드웨어의 밀접성도 비슷하다. C++을 선택하는 이유는 객체지향 프로그래밍을 선호해서이다.

 

C#은 C, C++과 분명하게 다른 영역이다. C#은 C++ 보다는 Java와 비슷하다. 단순히 말하면 C#은 마이크로소프트가 만든 Java 느낌이다. 기업용으로 만들어진 프로그래밍 언어이다. 마이크로소프트가 C#을 만들려고 많은 시간과 돈을 투자했다. 닷넷 생태계의 언어이기 때문이다. Oracel(Java) VS Microsoft(C#) 기업용 프로그래밍 언어의 양대산맥이다. 한국에서는 Java를 주로 사용하지만 미국, 유럽 등에서는 C#. NET을 많이 사용한다. C#은 Front-end, Back-end 모두 만들 수 있고, Ios, Andriod 앱도 만들 수 있다.

정리하자면 C, C++은 작은 시스템에 속도를 중요시하는 경우 사용되고, C#은 기업용 시스템에 적합하며 Java와 비슷하다. 많은 회사들이 C#, Java를 사용하다가 속도가 필요하면 C, C++로 갈아탄다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함