제일 최종적으로 배울 C#전에 C++입문자로써, 뭐가 뭔지 우선적으로 알아볼 필요가 있다고 생각해서 정리했다.
C
우선 C이다.
C는 많은 프로그래밍 언어 중에서 오래된 언어에 속한다.
자바, 자바스크립트, 파이썬, PHP, GO와 같은 많은 언어들에게 영향을 줬다.
지금까지도 꾸준히 기본으로 인정되는 프로그래밍 언어이기도 하다.
C언어가 만들어질 당시에는 컴퓨터 하드웨어가 지금처럼 좋지 않았기 때문에 C 언어는 리소스가 부족한 기계에서 작동할 때 유용하다는 특성이 있다. 즉, 메모리에 대한 기본 수준의 액세스를 제공해, 런타임 지원이 거의 필요 없기에 효율적으로 작동하는 프로그래밍 언어다.
적은 공간을 요하면서도 빠르다는 장점이 있다.
C++
C++는 운영체제 개발에서 C와 함께 사용되며, 고수준의 서버 및 PC 소프트웨어에서도 사용된다.
일반적으로 C++는 C언어의 확장판이라고 한다. 하위 수준인 C언어를 기반으로 하나, 속도나 효율성 저하 없이 C의 단점을 보완함과 동시에 객체 지향 프로그래밍(OOP,Object-Oriented Programming) 기능이 추가됐다.
C ++의 창시자 C++을 C의 상위집합(superset)라고 말했다. 제일 먼저 떠오르는 superset이라 함은 타입스크립트가 떠오른다. 자바스크립트를 내재한 타입스크립트는 type을 추가해 사용하기에 자바스크립트의 확장판이라고 부른다.
C++도 이와 마찬가지로 동일한 개념이라고 생각하면 된다. C에는 없는 class가 C++에는 있고 C는 OOP를 지원하지 않는다.
C#
: 마이크로소프트사의 닷넷(.NET) 프레임워크를 기반으로 개발한 프로그래밍 언어이다. 일반적으로 상용 소프트웨어가 아닌, 내부용 또는 기업용 애플리케이션으로 사용된다. 보통 닷넷(.NET) 프레임워크 내의 클라이언트 및 서버 개발에 사용된다.
C#은 C++을 기반으로, visual basic의 편의성을 결합해 만들어진 객체 지향 프로그래밍 언어이다.
하지만 C++과는 다르게 사용자 친화성, 객체 지향성, 분산환경처리에 적합한 다중성 등을 지니기에 자바와 가깝다는 특징이 있다.
C언어 | C++ | C# |
절차지향 프로그래밍 언어 | 객체 지향 프로그래밍 언어 | 객체지향 프로그래밍 언어 (컴포넌트 지향 프로그래밍 언어) |
C#의 특징이라면 특징이고, 단점이라면 단점인 가장 큰 것은 C#은 윈도우에서만 사용가능하다는 것이다.
무엇을 사용해야할지 모를 때
보통 웹 개발과 같은 개발환경은 C#과 같은 고급 언어를 사용해 수행한다.
윈도우 기반 프로그램이나 모바일 애플리케이션 개발은 C#이 적합하다.
서비스가 주를 이루는 애플리케이션, 네트워킹, 게임 및 장치 드라이버 개발은 C++이 적합하다.
C#은 개발 속도가 빠르고, C,C++은 컴퓨터 속도가 빠르다.
'책벌레와 벌레 그 사이 어딘가 > 개념쌓기' 카테고리의 다른 글
[개념쌓기]GCC란? (0) | 2023.04.08 |
---|---|
[개념쌓기] YUV (0) | 2023.04.04 |
[개념쌓기] CORS 복습 (0) | 2023.01.20 |
[개념쌓기] final/ finally/ finalize() (0) | 2023.01.16 |
[개념쌓기] 직렬화(Serialization)? (0) | 2023.01.15 |
댓글