Aplikacje w .Net
- Tomasz Kopacz,
- 04.03.2002
Największa rewolucja dokonała się w języku <font color="#A55129">VS.Net. Chyba po raz pierwszy Microsoft zdecydował się zrezygnować z pełnej zgodności wstecz i dostarczyć nowoczesny, w pełni obiektowy język Visual Basic.
VB.Net pozwala na pełne dziedziczenie. Zniknęły globalne moduły - każda z funkcji musi znajdować się w określonej przestrzeni nazw. Zamiast niewygodnego mechanizmu On Error, w VB.Net można wykorzystywać wyjątki.
VB.Net obsługuje jawne tworzenie wielu wątków. Pozwala na tworzenie dzielonych składowych klasy, które są wspólne dla wszystkich instancji. Uporządkowano koncepcję interfejsów, co znacznie uprościło ich implementację w klasie pochodnej. Udogodnieniem jest automatyczna inicjalizacja zmiennej podczas deklarowania. Dzięki temu ten język w pełni korzysta z możliwości .Net. W nowym VB można również tworzyć nowe typy projektów - na przykład aplikacje konsolowe, co wcześniej było niemożliwe.
Należy jednak podkreślić, że VB.Net nie jest w 100% zgodny z poprzednią wersją Visual Basic. Pierwszy element tablic (zgodnie ze specyfikacją CLS) ma indeks 0. Nie można deklarować łańcuchów o stałej długości. Typy danych odpowiadają definicji w CLS (np. typ integer ma długość 32, a nie 16 bitów). Zawsze wymagane są nawiasy otaczające parametry procedury i funkcji. Zmienił się także sposób odwoływania się do funkcji API Win32. Przenoszenie istniejącej aplika-cji do VB.Net nie jest procesem automatycznym!
<font color="#A55129">C# to nowy język proponowany przez Microsoft jako "wzorcowy", przeznaczony dla platformy .Net.
Visual Studio .Net jest dostępne w trzech edycjach
Wersja Professional zawiera wszystkie elementy potrzebne do tworzenia aplikacji przeznaczonych dla Windows, a także tych, które mają działać na platformie .Net.
Wersje Enterprise - Developer i Architect zawierają dodatkowe narzędzia, przydatne podczas tworzenia dużych systemów IT. Zapewniają wsparcie dla modelowania aplikacji - jest tu wykorzystywany interfejs Visio; analityk może projektować rozwiązanie w standardzie UML, ale może także skorzystać z metodologii Object Role Modeling (ORM), która znacznie upraszcza komunikację wśród członków zespołu. Oczywiście, na podstawie modelu można wygenerować szkielet aplikacji. Można też na podstawie istniejącego kodu programu stworzyć model.
Z punktu widzenia RAD, podstawową zaletą C# jest to, że wykorzystanie w tym języku zewnętrznych komponentów jest tak samo proste jak w VB. Po dołączeniu do pliku odwołań do konkretnego komponentu (jedna linijka kodu), można bez kłopotu deklarować zmienne będące instancjami importowanego obiektu. W C++ konieczne było stosowanie złożonych wrapperów i dodatkowo należało wygenerować pliki nagłówkowe, odpowiadające interfejsowi COM.
Funkcjonalnie C# odpowiada w 100% VB.Net (jest także językiem RAD). Na pytanie, który z języków wybrać, nie ma jednoznacznej odpowiedzi - niektórzy wolą składnię przypominającą C++, inni VB. Jednak ktoś, kto na poważnie myśli o tworzeniu rozwiązań .Net, powinien co najmniej umieć czytać przykłady w obu językach.
Ostatecznie Microsoft zdecydował się dodać do VS.Net środowisko do programowania w języku Java - J#. Obsługiwana jest większość bibliotek zgodnych z JDK 1.1.4, a także rozszerzenia Microsoft (takie jak J/Direct czy Java-COM), wprowadzone w Visual J++ 6.0.