Skip to content

Reklamy google.

Start arrow Artykuły arrow Programowanie w C# arrow Co to jest C sharp?

Co to jest C sharp?

Drukuj Wyślij znajomemu
Oceny: / 0
KiepskiBardzo dobry 
Redaktor: Administrator   
05.04.2007.
C Sharp (C#, wym. si-szarp) jest obiektowym jÄ™zykiem programowania zaprojektowanym przez zespóÅ‚ pod kierunkiem Andersa Hejlsberga dla firmy Microsoft. Program napisany w tym jÄ™zyku kompilowany jest do jÄ™zyka Common Intermediate Language (CIL), specjalnego kodu poÅ›redniego wykonywanego w Å›rodowisku uruchomieniowym .NET, Mono lub DotGNU.

Do uruchomienia programu napisanego w języku C# w systemie operacyjnym Microsoft Windows wymagane jest środowisko uruchomieniowe zwane .NET Framework dostępne za darmo na stronie Microsoftu.

Nazwa

Z powodów technicznych poprawny zapis nazwy jest rzadko spotykany – nawet ze strony Microsoftu. Znak sharp, czyli krzyżyk w notacji muzycznej, jest zastÄ™powany znakiem kratki (hash, #). Spowodowane jest to brakiem znaku sharp w wielu podstawowych czcionkach i stronach kodowych oraz wzglÄ™dna trudność przy wpisywaniu go z klawiatury.

Dlatego też specyfikacja ECMA dopuszcza zapis C# jako poprawny.

 

JÄ™zyk C# ma wiele cech wspólnych z jÄ™zykami programowania C++ i Java.

* obiektowość z hierarchiÄ… o jednym elemencie nadrzÄ™dnym: podobnie jak w Javie, kod programu jest zbiorem klas. W przeciwieÅ„stwie do Javy jednak, w C# hierarchia dziedziczenia opiera siÄ™ na istnieniu jednej klasy object (System.Object), która stanowi element nadrzÄ™dny tej hierarchii. W szczególnoÅ›ci oznacza to, że również typy proste (int, double, itd.) sÄ… obiektami z wÅ‚aÅ›ciwymi sobie metodami, np. int i=1; string s = i.ToString();

* odÅ›miecanie pamieci: zarzÄ…dzaniem pamieciÄ… zajmuje siÄ™ Å›rodowisko uruchomieniowe. Oznacza to, że nie ma koniecznoÅ›ci ani potrzeby samodzielnego zajmowania siÄ™ zwalnianiem pamieci po obiektach, które przestajÄ… być używane
   

* wÅ‚aÅ›ciwoÅ›ci, indeksery, delegaty, zdarzenia: jÄ™zyk C# pozwala definiować wiele różnych elementów skÅ‚adowych klas, nie tylko pola czy metody.
   

* refleksje i atrybuty (metaprogramowanie): w czasie pracy programu istnieje możliwość analizy struktury kodu z poziomu tego kodu. Umożliwia to tworzenie wysoce uniwersalnych mechanizmów operujÄ…cych na strukturze kodu nie znanej w czasie kompilacji. Mechanizm ten wykorzystywany jest m.in. w bibliotekach ORM, narzÄ™dziach do analizy i weryfikacji kodu czy rozszerzeniach AOP. Mechanizm atrybutów zostaÅ‚ z C# zapożyczony do Javy w wersji 1.5.
   

* typy ogólne (generics - dostepne od wersji .net 2.0): mechanizm zbliżony swojÄ… ogólnoÅ›ciÄ… do szablonów w C++, jednak tu typ ogólny jest przenoszony do moduÅ‚u binarnego i możliwy jest do wykorzystania bez koniecznoÅ›ci posiadania kodu źródÅ‚owego (szablony w C++ to w uproszczeniu rozbudowane makrodefinicje)
  

* dynamiczne tworzenie kodu: biblioteki .NET umożliwiajÄ… dynamiczne tworzenie kodu w czasie dziaÅ‚ania programu i włączanie go do kodu aktualnie wykonywanego. Możliwe jest zarówno dynamiczne tworzenie kodu wykonywalnego ze źródeÅ‚ C# jak i tworzenie dynamicznych moduÅ‚ów w jÄ™zyku poÅ›rednim (MSIL).
 

* bogata biblioteka klas BCL, umożliwiająca rozwijanie aplikacji konsolowych, okienkowych (System.Windows.Forms), bazodanowych (ADO.NET), sieciowych (System.Net), w architekturze rozproszonej (WebServices) czy dynamicznych aplikacji internetowych (ASP.NET)

Zmieniony ( 02.03.2008. )
 
« poprzedni artykuÅ‚   nastÄ™pny artykuÅ‚ »