luni, 8 decembrie 2008

C# vs. VB - Partea a doua

Revin cu partea a doua a micutei noastre comparatii intre C# si VB, si va voi prezenta in continuare diferentele concrete, la nivel de sintaxa, intre cele doua limbaje.

Structura
Din punct de vedere al organizarii generale, codul C# si cel VB sunt foarte asemanatoare, majoritatea diferentelor fiind pur cosmetice - spre exemplu, C# foloseste acolade pentru a deschide si inchide blocuri, VB - "End ". Ceea ce este, insa, bine de stiut, este faptul ca in timp ce C# permite scrierea mai multor instructiuni pe o singura linie, sau a unei singure instructiuni pe mai multe linii, VB nu permite acest lucru. Cu alte cuvinte, in VB avem "linia si intructiunea", sau putem folosi caracterul "_" (underscore) pentru a continua pe linia urmatoare. Majoritatea tutorialelor de tip "coding style guidelines" chiar recomanda folosirea acestei alternative pentru a face codul cat mai lizibil.

Comentarii
La prima vedere, aceasta sectiune poate parea nu foarte importanta, dar de dragul coding style (din nou) si al documentarii codului (mai ales in cazul lucrului in echipa, sau al unui proiect al carui cod sursa urmeaza a fi inspectat de un superior, client, etc.) - voi discuta si acest aspect. Ce este interesant de observat - si o bila alba pentru C# in defavoarea lui VB - este faptul ca C# ofera o mult mai mare flexibilitate a comentariilor - se pot comenta atat cate o linie intreaga sau o portiune finala de linie ("//"), cat si mai multe linii consecutive ("/*...*/"). In VB, in schimb, nu se pot comenta decat linii intregi sau portiuni finale de linii (prin inserarea unui apostrof), si nu paragrafe. Din fericire, insa, Visual Studio compenseaza acest neajuns prin optiunea de a comenta automat o selectie a cursorului.
O facilitate demna de mentionat (chiar daca nu reprezinta o diferenta, fiind accesibila pentru ambele limbaje) este aceea de adauga un summary oricarei functii sau metode.

Tipuri de date
Tipurile primitive de date sunt aceleasi atat in C#, cat si in VB, singurele diferente fiind de scriere a denumirilor acestora. Ca regula, in VB denumirile sunt scrise cu litera mare, iar in C# cu litera mica, singura exceptie fiind DateTime din C#. Tipurile principale de date la care apar si alte diferente sunt (VB/C#): Boolean/bool, Integer/int, UInteger/uint, Single/float, Date/DateTime.
Ce ar mai fi de mentionat aici este conversia intre tipuri. In VB, cea generala se face prin functia CType(obiect, tip), cu forme particulare, cum ar fi CInt, CStr, etc. Iar in C#, conversia se face prin cast, de forma (tip_nou)obiect.

Constante si enumerari
Nu se pot spune prea multe la acest capitol - declararea si folosirea constantelor si a enumerarilor sunt aproape identice intre cele doua limbaje, iar cuvintele cheie (const, respectiv enum), sunt si ele aceleasi (mai putin capitalizarea).

Operatori
Principalele diferente intre operatorii C# si cei VB sunt faptul ca C#, spre deosebire de VB, foloseste doi operatori diferiti pentru atribuire si comparatie de egalitate (=, respectiv ==), si apropierea de limbajul natural a operatorilor logici in VB, fata de C# - spre exemplu AndAlso/And, fata de &&/&, OrElse/Or, fata de ||/|, etc.

Voi continua in posturile urmatoare cu restul diferentelor. Intre timp, puteti arunca un ochi aici, pentru exemple de cod si pentru detalii suplimentare pe marginea a ceea ce am mentionat de mai sus, dar nu uitati sa va intoarceti pentru explicatii :).

Catalina

Niciun comentariu:

Articolele noastre