Frenzy Blogja
Frenzy webnaplója: mindennapok Finnországban meg sok más dolog

C#.NET és VB.NET   (CubeHead)   
Valahová muszáj leírnom a véleményemet, úgyhogy a blogomat választom hozzá ... már ez most kicsit (vagyis nagyon) ténylegesen CubeHead, vagyis kocka bejegyzés lesz.

Szóval lehet, hogy az új munkahelyemen közelebb kell kerüljek a VB.NET nyelvhez (VisualBasic.NET), úgyhogy a minap elkezdtem kicsit jobban szemügyre venni. Tudom mi lesz minden felületes olvasó első gondolata (nekem legalábbis ez lenne, vagy lett volna néhány hónappal ezelőtt), hogy micsoda szar nyelv lehet az, meg borzalom, meg nem jó, stb, stb.

Ezen a ponton szerencsére már vagy fél éve túljutottam, igaz, akkor még nem is nagyon nézegettem ezt a nyelvet. .NET körül tett tanulmányaim rávilágítottak, hogy habár a régebbi VB variációk tényleg lényeges eltérést mutattak pl. C++-tól, addig VB.NET esetében már nincs ilyen. Mivel a generált IL (Intermediate Language) kód gyakorlatilag ugyanaz lesz például C# és VB.NET esetében, ezért gyakorlatilag mindegy, melyik nyelvet használjuk. Persze a két nyelv tábora előszeretettel fikázza egymást (flame flame:) ), de az okosabbak már eljutottak odáig, hogy az, hogy melyiket használjuk, tulajdonképpen azon múlik, szeretjük-e a kapcsos zárójeleket (C#) vagy inkább az End kulcsszavat (VB.NET). A .NET világban már közelsincs akkora rés a nyelvek között, maximum a szintaxisuk más, de eszközkészletük és a velük elérhető hatás gyakorlatilag ugyanaz.

Szóval mindennek tudatában nem rémisztett meg az eshetőség, hogy nem csak C#-ot kell esetleg a munkám során használni.

De ahogy mélyebbre mentem a VB.NETbe (2005-ös Visual Studioval) bizony sok dologra akadtam. Először is, VB.NETben mindent sokkal hosszabb leírni. Az IDE segít ebben, kiegészít csomó mindent, de ez a nyelv szerű leírás elég hosszadalmas akkor is :-)

Másrészt néhány, a CLR/CLSben illetve C#-ban használt fogalomnak teljesen új nevet adtak (most leszünk csak igazán technikai oldalhoz közeliek...), pl. a static kulcsszó ami minden nyelvben (C++, C#, Java, IL) ugyanaz, VB.NETben valamiért a Shared nevet kapta. És van még pár ilyen eset.

Egyes szintaktikai elemek is túl vannak bonyolítva, pl. a generikusok. Ezek persze részben a nyelv évek óta magával hurcolt jellemzőiből adódnak. És ami a legrosszabb, a VS2005 fantasztikus C# formázási módjai nem használhatók VB.NETben. C# kódra meg tudom mondani, hogy pl. a zárójeleim előtt legyen space, a for kulcsszó után ne legyen, stb ... és ekkor az IDE automatikusan így formáz. VB.NETben csak formázza a kódot mint a birka, ahogy be van neki tanítva.

Összefoglalva tapasztalataim, érdekesnek mondanám ismerkedésemet a nyelvvel kapcsolatban. Tulajdonképpen frissítő volt valami ennyire drasztikusan mást tanulgatni, és ez olyan jó érzés. És szó sincs arról, hogy esetleg lenézném aki VB.NETben dolgozik, de valahogy C# után olyan amatőr szaga van a nyelvnek is, meg az IDEnek is, mintha feltételeznék, hogy kicsit hülye vagyok :-) Nem beszélve arról, hogy a C# eszközei sokkal hatékonyabbnak tűnnek. Persze ebben gondolom nagy adag megszokás is benne van (mármint hogy így érzek). Meg nem is fogok én áttérni most, csak kicsit érteni kell a másikat is ... vagy ilyesmi.

Na körülbelül ennyit akartam kiadni magamból. Kiváncsi vagyok hány embert ijeszt el egy ilyen írás a blogomból :-)

 

Hozzászólások

Még nem érkezett egyetlen hozzászólás sem.