C#, .Net a OOP

S příchodem nové technologie a platformy Microsoftu pod názvem .Net se také pomalu vynořuje na světlo světa nový prog...


S příchodem nové technologie a platformy Microsoftu pod názvem .Net se také
pomalu vynořuje na světlo světa nový programovací jazyk C# (vyslovuj sí-šarp),
jak jinak, také z dílny Microsoftu. Jedná se o výhru objektově orientovaného
programování na plné čáře, nebo je tomu spíše naopak?
Celá platforma .Net je představována jako komplexní framework, který by v
budoucnu měl programátorovi poskytovat vrstvu, jež je nezávislá na operačním
systému. Téměř cokoliv, nač si programátor vzpomene, je již zapouzdřeno do
některého z funkčních celků frameworku ať už se jedná o výstup na konzoli,
práci s daty XML, přístup do databáze, uživatelské rozhraní nebo třeba webové
služby, novou "generaci" distribuovaných komponent.
Jak již bylo uvedeno, nová platforma s sebou také přináší nový jazyk, který se
jmenuje C#. Nejde samozřejmě o jediný jazyk, který lze použít k vývoji aplikací
pro .Net, naopak, Microsoft již také představil některé další: JScript.Net,
VB.Net, nebo tzv. Managed C++, což je rozšíření C++ o výhody platformy .Net
(např. o garbage collection). Microsoft již dokonce představil i svůj nástroj
J#, který je, jak již název napovídá, založen na jazyce Java. A ani zde podpora
jazyků nekončí na stránkách MSDN je možné se dočíst i informace o
implementacích překladačů jazyků jako COBOL nebo Perl pro platformu .Net.
Objekty a nebezpečí
Jazyk C# je samozřejmě stejně jako celá platforma .Net navržen objektově.
Podporuje ovšem pouze jednoduchou dědičnost tříd (neplést s dědičností
rozhraní!) rovněž stejně jako celá platforma. Jedním z důvodů tohoto omezení je
skutečnost, že jsou všechny třídy potomky System.Object, a tudíž by při
mnohonásobné dědičnosti došlo k nejednoznačnosti některých prvků. O samotném
jazyce C# by bylo možné popsat pravděpodobně stovky ne-li tisíce dalších
stránek mohly by se zaměřit na jeho rysy i na porovnávání s jinými jazyky,
které se dnes běžně používají. Zde však raději zmíňme jedno nebezpečí, s nímž
se lze u C# setkat.
Microsoft tento jazyk představuje mj. reklamním sloganem "Jednoduchost Visual
Basicu a síla C++". Zní to velmi hezky. Obzvláště hezky to pak bude znít
programátorům, kteří jsou zvyklí vyvíjet aplikace v prostředí VB a kteří si již
všimli jistých omezení právě ze strany jazyka nebo výkonnosti kódu v něm
napsaném. Znali sice jméno C++, ale nikdy se neodvážili tento jazyk učit.
Přišel jim příliš komplikovaný. Všechny termíny jako právě dědičnost nebo
ukazatel (o šablonách a abstraktních typech ani nemluvě) se zdály prostě
přehnaně složité. Nyní však Microsoft říká, jak snadné je vyvíjet profesionální
a náročné aplikace v C#. S jednoduchostí Visual Basicu, která je těmto
programátorům vlastní, kterou dobře znají, a se sílou C++, kterého se sice báli
a často nezvládli jeho základy nyní je tu prostě jednoduché C++, které zvládnou!
Na místě je však mírná skepse. Lidé, kteří jsou zvyklí na svůj Visual Basic s
omezenými prvky, jako je například výše uvedená dědičnost, znají komunikaci a
implementaci COM komponent pouze na úrovni, na které je dostupná ve Visual
Basicu, ti, kdo nemají zkušenosti s objektovým návrhem aplikací, budou mít
patrně ve světě C# těžké časy. Ne snad proto, že by se nedovedli naučit syntaxi
nového jazyka. Jejich problémy začnou v úplně jiných místech totiž u objektově
orientovaného programování. To je cosi, od čeho je VB dosud velmi dobře stínil.
Znovupoužívání kódu pomocí vhodné dědičnosti; abstraktní datové typy;
ošetřování výjimek; virtuální metody a rozhraní to je jen několik málo příkladů
toho, s čím budou mít lidé přecházející z VB potíže, poté co zvládnou syntaxi
nového jazyka. Důležité je, aby měli programátoři (ti, kteří používají Visual
Basic, i ti ostatní) hodně trpělivosti při učení a osvojování si nových
technologií.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.