C#: Kde se setkáš s programovacím jazykem C sharp a jak se používá | robot_dreams Czech
should_authorize_via_email
email.input_code tel.input_code
 
email.code_actual_for tel.code_actual_for
apply_exit_text
session_ended
to_homepage
C#: co to je a kde se používá?

C#: co to je a kde se používá?

Od Billa Gatese k Fall Guys

V 80. letech minulého století založil student Harvardu Bill Gates se svým parťákem společnost Microsoft. Tehdy ještě nikdo nevěděl, k čemu to povede. Dnes má společnost 180 tisíc zaměstnanců. Operační systém Microsoft Windows je rozšířen v 90 % počítačů.

Gates ve 13 letech programoval piškvorky na školním počítači. V devadesátých letech však společnost Microsoft stála před obtížnějším úkolem. Na světě se objevil internet – bylo nutné naučit se vytvářet nástroje pro vývoj webových stránek. Za tímto účelem společnost vytvořila platformu .NET, jejímž hlavním programovacím jazykem je C#.

Jazyk C# se používá nejen pro web, ale také pro Windows, hry a dokonce i pro strojové učení. Podívejme se, v jakých oblastech lze tento jazyk používat.

Jak se objevil jazyk C#

Jazyk C# je objektově orientovaný programovací jazyk. Jeho název zní „sí sharp“. Sharp je v hudbě tón C (sharp = zvýšení o půl tónu). To znamená, že jazyk C# je aktualizací a vylepšením jazyka C.

Jazyk C je epochální programovací jazyk, který vznikl v 70. letech. Dokázal nahradit assembler a stal se základem pro další jazyky. Po jazyce C následoval jazyk C++ (C-plus-plus), který podporuje objektově orientované a zobecněné programovací paradigma. Jazyk C++ je stále oblíbeným programovacím jazykem.

V roce 1995 vytvořila společnost Sun Microsystems jazyk Java. Byl vytvořen s ohledem na gramatiku jazyka C++. Co je hlavním rysem, který tento jazyk odlišuje od ostatních? Před převodem do strojového kódu byl program v jazyce Java nejprve přeložen do bajtového kódu. Tím se jazyk Java stal nezávislým na hardwarovém zařízení počítače. Vývojáři také přidali podporu webu, takže bylo možné komunikovat s Internetem: programovat programy typu klient-server, přijímat data z internetu a vyměňovat si je.

Microsoft musel konkurovat Sunu a zároveň pracovat s webem. Miliony řádků kódu ve společnosti Microsoft byly napsány v interních jazycích (především v jazycích C a C++). Proto nebylo možné jen tak přejít na Javu. Proto vznikla myšlenka vytvořit platformu pro web. Tak se zrodil Microsoft.NET Framework.

.NET používá vlastní zprostředkující jazyk (mezi kódem programátora a strojovým kódem), který plní stejnou funkci jako bajtový kód pro strojovou Javu. Pro .NET můžete psát v několika jazycích společnosti Microsoft, ale hlavním jazykem platformy je C#.

Jak se jazyk C# liší od jazyků Java a C++

Jazyk C# je stejně jako jazyk C++ potomkem jazyka C: základní konstrukce obou jazyků jsou podobné. Novinkou v jazyce C# je objektově orientované paradigma: přítomnost tříd a objektů. Třídy můžete vytvářet pomocí vlastností – je to syntakticky velmi pohodlné. Jsou implementovány základní principy OOP: dědičnost, zapouzdření a polymorfismus.

Jazyk C# má striktní typování. Má automatický garbage collection – programátor se nemusí starat o ruční uvolňování paměti. Jazyk později zavedl dynamické vazby, asynchronní metody a šablony.

Hlavní rozdíl mezi jazyky C++ a C# je v úrovni složitosti a cílech.

  • Kód jazyka C++ má ukazatele na proměnné specifické pro daný jazyk, zatímco kód C# nikoli. 
  • V jazyce C++ se garbage collection provádí ručně, v jazyce C# automaticky. 
  • Kód jazyka C++ je kompilován přímo do strojového kódu, kód jazyka C# do mezikódu. 
  • A konečně, jazyk C# je historicky spojován s rozhraním .NET a jazyk C++ se jako švýcarský nůž používá ve všech situacích.
  • Další rozdíl je, že v jazyce C# neexistuje vícenásobná dědičnost tříd. Jedná se o připuštění situace, kdy je jedna třída potomkem několika různých tříd najednou. V jazyce C# bylo rozhodnuto od toho pro zjednodušení upustit.

Syntaxe jazyka C# je pohodlnější než C++. Psaní kódu v jazyce C++ vyžaduje hlubokou znalost vnitřního uspořádání tohoto jazyka a jazyk C# představuje sadu hotových modulů pro řešení problémů.

Jazyk C# je podobný jazyku Java a je jeho hlavním konkurentem. Rozvíjejí koncepty jazyka C++ a zároveň jej zjednodušují. Tyto dva jazyky jsou si svou filozofií velmi blízké, ale existuje řada technických nuancí, které je od sebe odlišují. Souvisí to s tím, že jazyk C# byl vyvinut speciálně pro ekosystém společnosti Microsoft, zatímco Java byla koncipována jako prostředí s otevřeným zdrojovým kódem. Jedná se například o různé přístupy k implementaci parametrizovaných typů, nedostatek kontrolovaných výjimek v jazyce C#.

Kde se používá jazyk C#

Většina webových aplikací a služeb souvisejících s produkty společnosti Microsoft je napsána v jazyce C#. Známá stránka stackoverflow.com je napsána v jazyce C# pomocí frameworku.NET. Stránky společností Microsoft a Dell jsou vytvořeny podobnou metodou.

Jazyk C# se používá k vývoji desktopových aplikací pro systém Windows. Například Microsoft Visual Studio, Paint.NET jsou napsány v jazyce C#. Platforma.NET, přesněji Windows Forms, je základem aplikací jako Skype, Microsoft Office nebo Photoshop.

Vývojáři her znají engine Unity. Používá se k vytváření 2D a 3D počítačových her. Programování v Unity vám umožní soustředit se na obsah hry, aniž byste se museli zabývat mnoha technickými detaily. Provádí se převážně v jazyce C#. Rust, Hearthstone, Fall Guys a další hry jsou vytvořeny v Unity v jazyce C#. Kromě toho umožňuje interakci s DirectX – sadou komponent pro grafiku a zvuk ve hrách.

Jazyk C# se používá také k vývoji mobilních aplikací. Existují platformy (například Xamarin), které umožňují spouštět kód v jazyce C# na různých operačních systémech včetně mobilních OS Android a iOS. Zde je seznam nejlepších aplikací napsaných v Xamarinu.

V roce 2018 byla do programovacího prostředí .NET přidána knihovna ML.NET, která umožňuje používat modely strojového učení. Co do množství dokumentace je horší než knihovny Pythonu, ale je pohodlná a někdy se používá v produkci.

Autor: Nikita Filipov

Více článků
A proč je užitečná pro každého, kdo pracuje s computer vision
Kde můžeš začít navazovat vztahy s lidmi se zájmem o IT?