Original in English
Inne miejsca w Sieci

Historia Visual Basic i BASIC'a na PC

By George Mack , 4th edition revision 1, copyright January 2002, May 2004
    Przekład polski - D.A.M. Deger

Spis treści

Przedmowa
Początki
Microsoft i IBM PC
The Microsoft Windows Graphical Operating Environment
Narodziny Visual Basic
Ewolucja Visual Basic 
Visual Basic .NET 
Zestawienie wersji Visual Basic 
Notka o pisowni

Przedmowa

Od ponad 25 lat nauczając wielokrotnie informatyki, wywnioskowałem jakiś czas temu, że dla naukowca nie dość jest znać jedynie stan jego dziedziny dzisiaj. Jest także użyteczne, a czasem konieczne być świadomym historii i początków współczesnej nauki. Gdy zdecydowałem się rozpocząć publikowanie w Sieci niektórych moich materiałów z kursów, wydawało się stosowne rozpocząć je tą małą monografią o historii Visual Basic'a. I oto jest, w dużym stopniu taka, jak przedstawiłem ją na pierwszym wykładzie wstępnego kursu przedmiotu, rozszerzona nieco o najświeższe edycje.

Gdy mam czas szukać głęboko w Sieci, odnajduję inne strony, prezentujące uzupełniającą informację. Także Microsoft kontynuował rozwijanie Visual Basic'a, prowadząc do zmian owocujących tą czwartą edycją. Sprawdź od czasu do czasu, czy nie ma tu dalszych uaktualnień.

Zastrzeżenie:

Informacja zawarta w tym artykule była zbierana z wielu źródeł i badana w okresie paru lat. Jakiekolwiek błędy lub przeoczenia są wyłącznie moje własne.

Sprzężenie zwrotne:

Gdybyś miał jakieś uwagi lub pytania, albo zechciał zasilić w dalsze informacje, oto mój e-mail: gmack@dawsoncollege.qc.ca

George Mack, Montreal, 28 kwietnia 2004.

Powrót do góry

Początki

Dartmouth College, w Dartmouth NH, USA, zobowiązał się w 1963 r. uczynić wszystkie swe komputery łatwo dostępnymi dla studentów. Do tego czasu rozwinęli oni pierwszy w pełni funkcjonalny system dzielenia czasu, uruchomiony na komputerze mainframe firmy General Electric. W tym samym czasie profesorowie matematyki John G. Kemeny i Thomas E. Kurtz stworzyli język Beginner's All-purpose Symbolic Instruction Code (BASIC) jako narzędzie instruktażowe do szkolenia początkujących programistów w interaktywnym środowisku. Wybitna kariera Kemeny'ego obejmowała pracę jako asystent Johna von Neumanna i Alberta Einsteina, i przewodniczenie komisji prowadzącej dochodzenie w sprawie wypadku w elektrowni atomowej Three Mile Island.

Wśród projektowanych celów BASICa były

Te cechy BASICa czyniły go łatwym i tanim do zaimplementowania, zatem szybko stał się pierwszym (a czasami jedynym) językiem wysokiego poziomu dostępnym na nowych mini- i mikrokomputerach. BASIC również bardzo szybko stał się dostępny na nowszych, dzielących czas komputerach mainframe i superkomputerach. W okresie rozkwitu minikomputerów biurowych programowanie wielu aplikacji było wykonane w BASICu.

W późniejszych latach Kemeny i Kurtz poświęcili wiele energii na propagowanie strukturalnego BASICa.

Powrót do góry

Microsoft i IBM PC

W r. 1975 Microsoft wypuścił swój pierwszy produkt: kompilator Basic'a dla MITS Altair, wczesnego zestawu komputerowego.

Gdy IBM wypuścił swój komputer osobisty (PC), oprogramowanie zawierało małą, opartą na ROMie i dyskietkach wersję BASICa. PC-DOS IBMa (napisany w Microsofcie) zawierał rozszerzoną dyskową wersję BASICa, zwaną BASICA (advanced BASIC). Microsoftowski MS-DOS dla komputerów kompatybilnych z PC zawierał podobny program, zwany GWBASIC. Różnica między BASICA a GWBASIC była taka, że BASICA wymagała obecności wbudowanego ROM BASIC.

I BASICA, i GWBASIC były interpretatorami, które tłumaczyły i wykonywały po jednej instrukcji na raz. Interpretatory są łatwiejsze do implementacji i nie wymagają pamięci dla kodu wynikowego, ale ich programy wykonują się znacznie wolniej, niż kompilowane.

QuickBasic był kompilatorem Basic'a, wydanym około 1983 r. dla zawodowych programistów, którzy chcieli pisać większe programy na PC w Basic'u. Program skompilowany przez QuickBASIC wykonywał się cztery do dziesięciu razy szybciej niż pod BASICA lub GWBASIC. Microsoft twierdził, że na 8-MHz IBM PC-AT kompilator QuickBASIC mógł tłumaczyć kod z szybkością 150 000 linii na minutę (szybkość porównywalna z licznymi kompilatorami innych języków). Ponadto QuickBASIC był kompatybilny z interpretatorami BASICa. QuickBASIC przebył szereg modyfikacji, kończąc na wersji 4.5 wydanej w 1988 r.

W 1987 r. IBM wypuścił komputer osobisty PS/2. Nowsze pecety IBM i kompatybilne zaprzestały dołączania ROM BASIC do sprzętu. Inne czynniki, włącznie z gwałtownym rozwojem oprogramowania do tworzenia aplikacji i coraz bardziej skomplikowanymi językami kompilowanymi, złożyły się na to, ze pierwsze interpretatory BASICa stały się przestarzałe. Wraz z MS-DOS v.5 (maj 1991) i 6 (marzec 1993) Microsoft wypuścił zamiennik, zwany QBASIC. QBASIC jest interpretatorem bazującym na dysku, dostarczanym również z Windows 95. Jest on implementacją tego samego języka co i QuickBASIC, lecz nie zawiera niektórych zaawansowanych komend debuggera. Inne jest także zarządzanie pamięcią wewnętrzną.

Szereg ulepszeń odróżnia QuickBASIC i QBASIC (razem - QBs) od wcześniejszych interpretatorów BASICa. Pliki źródłowe są zapisywane w formacie ASCII, podczas gdy wcześniejsze systemy BASICa zapisywały je w postaci kodowanej, skompresowanej. Oba QBs zawierają edytor pełnoekranowy, obsługiwany z menu. Nowsze języki zezwalają zająć przez program/dane 160 KB, gdy poprzedni limit wynosił 64 KB. Nowe typy danych zostały dodane dla zwiększenia mocy obliczeniowej.

Powrót do góry

The Microsoft Windows Graphical Operating Environment

Mimo że nie była to dla nich rzecz pierwszoplanowa, Xerox Corporation's Palo Alto Research Center (Xerox PARC) zademonstrowało Graficzne Środowisko Użytkownika (Graphical User Environments/Interfaces, GUI) około 1975 r. Zlokalizowane w Dolinie Krzemowej, w pobliżu jednego z wiodących w świecie ośrodków wiedzy komputerowej (Stanford University), i założone w 1970 r., Xerox PARC odpowiadało za głośne innowacje w informatyce i elektronice. Jest pewne, że ani Apple, ani Microsoft nie miały do czynienia z oryginalną koncepcją GUI.

Apple Computer wprowadziło dwie maszyny z GUI w latach 80. Pierwsza, zwana Lisa (1983), była udoskonalonym zaawansowanym Apple, chociaż nie odniosła sukcesu rynkowego. Drugim modelem był Macintosh (1984), pierwszy z linii produktów, która jest kontynuowana do dzisiaj.

W 1985 r., cztery lata po wprowadzeniu PC, Microsoft wypuścił wersję 1 swojego interfejsu Windows. Wczesne wersje Windows były nakładkami, które pracowały "na wierzchu" systemu operacyjnego DOS. Wersje Windows 1 i 2 zawierały prymitywny interfejs użytkownika podobny do Eksploratora Windows. By uruchomić program w tych systemach, wystarczyło zlokalizować plik i dwukrotnie go kliknąć.

Windows 3.0, wprowadzone w 1990 r., zawierało pierwszy prekursor "pulpitu" dzisiejszych systemów Windows. Zmodyfikowana wersja, Windows 3.1, została wydana w kwietniu 1992 i przynosiła kilka technicznych nowości, włącznie z potężnym systemem czcionek TrueType na licencji Apple. Była to wersja, która "chwyciła wiatr" i zapoczątkowała rewolucję na rynkach oprogramowania kompatybilnego z PC. Windows 95 było pierwszą wersją autonomiczną, nie wymagającą DOSa do uruchomienia. Było także pierwszą wersją z kodem pracującym w "rodowitym" 32-bitowym trybie nowych procesorów Intela takich jak 486 i rodzina Pentium. Windows 1, 2 i 3.x uruchamiały kod w bardziej powolnym 16-bitowym "trybie zgodności".

Od późnych lat 90. tempo wydań Windows przyspieszyło wraz z dostarczeniem Windows NT, Windows 98 i 98SE, Windows ME, Windows 2000, Windows XP (w październiku 2001) i Windows Server 2003.

Powrót do góry

Narodziny Visual Basic

Alan Cooper jest uważany za ojca Visual Basic. W 1987 r., wówczas dyrektor Applications Software for Coactive Computing Corporation, napisał program zwany Ruby, który oferował programowanie wizualne dla przeciętnego programisty/użytkownika.

Rosnąca popularność i skomplikowanie graficznych interfejsów użytkownika (GUI) przywiodła Microsoft do wprowadzenia Visual Basic w 1991 r. Tom Button, Group Product Manager for Applications Programmability w Microsofcie, stał na czele zespołu, który wyprodukował QuickBASIC i QBASIC. Ta sama grupa rozwinęła Visual Basic z kombinacji Ruby i QuickBASIC.

15 czerwca 2001 strona internetowa Microsoftu "10. urodziny Visual Basic" zawierała następujący paragraf, zatytułowany "Thunder":

Początkowo Visual Basic 1.0 był zamierzony jako produkt bardzo taktyczny. Microsoft miał kilka inicjatyw w rozwoju wiodącym do Visual Basic 1.0, wszystkie były skierowane na rozwinięcie się w długoterminowe, strategiczne, graficzne, zorientowane obiektowo narzędzia programistyczne. Jednakże, jak to jest typowe dla wersji 1.0 produktów, zespół pracujący nad VB 1.0 był przymuszany do cięcia ich długiej listy pomysłów, żeby aktualnie dostarczyć produkt na rynek. W rezultacie pierwsza oferta Visual Basic zawierała niewiele więcej niż technologia Embedded Basic zastosowana pierwotnie w Microsoft QuickBasic 4.0 (Microsoftowski wątkowy p-kod i kompilator przyrostowy) i prostą powłokę pierwotnie przeznaczoną, choć nigdy nie użytą, dla Windows 3.0. W około 12 miesięcy po opracowaniu wersji 1.0 Microsoft opracował następny kamień milowy - narzędzie o kryptonimie "Thunder".

Visual Basic (VB) jest systemem programistycznym czwartej generacji, który wytwarza wiele swego kodu jako projekt interfejsu do tworzonej aplikacji. Badania Microsoftu w późnych latach 90. wykazały, ze mniej więcej dwie trzecie wszystkich napisanych na PC aplikacji dla firm było wykonane w Visual Basic.

Dawny Visual Basic mógl wytwarzać kod aplikacji pod DOSa i Windows. Dziś jednakże Microsoft uważa DOS za przestarzały i lansuje wyłącznie środowisko Windows. QBASIC kontynuował swą dystrybucję na CD-ROMach Windows aż do wersji 98SE i dzięki temu, w chwili pisania niniejszego, może być ciągle dostępny i użyteczny.

Gdy wypuszczono Visual Basic 1.0, Bill Gates, prezes Microsoftu opisał go jako 'budzący respekt'. Steve Gibson w Infoworld powiedział, ze Visual Basic jest 'oszałamiającym nowym cudem' i dokona 'dramatycznej zmiany drogi ludzi szukających po omacku i używających Windows'. New York Times cytował Stewart'a Alsop'a: 'Visual Basic jest najlepszym środowiskiem programistycznym lat 90'.

Sukces VB może być w dużej mierze spowodowany uproszczeniem, które wniósł do programowania aplikacji pod Windows. Przed VB programowanie aplikacji Windows wymagało biegłego opanowania ogromnych bibliotek podprogramów i setek linii kodu do stworzenia nawet prostych elementów ekranu. VB eliminuje potrzebę pisania kodu dla wejścia/wyjścia GUI, w ten sposób redukując długość kodu i czas tworzenia aplikacji. Charles Petzold, autor wielu klasycznych prac o programowaniu Windows w języku C, powiedział dla New York Times'a: "Dla tych z nas, którzy zarabiają na życie wyjaśniając programistom złożoności programowania Windows, Visual Basic stanowi prawdziwe zagrożenie naszych środków egzystencji".

Jednakże udane programowanie w tym systemie wymaga zrozumienia asynchronicznego sterowanego zdarzeniami programowania, sieci, architektury klient-serwer i baz danych, i dlatego wskazywano, że QBASIC i inne języki trzeciej generacji nadal lepiej spełniają cele projektu, które pierwotnie przyjęli Kutz i Kemeny, t.j. są łatwe do nauki i bardzo szybko przydatne w szerokim zakresie prostych zagadnień programistycznych.

Powrót do góry

Ewolucja Visual Basic'a

Visual Basic 1.0 for Windows udostępniono po raz pierwszy 20 maja 1991 na Światowej Konwencji Windows w Atlancie. We wrześniu 1992 Microsoft ogłosił Microsoft Visual Basic for MS-DOS w wersji Standard i Professional. Podobnie jak Visual Basic for Windows, ta wersja łączyła łatwość projektowania graficznego z siłą i wszechstronnością tradycyjnego programowania. Programiści po prostu rysowali interfejs użytkownika i dołączali kod odpowiadający zdarzeniom. Jednakże w następstwie wydania Windows 3.1 w marcu 1992 stało się widoczne, ze środowisko DOS dotarło do końca swego użytecznego żywota. Ostatnia wersja MS-DOS, 6.22, została wydana w 1994 r.

VB wersja 2.0 dla Windows (listopad 1992) była szybsza, silniejsza i łatwiejsza w użyciu niz wersja 1. VB 2 był także dostępny w darmowym wydaniu dla studentów zwanym Primer edition (obecnie - 2006 - osiągalny pod adresem http://www.winsite.com/bin/Info?5732 - przyp. tłum.). Visual Basic 3.0 (1993) dodawał narzędzie dostępu i obsługi baz danych oraz Object Linking and Embedding (OLE) version 2. Był wydany w wersjach Standard i Professional.

Superpakiet VB, zwany Visual Basic for Applications, został stworzony jako część Microsoft Excel 5 i Microsoft Project 4 w 1993 r. Odtąd stał się on wewnętrznym językiem programowania rodziny produktów Microsoft Office i jest dostępny na licencji dla innych firm softwarowych.

Visual Basic 4 został wydany w 1995 r. i obsługiwał nową rodzinę 32-bitowych systemów operacyjnych Windows 95. Professional Edition mogła także kompilować kod do uruchamiania pod starszym 16-bitowym systemem Windows 3.x. Visual Basic Scripting Edition (VBScript) był również anonsowany w 1995 r. VBScript jest używany do pisania osadzonego kodu dołączanego do stron WWW, chociaż nie wszystkie przeglądarki obsługują VBScript.

Z wprowadzeniem Visual Basic v. 5 na początku 1997 r. 16-bitowe systemy przestały być obsługiwane. Pomiędzy wersjami 4 i 5 znaczące zmiany zostały dokonane w interfejsie użytkownika. VB 5 dodał, pośród innych rzeczy, zdolność do tworzenia prawdziwych plików .EXE i tworzenia własnych kontrolek użytkownika. Obsługuje też microsoftowską technologię Active-X.

Visual Basic 5 był dostępny w wersjach Standard (Learning), Professional i Enterprise Edition. Bezpłatne wydanie, zwane Control Creation Edition, mogło zostać ściągnięte z www.microsoft.com i było dołączane do wielu podręczników. VB 5 był także włączony jako część pakietu znanego jako Visual Studio 97.

Visual Basic 6 (VB6) został wprowadzony w r. 1998 i był włączony jako część pakietu znanego jako Visual Studio 6.0. VB6 dodał nowe możliwości w dziedzinie dostępu do danych, Internetu, kontrolek, tworzenia komponentów, cech języka i kreatorów. Cytując stronę WWW Microsoftu, "Możliwości Visual Basic 6.0 dają do dyspozycji graficzny, zintegrowany dostęp do danych do każdego źródła ODBC lub OLE i dodatkowe narzędzie projektowania baz danych opartych na Oracle i Microsoft SQL Server. Nowe możliwości projektowania stron WWW wprowadzają łatwy w użyciu, oparty na komponentach model programowania w Visual Basic do tworzenia aplikacji opartych na HTML i DHTML." Wiele organizacji jeszcze do dziś używa tej wersji.

Visual Basic .NET.

Po tych gwałtownych publikacjach nastąpiła przerwa prawie sześciu lat, podczas których microsoftowska wizja architektury systemu uległa radykalnym zmianom. Efekty tych zmian były widoczne w wydaniu Visual Basic 7 czasami oznaczanym jako VB7 lub Visual Basic .NET, z lutego 2002. Ten produkt był obmyślony jako część inicjatywy Microsoft's .NET software, zaprojektowanej do tworzenia aplikacji opartych na XML dla microsoftowskiego środowiska internetowego. Sekcja 1.0 - Wprowadzenie do specyfikacji języka Visual Basic .NET (MSDN Library, April 2003) ładnie podsumowuje ówczesną wizję VB:

Od Visual Basic 1.0, który radykalnie uprościł pisanie aplikacji pod Windows, do Visual Basic 4.0, który pomógł ustalić COM2 jako standard architektury obiektów Windows, język Visual Basic był kamieniem węgielnym platformy Windows przez (więcej niż) dekadę.

Teraz, gdy aplikacje ewoluują od autonomicznych plików wykonywalnych siedzących na twardym dysku użytkownika w stronę aplikacji rozprowadzanych, dostarczanych przez serwer sieciowy poprzez Internet, Microsoft rozrasta się poza proste dostarczanie systemu operacyjnego: Microsoft dostarcza również obsługę sieciową XML. Kluczową częścią microsoftowskiego wejścia w tą nowa przestrzeń obsługi sieciowej XML jest .NET Framework, zaprojektowana od podstaw aby pozwolić deweloperom swobodnie pisać i publikować złożone aplikacje sieciowe.

Visual Basic .NET jest filarem .NET Framework i jeszcze jednym krokiem naprzód w ewolucji języka. Jest to język programowania wysokiego poziomu dla .NET Framework i stanowi najłatwiejszy punkt wejścia do .NET.

Specyfikacja Języka kontynuuje w Sekcji 1.1 - Zasady Projektowania Visual Basic .NET - co następuje:

Visual Basic .NET odzwierciedla następujące zasady projektowania:

Następujące zasady uzupełniają te pierwotne, przyjęte przy projektowaniu Visual Basic'a:

The Visual Studio development system został w tym wydaniu poddany znaczącym rewizjom. Co ważniejsze, Microsoft przekonstruował Visual Basic od podstaw, włącznie z pełnymi możliwościami programowania obiektowego i kompletną integracja z .NET Framework Common Language Runtime (CLR). Inną znaczącą zmianą było wydzielenie projektanta form w pakiet zwany Windows Forms, który może być użyty z innymi językami Microsoftu takimi jak C++ i J#.

Według opinii autora niniejszego, pewien re-trening będzie jednak potrzebny obecnym programistom VB przestawiającym się na .NET. Ilość tego re-treningu będzie bardzo znacznie zależeć od studenta. Ponadto, aby w pełni zrozumieć i zrobić dobry użytek z VB .NET, potrzebna będzie wiedza o pojęciach i technice programowania zorientowanego obiektowo.

Artykuł ze strony WWW Microsoftu w 2002 r. mówił: "Na pierwszy rzut oka może ci się wydawać, że Visual Basic .NET jest tak radykalnie różny od tego, co znasz, że będziesz się uczył wszystkiego od nowa." Doświadczenie autora niniejszego było takie, że podstawowe pojęcia programowania form Windows i podstawowy model zdarzeń nie zmieniły się. Wiele możliwości języków Visual Basic i BASIC jest również jeszcze dostępnych, często w ulepszonej postaci.

Z drugiej strony, wiele ze składni i wiele (nazw i semantyki) obiektów, właściwości, metod i zdarzeń zmieniono. Typy danych zostały przepracowane w celu zrównania ich z innymi znaczącymi językami i z .NET CLR, w ten sposób gwarantując interoperacyjnosć pomiędzy językami, przy bezpiecznym zapisie. Dodanie opcjonalnego Strict typing trybu kompilatora może być uważane za znaczące ulepszenie, które, w opinii autora niniejszego, winno być użyte w każdym projekcie. I istniejące możliwości bibliotek języka obecnie koegzystują z całą biblioteką klasy, co zapewnia równoważne i zwiększone możliwości dla wszystkich języków .NET.

.NET Framework dostarcza również nowe i ulepszone modele bezpieczeństwa oprogramowania i instalacji/publikacji. Więcej informacji o zmianach w Visual Basic .NET - zobacz artykuł Upgrading from Visual Basic 6.0 na stronie WWW Microsoftu.

Wraz z oddzieleniem Windows Forms i dodaniem klasy Console dla liniowo zorientowanego wejścia/wyjścia, Microsoft wskrzesił język BASIC. Visual Basic .NET jest faktycznie obiektowo zorientowanym językiem BASIC, który może być programowany w środowisku zorientowanym liniowo. Zatem narzekania niektórych, ze VB, z powodu jego zdarzeniami sterowanej natury, nie jest odpowiedni dla wstępnego kursu programowania, nie maja dłużej racji bytu. To również znaczy, ze QBASIC nie jest dłużej potrzebny.

Druga wersja VB .NET (wersja 7.1, znana także jako Visual Basic .NET 2003) została wypuszczona w kwietniu 2003 r. Tą wersję cechują narzędzia programistyczne dla Pocket PC i innych urządzeń przenośnych; lepsze właściwości XML; wsparcie dla Windows Server 2003; lepsze osiągi biblioteki Framework; lepszy kreator aktualizacji VB 6; ulepszony debugger; lepsze osiągi IDE; nowy ADO.NET opracowujący dane przeznaczone dla Oracle 7i, Oracle 8i i źródeł danych ODBC; i poprawa niezawodności.

W ciągu 18 miesięcy po wypuszczeniu VB .NET Microsoft kontynuował dostarczanie VBA wersji 6 z pakietami Office 2000 i Office XP. Firma udostępniała także pakiet zwany Interop Assemblies, który pozwalał programistom .NET używać Microsoft Office i innych istniejących produktów z kodu .NET. Wtedy, w październiku 2003, Microsoft wypuscił swój produkt - Office 2003, który był pierwszym zawierającym Visual Basic .NET for Applications.

Zestawienie wersji Visual Basic

Ewolucję Visual Basic'a można strescić w następującej tabeli:

Version 1 (for Windows) – 20 maja 1991
Version 1 (for MS-DOS) – wrzesień 1992
Version 2 – listopad 1992
Version 3 – 1993
VBA (VB for Applications) 1993
Version 4 – 1995 – obsługa 16- i 32-bit
Version 5 – 1997 – bez obsługi 16-bit
Version 6 – 1998 (składnik Visual Studio)
Version 7 (.NET) – luty 2002
Version 7.1 (.NET 2003) – kwiecień 2003
VBA .NET for Office 2003 – październik 2003

Powrót do góry

Notka o pisowni.

Słowa BASIC, GWBASIC, BASICA, QuickBASIC, QBASIC i Visual Basic są wszystkie pisane z użyciem oryginalnej pisowni ich twórców.

Wstecz do General Information Index