2023. 11. 8. 14:04ㆍ카테고리 없음
1. C# 넌 누구니?
우리가 무엇을 공부하려고 할 때, 그놈이 누구인지 먼저 알아야 하겠지!
검색을 해보자.
친절한 우리 나무위키에서 쭉~ 설명을 해주신다.
이 페이지에서는 C#에 대해 간략하게 알아보도록 하겠다.
C#이란, 마이크로소프트(Microsoft)의 앤더스 헤일스버그(Anders Hejlsberg)가 개발한 객체지향 프로그래밍 언어다.
2000년 7월에 개최되었던 Professional Developers Conference(PDC)에서 .Net 프로젝트와 함께 발표되었다.
1983년에 등장한 C++와 1995년에 등장한 Java에서 강한 영향을 받았다. 확장자는 .cs다.

자바(Java)와 비슷한 특징을 가지고 있어 메모리관리를 따로 하지 않아도 되며, 개발 속도가 높아 생산성이 뛰어나다.
친구가 C#을 권했을 때 한 말이 있다.
"C#,. Net으로 넘어오면 C++, MFC로 돌아가기 힘들걸?"
처음엔 뭔 소린가 했다.
하지만 막상 C++이나 MFC로는 몇 줄 이상을 코딩해야 할 내용이 C#에서는 한두 줄 코딩으로 끝나는 걸 경험해 보니, 확연한 차이를 느낄 수 있었다.
'아~ 이래서 생상성이 뛰어나다고 하는구나'
2. 역사
2000년에 .Net 프로젝트와 함께 C#이 발표된 이래, 2203년 현재 C# 12까지 발표된 상태다.
플랫폼은 .Net Framework와 .Net Core를 기준으로 한다.

나무위키에는 C# 11까지만 업데이트되어 있으므로 C# 12의 주요 기능이 궁금하신 분들은
learn.microsoft.com에서 찾아보시길 바란다.

3. 특징
- 닷넷(.Net) : Java가 자바 가상 머신이 필요하듯, C#은 닷넷(.Net)이 필요하다.
- 성능: 비슷한 코드에서 평균적으로 10~20%정도 Java보다는 빠르고, C/C++ 보다는 느리다.
- 단일 플랫폼? : 2016년 .Net Core 부터 리눅스를, .Net Core 3.0부터는 macOS도 지원한다.
- WPF : Windows Form의 부족한 기능을 대처하기 위해서 있는 디자인 특화 사용자 인터페이스이다.
- 완성도와 점유율 : C#의 점유율은 높은 편이며, 완성도도 괜찮다는 평이 많다.
위의 특징들 이외에도 기존 언어들과의 차이점들이 있으나 그것들은 차차 경험해 보도록 하고...
정리하자면, 확실히 C++, MFC보다는 개발하기 편하다.
크로스 플랫폼 프로젝트를 아직 진행해 보지 않아 리눅스나 macOS에서의 퍼포먼스를 이야기하기는 좀 이르고...
WPF도 잠깐 경험했을 뿐, 좀 깊이 공부가 필요한 파트인 것만은 확실하다.
아직도 배울 것이 너무 많아! ^^