포스트

C# 프로그래밍 언어 시작하기

C# 프로그래밍 언어

image
C#은 Microsoft에서 개발한 닷넷(.NET) 프레임워크 기반 범용 목적의 다중 패러다임 프로그래밍 언어이다.

  • 닷넷(.NET) 프레임워크 : C#이 동작하는 환경, 기계어로 변환되는 과정을 담당한다.
  • 범용 목적 : 다양한 목적으로 C#프로그래밍 언어를 사용한다.
  • 다중 패러다임 : 한 가지 스타일의 프로그래밍 스타일을 사용하는 것이 아닌 다양한 방식으로 사용한다.

닷넷(.NET) 프레임워크

웹(WEB) 앱, 모바일 앱, 데스크톱 프로그램, 게임 프로그램, 사물인터넷(IoT) 프로그램 등을 만들기 위한 오픈 소스, 크로스 플랫폼 개발 환경
image

닷넷 프레임워크(.NET Framework) vs 닷넷 코어(.NET Core)

image

프로그래밍 언어, 실행 환경, 컴파일러들은 공통으로 사용하지만, 이들을 어디서 사용할 수 있느냐에 따라 환경이 달라진다.

  • 닷넷 프레임워크(.NET Framework)는 Window환경에서 동작한다(단일 플랫폼 지원). 즉, Windows운영체제가 설치된 곳에서 프로그램을 동작시키거나, 웹 서비스 웹 앱을 개발할 수 있다.
  • 닷넷 코어(.NET Core) : Windows뿐만 아닌, Linux, Mac OS 환경에서도 동작한다(멀티 플랫폼 지원).

닷넷 프레임워크(.NET Framework)의 주요 개념

  • MSIL 또는 IL 👉 Common Intermediate Language : CLR에 의해서 해석되어 최종 기계어로 번역되는 중간언어
  • CTS(Common Type System) : 닷넷 호환 언어가 지켜야 할 타입(Type)의 표준 규격을 정의한 것.
  • CLS(Common Language Specification) : 닷넷 호환 언어가 지켜야 할 최소한의 언어 사양을 정의한 것.
    • Visual Basic이 CTS와 CLS 규격을 만족시키는 버전으로 재탄생된 것이 VB.NET
  • CLR(Common Language Runtime) : CLI 사양을 만족하는 가상머신.
    • JIT 컴파일러 : IL을 기계어로 번역
    • GC : Garbage Collector

C# 과 JAVA

공통점

  • 중간 언어 사용
    • JVM이 실행하는 코드를 바이트 코드(Bytecode)라고 한다.
    • CLR이 실행하는 코드를 CIL(Common Intermediate Language)라고 한다.
  • 둘 다 가상 머신을 사용.
    • JVM(Java Virtual Machine)
    • CLR(Common Language Runtime)

차이점

  • Java는 단일 언어, 다중 플랫폼 지원
  • CLR은 다중 언어, 단일 플랫폼 지원
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.