
비교 차트
비교 근거 | 기음# | C ++ |
---|---|---|
컴파일 된 | CLR | 기계 코드 |
메모리 관리 | 자동으로 | 수동으로 |
포인터 사용 | 허용되지 않음 | 허용됨 |
에 고용 된 | 주로 Windows 플랫폼 | 어떤 플랫폼이든 |
응용 프로그램 | 콘솔, 창, ASP.NET 및 모바일 응용 프로그램. | 독립 실행 형 콘솔 응용 프로그램. |
코딩 | Windows OS를 목표로합니다. | 모든 플랫폼에서 수행됩니다. |
속도 | 천천히 | 경량 언어이므로 더욱 빠릅니다. |
C #의 정의
프로그래밍 언어 C # 은 이전 버전 인 C ++ 및 C와 직접 관련이있는 객체 지향 프로그래밍 언어입니다. 2000 년 Anders Hejlsberg가 개발했습니다. C #을 만드는 주요 목적은 Java의 한계를 극복하는 것입니다. Java는 언어 간 상호 운용성이 없었기 때문에 Java는 다른 프로그래밍 언어로 생성 된 프로그램을 사용하여 하나의 프로그래밍 언어로 작성된 프로그램을 실행할 수 없었습니다. 둘째, Java는 Windows 플랫폼과 완전히 통합되지 않습니다.
Java는 항상 C #의 적 언어입니다. C #은 CLI (Common Language Interface) 환경을 사용하여 프로그램을 이식성있게 만드는 .NET 플랫폼의 표준 언어입니다.
C #은 자동 가비지 수집, 유형 안전, 버전 관리 지원, 대리인 및 이벤트, 웹 서비스, 권투 및 언 박싱 및 데이터 멤버 액세스 가능성과 같은 기능을 포함합니다.
C #의 특성
- 단순성 : C #은 연산자 사용 측면에서 단순하며 부울과 정수 데이터 유형을 완전히 분리합니다.
- 호환성 : C #은 공용 언어 사양을 적용하여 .NET 플랫폼 언어에서 상호 운용을 제공합니다.
- 일관성 : 정수 유형의 가변 범위 문제를 제거하기 위해 C #에서 통합 유형 시스템을 지원합니다. 모든 유형을 객체로 간주합니다.
- 객체 지향 : 전역 함수, 변수 및 상수 대신 모든 것이 객체 인 것은 전적으로 객체 지향입니다.
- 유형 안전성 : 동적으로 할당 된 객체 및 배열이 0으로 초기화되고, 초기화되지 않은 변수 사용이 허용되지 않으며, 배열의 자동 범위 검사, 안전하지 않은 형변환, 오버플로 검사 등과 같은 여러 가지 유형의 안전 조치가 포함됩니다.
- 버전 관리 가능성 : 소프트웨어 모듈의 새 버전이 이미 존재하는 응용 프로그램과 호환되도록합니다.
- 유연성 : 그러나 포인터는 C #에서 지원하지 않지만 그 점을 이해하면 안전하지 않은 클래스와 메서드를 사용할 수 있습니다.
- 상호 운용성 : C #은 COM 개체를 사용하며 모든 원시 API를 호출하는 프로그램을 만듭니다.
C ++의 정의
C ++ 프로그래밍 언어는 Bjarne Stroustrup의 AT & T Bell Laboratories에서 1980 년대에 등장했습니다. 이 버전은 처음에는 C ++가 객체 지향 언어이기 때문에 "클래스가있는 C"로 알려져 있었지만 기존의 기본 유형 중 일부를 지원합니다. C ++은 C 언어에서 파생되었으며 C 언어에 의해 유지되는 "기계 가까이"속성뿐만 아니라 "close to the problem"속성을 보유합니다.
C ++의 구문은 C 언어와 비슷하지만 C #과 완전히 다릅니다. 유연하고 런타임 효율성과 일관된 의미에 중점을 둡니다.
매크로의 사용, 다중 상속, 포인터, 템플릿, typedef 문, 전역 변수, 상수 멤버 함수 또는 매개 변수, 기본 인수, 전달 된 클래스 선언과 같은 C #에서 폐기되는 C ++의 몇 가지 기능이 있습니다.
C ++의 특성
- 이식성 : C ++ 이식성과 C #을 비교할 때 코드는 네이티브 OS를 실행하는 컴퓨터에서 실행할 수 있지만 C #에서는 그렇지 않습니다.
- 플랫폼 종속성 : C ++은 OS에 작성된 프로그램을 다른 OS에서 실행할 수없는 플랫폼 종속 언어입니다.
- 대소 문자 구분 : 대문자와 소문자는 구별 된 방식으로 처리됩니다.
- 컴파일러 기반 : C ++은 컴파일없이 코드를 실행하지 않기 때문에 컴파일 된 언어라고합니다.
- 구문 기반 : 프로그래밍 언어의 규칙을 엄격하게 준수합니다.
- 포인터 : C #과 달리 C ++에서는 포인터를 사용할 수 있습니다.
C #과 C ++의 주요 차이점
- C # 코드는 먼저 .NET Framework에서 해석되는 CLR (Common Language Runtime)으로 컴파일됩니다. 반대로 C ++은 코드를 직접 기계어 코드로 컴파일합니다.
- C #은 메모리 관리를 자동으로 처리하는 가상 머신에서 실행됩니다. 반대로 C ++은 수동으로 메모리를 구성합니다.
- C ++에서는 포인터를 사용할 수 있지만 C에서는 포인터가 덜 사용되는 대신 안전하지 않은 클래스가 사용됩니다.
- C #은 주로 Windows 환경에서 사용됩니다. 반대로, C ++은 Unix 기반 시스템 용으로 설계되었지만 이제는 모든 플랫폼에서 사용할 수 있습니다.
- C #의 응용 프로그램에는 웹 기반, 데스크톱 및 모바일 응용 프로그램이 포함됩니다. 반대로 C ++의 유일한 목적은 독립 실행 형 콘솔 응용 프로그램을 만드는 것입니다.
- 무거운 라이브러리를 사용하지 않으므로 C ++ 코드가 빠릅니다. 반면에 C #은 오버 헤드를 발생시키고 java와 같은 무거운 라이브러리를 사용하므로 속도가 느립니다.
결론
C ++은 성능이 프로그래머의 주요 관심사 인 경우 주로 사용되지만 C #에서는 초보자라도 웹 기반, 모바일 및 데스크톱 응용 프로그램을 쉽게 개발할 수 있습니다. C #은 배우기 쉽고 보호 된 언어는 운영 체제에 해를 입히는 측면에서, 반면에 C ++은 더 개방되어 있으며 프로그래머가 제공된 구문을 사용하여 모든 작업을 수행 할 수 있습니다.