Powrót Microsoftu do (Visual) Basicu

Visual Basic - nowy język programowania Microsoftu jest łatwiejszy od C, a przy tym ma więcej możliwości od zwykłego Basicu.

Visual Basic - nowy język programowania Microsoftu jest łatwiejszy od C, a przy tym ma więcej możliwości od zwykłego Basicu.

W niedawnej przeszłości opracowanie programów dla komputerów osobistych było niezbyt skomplikowane. Posiadając asembler lub kompilator, a także kilka programów narzędziowych można było łatwo wprowadzać wszelkie pomysły do kodu powstającego programu. Większość programów pracowała w trybie tekstowym i była oparta na liniowym modelu przetwarzania, który ułatwiał pracę programiście dzięki sekwencyjności wykonywania rozkazów.

Graficzny Interfejs Użytkownika (GUI) przyniósł nowe rozwiązania ułatwiające i zwiększające efektywność pracy użytkownika, ale jednocześnie utrudnił życie programistom. Praca w środowisku GUI (np. Windows, GEM) wymaga kompilatora, pakietu SDK (Software Development Kit) oraz kompletu programów narzędziowych, użytkowych i uruchomieniowych (debugger). Przydatna jest także znajomość nowoczesnych metod programowania, takich jak tworzenie tzw. programów sterowanych zdarzeniami (event-driven program), czyli sytuacjami zachodzącymi na ekranie.

Pakiet Visual Basic firmy Microsoft zawiera wszystko, co jest niezbędne do tworzenia aplikacji dla Windows. Dobrze zredagowany podręcznik prowadzi użytkownika niemalże "za rękę" i ułatwia zapoznanie się z pakietem i wstępne opanowanie programowania. VB może spowodować pojawienie się na rynku nowych aplikacji dla Windows.

Podstawowa charakterystyka

Visual Basic jest bazującym na Windows integralnym środowiskiem programowania. Składa się z rozszerzonej wersji języka Basic, a także zestawu narzędzi do tworzenia aplikacji okienkowych i sterowania zdarzeniami. Realizacja języka Basic w VB zawiera liczne zmiany i uzupełnienia, ale doświadczeni użytkownicy szybko się do nich przyzwyczają. Pierwotna koncepcja realizacji programów pisanych w Basicu polegająca na sekwencyjnym wykonywaniu kolejnych komend jest zmieniona na specyficzną architekturę kierowania zdarzeniami (np. naciskanie i zwalnianie przycisków myszy czy zmiana położenia bądź rozmiarów okien).

Utworzenie programu w VB należy zacząć od stworzenia graficznego interfejsu użytkownika (mówiąc po prostu - od zaprojektowania odpowiednio wypełnionego okienka). Interfejs użytkownika składa się z obiektów graficznych (takich jak okienka ramki, okna dialogowe itp.), a także obiektów sterujących: przycisków, pól tekstowych i innych, którymi użytkownik może manipulować. Atrybuty obiektów: kolor, typ, rozmiar itd. mogą być ustalone dowolnie. Po tym część programu związaną z ukształtowaniem interfejsu użytkownika można uznać za zakończoną.

Następnym etapem jest uzupełnienie kodu, który będzie realizował różnego rodzaju procedury (zdarzenia) wywołane za pośrednictwem zaprojektowanych obiektów w interfejsie użytkownika. Tutaj praca przebiega w odmienny sposób od tego, do jakiego przywykli programiści. Każdy element sterujący przeznaczony jest początkowo do reakcji na zdarzenia określonego typu, takich jak np. naciskanie klawiszy klawiatury bądź przycisków myszy, ruch myszy, komunikaty mechanizmu dynamicznej wymiany danych DDE (Dynamic Data Exchange) lub zadziałanie po określonym czasie. Zadaniem programisty jest napisanie kodu programu, który będzie realizowany po wywołaniu danego zdarzenia za pośrednictwem graficznego interfejsu użytkownika. Takie fragmenty kodu nazywane są procedurami obsługi lub procedurami przetwarzania zdarzeń. Stworzenie kodu procedury obsługi zdarzeń jest bardzo proste: po szybkim podwójnym naciśnięciu przycisku myszy wskazującej dany obiekt sterujący otwiera się okno z listą zdarzeń, jakie mogą być związane z wywołanym elementem. Należy wybrać jedną z opcji i wprowadzić kod, który będzie realizowany po wywołaniu danego elementu już w trakcie wykonywania gotowego programu.

Generalnie VB podobny jest do Quick Basicu. Jedną z konsekwencji tego faktu jest stosowanie numeracji linii, Są również istotne ulepszenia, m.in. struktury IF-THEN-ELSE, DO-WHILE, DO-UNTIL, LOOP-WHILE, LOOP-UNTIL, FOR-NEXT, SELECT CASE i inne. Numery linii dopuszcza się wyłącznie po to, aby zapewnić zgodność z wcześniej napisanymi programami. Zmienne i stałe są typowe dla Basica: całkowite i całkowite podwójnej długości, zmiennoprzecinkowe, znaki walut, struktury i wielowymiarowe tablice z wymienionych typów danych.

Programy napisane w VB mogą komunikować się z innymi aplikacjami Windowsowymi poprzez mechanizm DDE. Biblioteki linkowania DLL (Dynamic Link Libraries) napisane w dowolnym języku (zawierającym DLL) także mogą być wywoływane z programu napisanego w VB.

VB zawiera wszystkie możliwości graficzne Quick Basicu i dodaje kilka nowych. Na przykład grafika zmieniająca wymiary zgodnie ze zmianami rozmiarów okien. Dodano animację i efekty specjalne wywoływane graficznymi elementami sterującymi, które mogą być tworzone, pokazywane, chowane lub kasowane tak samo, jak wszelkie inne rastrowe elementy graficzne.

VB umie tworzyć skompilowane programy, które mogą być uruchamiane bez obecności Basica w pamięci komputera. Można również dołączyć obszerną bibliotekę ikon do własnego programu. VB jest na tyle elastyczny, że może znaleźć zastosowanie w wielu dziedzinach, choć zawiera również pewne ograniczenia. Na przykład, nie można utworzyć elementu sterującego o szczególnych właściwościach (takich jak reakcja programu na trzykrotne naciśnięcie klawisza myszy). Ograniczenia te można obejść tworząc własną bibliotekę DLL dla elementów sterujących, ale poza koniecznym kompilatorem C i zestawem programów zawartych w SDK potrzebne jest duże doświadczenie.

Środowisko programowania

VB jest wyposażony w całkowicie zintegrowane środowisko programowania i może być uruchomiony tylko po zainstalowaniu nakładki systemowej Microsoft Windows. VB nie wymaga od programisty przechodzenia przez klasyczny cykl edycji kodu, prekompilacji i kompilacji, linkowania i uruchamiania programu. Program w środowisku VB może być na bieżąco zmieniany i uruchamiany z dowolnego miejsca.

VB wiąże oddzielne części (procedury) w tzw. projekt. Projekt zawiera odwołania do wszystkich plików, które na niego się składają (pliki opisujące poszczególne elementy graficzne, np. ikony czy okna). Tego typu pliki zawierają opis wszystkich elementów sterujących i kontrolnych, okien, oraz zdarzeń - procedur ich opisujących bądź przez nie wywoływanych.

Tworzony program może mieć budowę modularną, a każdy moduł może zawierać standardowe procedury wywoływane w dowolnym momencie (analogicznie jak podprogramy w tradycyjnym programie Basicowym). Każda aplikacja ma globalny moduł z deklaracjami zmiennych, stałych i typów, natomiast procedury mogą być wspólne dla kilku aplikacji.

Po włączeniu VB lub tworzeniu nowego projektu powstaje pusty (na początku) moduł globalny związany z oknem podstawowym graficznego interfejsu użytkownika, który będziemy wypełniać elementami sterującymi. Elementy wprowadzane do tego okienka mogą być dowolnie zmieniane i modyfikowane, jak również można zmieniać wymiary samego okna. Okno podstawowe zawiera menu i pasek atrybutów. Menu można użyć do rozpoczęcia budowy swojego projektu, do działań na plikach dyskowych oraz do wpisywania treści programu, jego poprawiania i debuggingu. Pas atrybutów zawiera informacje o aktualnie wybranym elemencie sterującym.

Wszystkie te etapy opracowania programu dokonują się w środowisku VB i nie istnieje potrzeba wywoływania innych części, które w tradycyjnym Basicu są osobnymi programami (np. edytor, kompilator czy linker). W istotny sposób skraca to czas opracowania projektu.

Rozszerzenia języka

Visual Basic pozwala programiście w pełni wykorzystać możliwości środowiska Windows. Otwiera to dostęp także do notatnika (clipboard) i drukarki, więc istnieje możliwość transferu tekstu i grafiki do i z innych programów. Napisany program może także wykorzystywać mechanizm dynamicznej wymiany danych (DDE), który umożliwia ciągłą i automatyczną wymianę danych między programami. I oferuje wygodne środki graficznej prezentacji danych. Umożliwia to kontrolowanie skali, koloru i położenia obiektów graficznych. Edytowany może być każdy piksel lub można użyć funkcji wyższego poziomu do rysowania linii, okręgów i elips. Równie łatwo można włączać rysunki do programów. VB może bezpośrednio wykorzystywać pliki graficzne w formacie bit-map (BMP), ikon (ICO) oraz Windows metafile (WMF).

Programy muszą umożliwiać wczytywanie, zapisywanie i przetwarzanie danych różnego rodzaju. W VB możliwe jest wykorzystanie różnego typu danych takich jak zmienne całkowite, całkowite długie, zmiennoprzecinkowe, znaki walut, łańcuchy tekstowe, struktury definiowane przez użytkownika oraz tablice wymienionych typów. Pliki mogą być o swobodnym dostępie, sekwencyjne lub binarne. Niezawodny program powinien prawidłowo obsługiwać pewnego rodzaju błędy, takie jak np. nieprawidłowe wprowadzanie danych czy błędy twardego dysku. VB umożliwia obsługę błędów dzięki instrukcji On Error, która umożliwia sterowanie programu w przypadku wystąpienia błędów. Po zlokalizowaniu błędu podprogram jego obsługi może go "zneutralizować" na kilka sposobów - np. powtórne wywołanie komendy powodującej wystąpienie błędu lub ominięcie jej przez start od linii o zadanym numerze.

VB wyposażony jest w niezbędne środki do kontroli myszy. Napisany program rozpoznaje i reaguje na naciśnięcia klawiszy myszy lub na jej przemieszczanie. Dzięki temu można budować dowolne struktury wywoływane i sterowane myszą.

VB jest bogato wyposażony w większość funkcji zaimplementowanych w środowisku Windows. Dodatkowo pozwala wywoływać funkcje z dowolnej biblioteki DLL, zgodnej z Windows API (Application Programming Interfaces - jest to graficzny interfejs użytkownika dla Windows). W efekcie każda funkcja Windows jest dostępna. Bardzo elastyczny jest mechanizm obsługi zdarzeń związanych z myszą i klawiaturą. Rozszerzenia języka pozwalają na bezpośrednie wywołania funkcji Windows API i innych z bibliotek DLL. Do dyspozycji jest także duży wybór struktur takich jak funkcje ze zmiennymi lokalnymi, parametrami przekazywanymi przez wartość i nazwę oraz rekurencja. W konsekwencji program może komunikować się z innymi aplikacjami Windowsowymi via DDE (mechanizm dynamicznej wymiany danych).

Uruchamianie programu

Microsoft wyróżnia trzy typy błędów, które mogą wymagać debuggingu. Pierwszy typ to błędy składniowe (syntaktyczne) w kodzie źródłowym. Ujawniają się one natychmiast przy wprowadzeniu kodu w okienku do tego celu przeznaczonym. Błędy uruchomieniowe dają znać o sobie w czasie prób wykonania błędnej instrukcji (np. próba dzielenia przez zero). Trzeci typ to błędy logiczne.

Wszystkie te błędy mogą być wykryte i usunięte w procesie uruchamiania programu (debuggingu - "odpluskwiania"), po wyborze odpowiedniego trybu z menu VB.

W trybie edycji nie można uruchomić programu lub użyć jakichkolwiek narzędzi programistycznych do debuggingu bez wstawienia do kodu programu punktów kontrolnych.

W trakcie uruchamiania, w trybie "Run", można przeglądać tekst programu, ale bez możliwości edycji. Aby użyć wbudowanego debuggera należy przejść do trybu "Break".

Tryb ten pozwala na przegląd i edycję kodu, sprawdzanie wartości zmiennych, uruchamianie i przerywanie wykonywania programu w dowolnym miejscu i kontynuację od miejsca przerwania. Wstrzymanie wykonywania programu nastąpi w sytuacjach, gdy w tekście programu wystąpi komenda wywołująca błędy, punkt kontrolny lub komenda przerywająca wykonywanie programu (np. Stop). Można także przerwać wykonywanie programu z klawiatury lub korzystając z menu (tryb "Run").

W momencie wstrzymania działania programu mamy do wyboru kilka opcji. Można uruchamiać program krokowo w dwóch trybach: w kolejności wierszy lub procedur. Kontynuacja wykonywania programu może nastąpić z dowolnego miejsca. Mocnym narzędziem jest okienko, w którym w trybie interakcyjnym można nadawać wartości zmiennym, obliczać wartości wyrażeń, testować poszczególne procedury lub przekazywać komunikaty do obiektów sterujących procedurami zdarzeń. Można także śledzić wartości zmiennych w oknie Immediate za pomocą instrukcji DEBUG.PRINT.

Jedynym brakiem narzędzi VB jest brak opcji pracy w trybie dozoru (watch). Większość współczesnych debuggerów jest już wyposażonych w tego typu narzędzie.

Dokumentacja

Dokumentacja VB składa się z dwóch książek: przewodnika programisty i opisu języka. Obie doskonale napisane, z wieloma ilustracjami. W uzupełnieniu materiałów pisanych sam program zawiera bezpośrednio dostępny przewodnik (tutor) oraz podpowiedzi (help). Każdy element języka jest tu omówiony, a przykładowe fragmenty kodu można bezpośrednio wstawiać do tworzonego programu.

Prostota obsługi

Instalacja Visual Basic jest bardzo prosta i zajmuje mało czasu. Firma Microsoft zadbała, aby język ten był maksymalnie łatwy do nauki dzięki świetnej dokumentacji, przewodnikowi oraz stale obecnemu helpowi.

Wypuszczając na rynek Visual Basic firma Microsoft zdecydowanie zerwała z Quick Basicem, kierując się na utworzenie Basicu przyszłości.

VB jest maksymalnie prosty dla kogoś posiadającego jakiekolwiek doświadczenie w programowaniu. Jednakże początkującemu programiście potrzebne jest trochę wysiłku zanim osiągnie pewne wyniki. I chociaż Visual Basic jest przykładem przyjaznego środowiska dla programisty, to jest on mimo wszystko bardziej złożony od takich aplikacji jak ToolBook firmy Asimetrix. Architektura systemu, oparta na sterowaniu zdarzeniami, nadzwyczajnie upraszcza naukę i posługiwanie się Visual Basicem - można praktycznie zacząć programować zanim przystąpi się do poważnej nauki. Jednakże - oparty na nowej filozofii programowania język sterowania zdarzeniami jakim jest Visual Basic - nie może konkurować z kompilatorem C uzupełnionym o Microsoft SDK.

Możliwość dołączania zewnętrznych bibliotek DLL i Windows API daje do dyspozycji kilka mocnych opcji.

Obsługa błędów

Praktycznie nie można znaleźć przypadku, w którym VB powodowałby utratę danych. Komunikaty błędów są jasne i zrozumiałe w związku z czym łatwo jest wprowadzać poprawki do kodu programu. Tryb Break jest doskonale oprogramowany, ponieważ nie tylko umożliwia podgląd, ale i edycję kodu oraz dalsze uruchomienie i przerwanie działania programu w dowolnym miejscu.

Ocena ogólna

Programiści, którym przyszło tworzyć programy dla środowiska Windows, powinni się zaopatrzyć w Visual Basic. Jest to język, któremu pod względem efektywności (głównie jeśli chodzi o czas pracy nad programem) trudno dorównać. Za niezbyt wysoką cenę (2.8 - 3 mln zł, w USA ok. 200 USD), otrzymujemy pakiet, w którym znajduje się wszystko, co jest potrzebne do programowania w środowisku Windows - również dla początkujących.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200