C샵 편집하기
최신판 | 당신의 편집 | ||
8번째 줄: | 8번째 줄: | ||
== 개요 == | == 개요 == | ||
− | 2000년 7월에 개최되었던 Professional Developers Conference(PDC)에서 [[닷넷]](.NET) 프로젝트와 함께 발표된 객체 지향 프로그래밍 언어이다. 한국어로 쓸 때는 '씨샵' 또는 '씨샾'이라고 쓴다. [[마이크로소프트]]의 [[앤더스 헬스버그]](Anders Hejlsberg)에 의해 고안되었으며, 1983년에 등장한 [[C++]]와 1995년에 등장한 [[자바]](Java)에서 강한 영향을 받았다. C#은 자바의 단점을 보완하고 대체할 수 있는 언어이며, | + | 2000년 7월에 개최되었던 Professional Developers Conference(PDC)에서 [[닷넷]](.NET) 프로젝트와 함께 발표된 객체 지향 프로그래밍 언어이다. 한국어로 쓸 때는 '씨샵' 또는 '씨샾'이라고 쓴다. [[마이크로소프트]]의 [[앤더스 헬스버그]](Anders Hejlsberg)에 의해 고안되었으며, 1983년에 등장한 [[C++]]와 1995년에 등장한 [[자바]](Java)에서 강한 영향을 받았다. C#은 자바의 단점을 보완하고 대체할 수 있는 언어이며, 컴포넌트 지향 프로그래밍 언어이다. |
== 역사 == | == 역사 == | ||
18번째 줄: | 18번째 줄: | ||
== 특징 == | == 특징 == | ||
=== 자바와의 관계 === | === 자바와의 관계 === | ||
− | [[자바]](Java)가 [[자바가상머신]](JVM)이 필요하듯 C#은 [[닷넷]] [[프레임워크]]가 필요하다. 닷넷 프레임워크 대신 비교적 작은 사이즈의 가상머신에 올려서 실행시키는 방법도 있다. 성능 때문에 많은 포화를 맞았고 C#이 상대적으로 큰 논란 없이 입성하기는 했다. 일단은 자바보다 차세대 언어이므로 자바보다 성능적으로 우위인 부분이 많긴 하지만 (비슷한 코드에서 평균적으로 10~20% 정도 빠르다.) 여전히 C/C++보다는 느린 부분이 있는 것 또한 사실이다. 이는 | + | [[자바]](Java)가 [[자바가상머신]](JVM)이 필요하듯 C#은 [[닷넷]] [[프레임워크]]가 필요하다. 닷넷 프레임워크 대신 비교적 작은 사이즈의 가상머신에 올려서 실행시키는 방법도 있다. 성능 때문에 많은 포화를 맞았고 C#이 상대적으로 큰 논란 없이 입성하기는 했다. 일단은 자바보다 차세대 언어이므로 자바보다 성능적으로 우위인 부분이 많긴 하지만 (비슷한 코드에서 평균적으로 10~20% 정도 빠르다.) 여전히 C/C++보다는 느린 부분이 있는 것 또한 사실이다. 이는 프레임워크 언어의 고질적인 문제점이라 어쩔 수 없다. |
=== 호환성 및 범용성 === | === 호환성 및 범용성 === | ||
24번째 줄: | 24번째 줄: | ||
=== 모노 === | === 모노 === | ||
− | [[윈도우]] 이외의 운영체제에서도 C# 사용이 가능하도록 모노라는 프로젝트가 진행 중이다. 아직 그다지 완전하다고 볼 수는 없다. MonoDevelop/Xamarin Studio IDE가 제공되어, 개발도 다른 [[플랫폼]]에서 할 수는 있지만 | + | [[윈도우]] 이외의 운영체제에서도 C# 사용이 가능하도록 모노라는 프로젝트가 진행 중이다. 아직 그다지 완전하다고 볼 수는 없다. MonoDevelop/Xamarin Studio IDE가 제공되어, 개발도 다른 [[플랫폼]]에서 할 수는 있지만 비주얼 스튜디오만큼의 편의성을 제공하지는 못한다. MS는 오랫동안 오픈소스 진영에 배타적인 태도를 보여 왔고, [[닷넷]]에 공개되지 않은 뭔가, 또는 MS에 특허가 있는 것을 넣어서 MS가 만들지 않은 프레임워크는 대부분의 기존 프로그램(.NET 프레임워크용으로 만든)이 잘 안 돌아가는 무용지물이 되거나, 나중에 특허 소송으로 프로젝트를 아예 개박살낼 가능성을 완전히 배제할 수 없었다. 이 때문에 리처드 스톨먼 등 여러 사람이 'C#과 모노를 써서는 안 된다'고 한 적도 있다. 결국 MS는 2006년 커뮤니티 공약이라는 것을 발표하면서 ECMA 표준에 의한 구현에 대해서는 특허권을 주장하지 않기로 했다. 하지만, 얼마 지나지 않아 모노의 주 구성 요소 대부분이 저 커뮤니티 공약의 적용 범위에 포함되지 않기 때문에 모노가 아직도 언제든지 특허 소송을 통해 개박살날 수 있다는 것이 밝혀져 모노 위험 요소 설이 다시 부상하였다. 그러나 2010년대 이래 MS는 친 오픈소스 적인 행보를 보여, 2014년엔 [[닷넷]]을 오픈소스로 공개하였으며, MS가 모노 프로젝트의 주요 메인테이너인 Xamarin을 인수하면서 이러한 우려는 종식되었다. 그 후 MS가 Xamarin 인수 이후 사실상 프로젝트 자체가 MS로 넘어갔다. Git 기여자를 보면 [[마이크로소프트]] 개발자가 대다수다. 2015년 4월 29일에 배포된 Mono 4.0버전에서는 아예 닷넷의 오픈소스 플랫폼인 .NET Core가 적용되었다. 2017년 5월에 비주얼 스튜디오의 macOS 버전이 공개되어서, macOS에서도 정식으로 C# 개발을 할 수 있게 되었다. 자신이 유료 IDE에 돈을 지불할 의향이 있다면 JetBrains의 Rider라는 선택지가 있다. 자바용 [[IDE]]로 유명한 [[인텔리제이 아이디어]](IntelliJ IDEA)를 베이스로 하고 있어 리눅스를 포함한 크로스 플랫폼이 지원되고 완성도가 높으며, MonoDevelop보다 편리하고 다양한 기능을 제공한다. 또한 유니티 엔진과의 연동도 뛰어나다. |
=== 닷넷 코어 === | === 닷넷 코어 === |