본문 바로가기

Programming/.NET

[.NET] .NET이란

.NET이란

 

우선 .Net은 마이크로 소프트사에서 개발한 프로그래밍 플랫폼입니다. 
기존의 번거로운 작업을 캡슐화하여 코딩 효율을 극대화한 이 플랫폼은 CLR이라는 가상 머신 위에서 작동합니다. (CLR외에도 CLS, CTS라는 요소가 있습니다. 다음에 보다 자세히 다루겠습니다.) 


.NET을 한마디로 표현하자면 '프로그래머 친화적 언어'라고 생각합니다.

그만큼 코딩이 간편해졌습니다.

 

 

.NET의 개발 배경과 개인적인 견해

 - COM플랫폼의 단점 보안 

.NET이전에 사용된 Com이라는 플랫폼은 언어 독립적 접근과 위치 투명성의 장점에도 DLL 지옥이라고 하는 소위 COM지옥에 빠지면 항목 등록, 배포, 버전 관리와 관련된 수많은 이슈로 머리가 터지는 상황이 발생했습니다.

또한 여기서 말하는 언어 독립적 접근에도 상당히 제한적이었습니다.

새로운 COM 형식으로 파생되지 않는 것입니다.(클래스 상속을 지원하지 않는 문제입니다.)

.NET의 경우 강력한 이름을 사용함으로써 관리가 용이해지고 교차 언어 상속, 예외 처리, 디버깅을 지원합니다.

 

 - Java

가장 큰 이유는 Java라는 언어가 아닐까 싶습니다.

프로그래밍 언어는 크게 C 진영과 Java 진영, 이렇게 두 진영으로 분리가 된다고 생각합니다.

물론 현재의 프로그래밍 언어 점유율만 봐도 Java를 더 많이 사용한다는 것이 사실입니다.

 

하지만 운영체제인 Windows가 바뀌지 않는 한 .NET 플랫폼은 꾸준히 사용될 것이라 보고있습니다.

당연하겠지만 .NET 기반의 언어는 Windows 애플리케이션 개발에 특화된 언어라고 생각합니다.

이런 저런 고객사 출장을 다니면서 프로그램 개발을 해온 입장에서 보면 아직도 mfc와 C++개발된 프로그램을 사용하는 업체도 많고 Windows 서버를 사용하는 업체도 많기 때문입니다. (서버의 경우 웹페이지를 관리하는 서버는 리눅스서버가 많았지만 사내 전용 프로그램을 관리하는 서버, ERP와 같은 프로그램 서버는 대다수가 Windows 기반의 서버였습니다.)

 

- 참조 : https://en.wikipedia.org/wiki/.NET_Framework
C#과 닷넷 플랫폼

'Programming > .NET' 카테고리의 다른 글

[.NET] .NET 리플렉션  (0) 2020.01.14
[.NET] .NET 어셈블리(어셈블리의 구성)  (0) 2020.01.11
[.NET] .NET 어셈블리(어셈블리의 종류)  (0) 2020.01.10
[.NET] 강력한 이름  (0) 2020.01.07
[.NET] CLR, CTS와 CLS  (0) 2020.01.06