V poslední době (pro ty kdo budou číst tento článek později - tyto řádky píšu v srpnu 2004) občas slýchám pochybnosti o budoucí perspektivě programování v jazyce C/C++, zejména v souvislosti s nástupem jazyka C# a platformy .NET. Adepti programování se také dotazují, zda má smysl začít se učit jazyk C/C++ když je zde (slovy jeho propagátorů) "nový, moderní elegantní" jazyk C#. V následujících větách se pokusím přesvědčit čtenáře o tom, že jazyk C++ zdaleka není na ústupu. Je to samozřejmě můj osobní názor a pohled na věc očima dlouholetého programátora (a propagátora:-)) jazyka C/C++, který nemusí každý sdílet. Pokusím se jej však podložit podloženými argumenty.
Každý nový produkt se musí samozřejmě na trhu propagovat a to v nejvyšší možné míře. Nejinak tomu bylo i při uvedení jazyka CS firmou Microsoft. Mnoho odborníků zastává názor že C# byl vyvinut především jako konkurent jazyka Java. To také nasvědčuje prakticky současné uvedení tohoto jazyka s platformou .NET Framework a třeba také ASP .NET, kde se jazyk C# stal dalším jazykem, ve kterém je možné psát webové aplikace (v původním ASP byl podporován pouze JScript (resp. JavaScript) a VB Script. Avšak Microsoft prosazoval jazyk C# také pro vývoj desktopových aplikací pro Windows, kde spolu s propagací a prosazováním WinForms (sada tříd platformy .NET Framework zejména pro vývoj GUI klientských desktopových aplikací pro Windows) byly v první verzi nového Visual Studia .NET (verze 2002) jazyk C# spolu s inovovaným Visual Basicem jedinými 2 jazyky pro WinForms (včetně podpory vizuálního návrhu "formulářů").
V další verzi Visual Studia .NET 2003 je však již jazyk C++ objevil mezi jazyky umožňující plnohodnotný vývoj WinForms aplikací, tj. včetně "wizardem" generované šablony projektu a vizuální návrh "formulářových" oken aplikace. Samozřejmě jazyk C++ se z důvodu podpory .NET Frameworku dočkal rozšíření v podobě tzv. Managed extensions. Umožňoval tak podporu řízeného kódu, automatického úklidu paměti, to znamená věci nutné pro programování na platformě .NET Framework. Toto rozšíření s jeho syntaxí bylo však některými vývojáři přijato se smíšenými pocity a možná i proto Micorsoft vytvořil přepracované rozšíření jazyka C++, označované jako C++/CLI. Jazyk C++ tak podporuje funkce CLI (Common Language Infrastructure) jako jsou vlastnosti (properties), události (events), úklid paměti (garbage collection) atd. Zatím poslední specifikace jazyka v současnosti (srpen 2004) datovaná k červnu 2004 a je ke stažení (ve formátu PDF) například zde http://msdn.microsoft.com/visualc/homepageheadlines/ecma/default.aspx.
Pro podrobnější seznámení s tímto rozšířením jazyka C++ doporučuji tento článek C++: The Most Powerful Language for .NET Framework Programming. Myslím že jeho název nijak nepřehání a C++ tak i v budoucnu zůstane tím čím vždy byl, nejvýkonnějším (když nepočítáme Assembler:-)) jazykem. Na druhou stranu je jasné že jazyky jako C# nebo Visual Basic mají své přednosti v relativní jednoduchosti jejich zvládnutí a zejména pro vývoj webových aplikací v ASP .NET, neboť serverový (a samozřejmě ani klientský) skript na webové stránce (ASP) v C++ psát nelze.
Copyright © 2010 Radek Chalupa || tel. 739 219 991 | Kontakt | Poslat e-mail | Úvod