Zpět na seznam článků     Číst komentáře (8)     Verze pro tisk

C# - 1.díl - Úvod

Autor: sukovanej   
23.9.2012

V první části naší pouti k jazyku C# a .Net Frameworku se podíváme na to, co je to .Net (čteme dotnet) Framework, jak funguje kompilace, jak se překládají aplikace v .Netu a kde sehnat vývojové prostředí pro vývoj aplikací.


Co je to .Net ?

Z názvu se možná může zdát, že se s pomocí této technologie vyvíjí pouze aplikace pro webové rozhraní, ale nenechme se zmást. Název .Net sice skutečně vychází z termínu Net (Network), ale můžeme s ním vyvíjít spoustu různých typů aplikací, včetně desktopových.

.Net je produkt společnosti Microsoft.Je to soubor technologií, s pomocí něhož lze vyvíjet komplexní aplikace a to jak pro Web, nebo Windows, tak i pro mobilní zařízení s operačním systém Windows Phone a nebo třeba (v případě XNA Frameworku) pro Xbox. Je multiplatformní. Mono, produkt firmy Novell, umožňuje spouštět všechny .NET aplikace na unixových platformách. Ovšem momentálně má největší zastoupení na počítačích s operačním systémem Windows. Při spouštění aplikací je potřeba běhové prostředí .Net Framework, které musí být na cílovém PC nainstalované (nestačí pouze přibalit některé knihovny).

Při programování v .Netu lze využít více programovacích jazyků (proč se dozvíte níže). Mezi nimi je např. jazyk C# (jazyk vycházející z Javy a C++), Visual Basic.Net (nástupce Visual Basicu), nebo F# (strukturovaný jazyk vyvynut speciálně pro .Net) a nebo J# (podobný Javě). Níže je shrnutí prvků .Net Frameworku. Není až tak důležíté ho perfektně znát. Stačí mít jisté podvědomí o tom, že něco takové existuje a je to součástí .Netu

  • Bázová knihovna tříd (Framework Class Library)
    • Bázová knihovna (FCL) je knihovna spousta (několika tisíc) už předem definovaných tříd, rozhraní, struktur, a dalších.
  • Virtuální exekuční systém (Common Language Runtime)
    • Virtuální exekuční systém (CLR) je "věcička" , díky které se spouští a běží aplikace napsané v nějakých jazycích postavených na .Net Frameworku (od teď .Net aplikace), .Net aplikace bez CLR nemůže vůbec fungovat, protože vzájemná relace mezi systémem CLR a aplikací je naprosto bezprostřední. Prostředí CLR totiž řídí běh .Net aplikací. Aplikace, které toto prostředí CLR potřebují se nazývají jako řízené (managed).Naproti tomu aplikace, jako třeba C , C++ nebo Pascal , se nazývají neřízené (unmanaged).
  • Společný typový systém (Common Type System)
    • Aby mohli .Net aplikace spolu navzájem komunikovat, je nutné, aby měli stejný typový systém (CTS). To znamená, že v jednom jazyce bude zabírat celočíselný datový typ Integer 2 bajty stejně v jazyku C# tak i ve Visual Basicu.Net. Naproti tomu třeba u jazyka C zabírá Integer 4 bajty.
  • Společná jazyková specifikace (Common Language Specification)
    • Jazyky mají stejný datový systém, to je pěkné, co ale dělat, když u každého jazyku bude jiná standardizace nebo kompilátor. Proto microsoft zhotovil ještě kolekci základních požadavků, které musí každý jazyk, s jehož pomocí lze .Net aplikace vytvářet, splňovat.

Co je to kompilace

Jak vlastně vznikají klasické programy? Je třeba nějaký programovací jazyk, například C/C++, Pascal, Assembler apod. Programátor napíše zdrojový kód (instrukce), který potom uloží do souboru s příslušnou příponou (např. v případě jazyka C++ *.c). Nyní je třeba z tohoto souboru dostat soubor *.exe, který by šel následně spustit. K tomu účelu slouží kompilátor. Kompilátor je program, který dokáže právě instrukce, napsané v programovacím jazyce, převést na instrukce, kterým rozumí procesor počítače a tyto instrukce zabalit do souboru *.exe . Výroba takového kompilátoru je velice složitá úloha, proto jsou (kvalitní) kompilátory mnohdy drahá záležitost. Ale v praxi se používají dost dobré kompilároty, které jsou i zdarma.

V .Netu to funguje obdobně. My kompilátoru předáme nějaké zapsané instrukce (třeba právě v jazyku C#) a on je přeloží. Kompilátor .Netu je ale nepřeloží do strojového kód , ale do takzvaného mezikódu (MSIL – viz. odstavec níže). Tak a co teď, máme přeložený kód, ale do něčeho, čemu procesor nerozumí, tak k čemu to je ? Teď nastupuje na scénu .Net Framework, který má za úkol tento mezikód za běhu překládat. Možná vás napadne, jestli to není pomalé. To je docela sporná otázka. Může se stát, že aplikace v .Netu opravdu budou běžet pomaleji, ale rozdíly jsou naprosto nepatrné a dokonce je v některých situacích .Net i rychlejší.

Trocha o MSIL

MSIL (Microsoft Intermediate Language) je jazyk, často označovaný jako jazyk symbolických adres, který vznikne po přeložení kódu z nějaké vyššího jazyka (Visual Basic, C# a F# …). Je to tedy jazyk, ve kterém byste teoreticky mohli aplikaci napsat hned a nemuseli byste ho psát v nějakém vyšším jazyce.To je ovšem velice krkolomné, takže se k tomuto nikdo neuchylujeme. Víme, že když napíšeme zdrojový kód a přeložíme ho do tohoto "mezijazyka", zabalí se do .EXE souboru. Také jsme řekli, že se taková aplikace potom jakoby kompiluje za běhu. Funguje to tak, že se překládá to, co je právě v daný okamžik potřeba a proto jsou časové výchylky od běžných jazyků nepatrné. Tomuto druhu kompilace se říká Just-In-Time kompilace.

Vývojové prostředí Visual Studio

Pro vývoj aplikací v .Netu bylo společností Microsoft vyvinuto vývojové prostředí (IDE) Visual Studio, které dovoluje vývoj webových aplikací, desktopových aplikací, nebo tzv. WPF aplikace (Windows Presentation Fondaution – větší důraz na grafické zpracování desktopové aplikace). Toto vývojové prostředí je bohužel placené (a pro průměrně vydělávajícího člověka dost mastně), ale začánající programátoři nemusí zoufat. Microsoft uvolnil Express verzi tohoto IDE, která je kompletně zdarma. Express verze je vlastně velké Visual Studio rozsekané na několik částí (podle jazyka, nebo druhu aplikace, který s ním lze programovat) – Visual C# Express edition, Visual C++ Express edition, Visual Basic .Net Express edition, Visual F# Express edition, Visual Web Developer a možná ještě nějaké, ty nás ovšem momentálně nezajímají.

Prostředí můžete stáhnout na adrese www.microsoft.com. Instalace je dost intuitivní, takže by žádný problém neměl nastat.

Na závěr

Doufám, že vás tato kvanta teorie neotrávila, protože v dalším díle se již pustíme do programování první aplikace. Bude se jednat o typickou aplikace Hello World v pojedí okenních aplikací.


Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 2.4/10

1  2  3  4  5    
(známkování jako ve škole)