VisualWorks - VisualWorks

VisualWorks to wieloplatformowa implementacja języka Smalltalk . Jest realizowany jako system programistyczny oparty na „obrazach”, które są dynamicznymi zbiorami obiektów oprogramowania, z których każdy jest zawarty w obrazie systemu .

Linia VisualWorks sięga pierwszej implementacji Smalltalk-80 przez Xerox PARC . Pod koniec lat 80. grupa deweloperów Smalltalk-80 wydzieliła ParcPlace Systems, aby dalej rozwijać Smalltalk-80 jako produkt komercyjny. Produkt komercyjny początkowo nosił nazwę ObjectWorks, a następnie VisualWorks. W dniu 31 sierpnia 1999 r. Produkt VisualWorks został sprzedany firmie Cincom . VisualWorks działa pod wieloma systemami operacyjnymi, w tym Windows , Mac OS X , Linux i kilkoma wersjami Unix .

VisualWorks posiada bardzo aktywną społeczność niezależnych programistów, z licencją na użytek osobisty (PUL) dostępną bezpłatnie. Wersja PUL ma większość mocy i funkcjonalności wersji komercyjnej. W obu wersjach, podobnie jak we wszystkich Smalltalks, użytkownik może zobaczyć cały kod źródłowy. Obejmuje to wszystkie klasy systemowe, w tym przeglądarkę i kreator GUI.

VisualWorks obsługuje wieloplatformowe projekty programistyczne ze względu na wbudowane funkcje wieloplatformowe. Na przykład aplikacja GUI musi zostać utworzona tylko raz, a następnie można ją przełączyć na różne style widżetów. Aplikację VisualWorks można uruchamiać na wszystkich obsługiwanych platformach bez żadnych modyfikacji. Tylko maszyna wirtualna jest zależna od platformy.

Korzyści i wady

VisualWorks pozwala na bardzo szybkie tworzenie aplikacji, ponieważ poszczególne metody mogą być kompilowane nawet w trakcie działania tworzonego programu. Kompilowanie metody Smalltalk zwykle zajmuje znacznie mniej niż sekundę, podczas gdy zrobienie tego samego dla projektu C ++ często zajmuje minutę lub więcej i nie można tego łatwo zrobić bez ponownego uruchomienia procesu. Różne przeglądarki kodu programu VisualWorks pomagają programistom szybko zlokalizować interesującą go klasę lub metodę.

Wydajność i przepustowość programów Smalltalk może zbliżyć się do wydajności języków statycznych, takich jak C ++ , Fortran , Pascal lub Ada przy użyciu kompilatora just-in-time , generując kod maszynowy, który jest wyspecjalizowany dla często używanych typów, ale przetwarzanie numeryczne i programy, które przynoszą korzyści z dokładnego układu pamięci może nadal działać wolniej. Pokoleniowej garbage collector Minimalizuje większość przerw zbiórki, ale mogą nie być odpowiednie dla twardego czasu rzeczywistego determinizm i wymagań, jakie mogą wystąpić długie pełne kolekcje, które mogą zatrzymać świat rzędu kilkudziesięciu do kilkuset milisekund proporcjonalnych do rozmiaru sterty. Jednak wyrzucanie elementów bezużytecznych jest lepsze niż ręczne zarządzanie pamięcią w języku zorientowanym obiektowo, a programista może podejmować różne działania, aby kontrolować, kiedy i jak długo ma to miejsce; więc w większości przypadków wyrzucanie elementów bezużytecznych nie jest problemem.

Instalacja

Wszystkie komponenty systemu VisualWorks są instalowane w systemie Windows 7 lub nowszym w katalogu Program Files \ Cincom, którego nazwa pochodzi od numeru wersji zainstalowanego systemu - na przykład vw7.5nc . Ten katalog zawiera kilka podkatalogów, w tym bin, doc , przykłady i wiele innych.

Przyciski myszy i menu

VisualWorks zakłada mysz z trzema przyciskami z przyciskami posiadające nazw logicznych <Select> , <Operate> oraz <Window> . Chociaż myszy z jednym lub dwoma przyciskami można używać razem z klawiszami Ctrl , Option lub Command . <Select> wybiera dowolny obiekt interfejsu. <Operate> wyświetla menu operacji dla bieżącego widoku / wyboru. <Window> inicjuje akcje (przesuń, zamknij ...) w oknach VisualWorks.

Format zapisu

Format pliku w to oryginalny format Smalltalk do reprezentowania klas jako plików tekstowych. Można je „przesłać” do środowiska VisualWorks IDE w celu wygenerowania klas, które nie są jeszcze zawarte w obrazie Smalltalk . Każdy dokument znajdujący się w pliku zapewnia prostą tekstową reprezentację klasy lub klas Smalltalk w pliku tekstowym z .st sufiksem. Jest nadal obsługiwany w VisualWorks, ale został zastąpiony przez mechanizm Parcels. W podkatalogu przykładów znajdują się przykłady w formacie pliku w formacie.

Paczki

Paczki są zewnętrznymi reprezentacjami pakietów.

Przeglądarka przykładów jest dostarczana jako działka w katalogu przykładów. Dostępnych jest kilka przełączników poziomu obrazu, aby określić ładowanie paczki podczas uruchamiania obrazu. Ścieżka paczki to lista katalogów, w których VisualWorks szuka paczek. Można to ustawić za pomocą narzędzia Ustawienia systemu.

Działki zapewniają technologię komponentów dla programu VisualWorks. Pakiety i paczki organizują kod i modelują zawartość paczek. Przesyłki są tworzone poprzez publikowanie pakietów / paczek. Termin komponenty , w sferze VisualWorks, jest używany w odniesieniu do paczek, paczek i pakietów, gdy nie jest konieczne podanie konkretności.

Organizacja kodu przesyłki podczas załadunku jest określona przez jego utworzenie. Jeśli został utworzony przez opublikowanie pakietu, jest ładowany do tego samego pakietu. Jeśli utworzono go z pakietu, można go ponownie załadować jako pakiet lub jako jeden pakiet.

Sekwencja ładowania paczki to:

  1. Ładowane są wszystkie wymagane wstępnie składniki.
  2. Wykonywana jest dowolna zdefiniowana akcja ładowania wstępnego (np. Inicjalizacja niezadeklarowanych zmiennych).
  3. Obiekty w pakiecie są instalowane.
  4. Każda klasa w paczce otrzymuje wiadomość postLoad: thePackage i każdą wykonywaną akcję. Często jest to uruchomienie aplikacji.

Kierownik paczek

Menedżer paczek służy do wczytywania i wyładowywania wszystkich paczek znajdujących się na ścieżce działki. Widok Sugestie zawiera listę kategorii zawierających kluczowe działki dodatkowe - po wybraniu kategorii otrzymasz listę zalecanych działek. Na przykład UI Painter znajduje się w kategorii Essentials. Istnieje również widok drzewa katalogów ścieżki działki, który umożliwia znajdowanie działek poza widokiem Sugestie. Widok Wczytany zawiera listę wszystkich działek znajdujących się już na obrazie. Można przeglądać tylko załadowane przesyłki.

Obsługiwana paczka produktu VisualWorks jest reprezentowana przez ikonę, która wygląda jak paczka. Paczki od innych sprzedawców wyglądają jak worek na zakupy. Ze względu na zawiłą historię rozwoju klasy Smalltalk może to być bardzo przydatne. Na przykład ikona działki wskazuje, że system hipertekstowy Arbor jest teraz obsługiwany przez VisualWorks.

Przesyłki można również ładować i wyładowywać programowo z poziomu aplikacji.

Pakiety

Po załadowaniu paczka jest zorganizowana jako paczka lub pakiet paczek. Szukając kodu wczytywanego z przesyłki można zlokalizować paczkę lub paczkę o tej samej nazwie w przeglądarce systemowej. Pakiety to kategorie, które organizują zajęcia w powiązane grupy, zgodnie z komponentem. Pakiety można grupować w paczki. Pakiety i paczki można zapisywać (publikować) jako paczki lub zapisywać w repozytorium kodu źródłowego.

Ładowanie bibliotek kodu

Początkowy obraz visual.im zawiera minimalne narzędzia programistyczne przy użyciu podstawowych bibliotek klas . Dodatkowe biblioteki klas są dostarczane przez VisualWorks lub innych dostawców, zwykle jako pliki paczek. W większości środowisk programistycznych innych niż Smalltalk biblioteki kodu są importowane w czasie kompilacji za pomocą polecenia dołączania . W Smalltalk biblioteki kodu są ładowane do działającego systemu i stają się częścią środowiska. Na przykład Malarz interfejsu użytkownika jest ładowany jako paczka.

VisualWorks Launcher

VisualWorks Launcher, zwykle nazywany po prostu Launcherem , jest centrum sterowania dla systemu VisualWorks. Jest to platforma startowa dla wszystkich głównych narzędzi.

Podstawy Smalltalk

Smalltalk jest czysto obiektowym językiem programowania , co oznacza, że ​​jedynym sposobem, aby coś się wydarzyło w Smalltalk, jest wysyłanie wiadomości do obiektów. VisualWorks standardowo używa języka Smalltalk-80, ale zawiera własny zestaw klas i metod. Tak więc nawet podstawowe klasy, takie jak Object, różnią się od tych w innych IDE Smalltalk-80, takich jak Squeak i Dolphin Smalltalk . Ilustrujące przykłady tutaj działają w VisualWorks Smalltalk, ale mogą nie działać w innych Smalltalks, ponieważ klasy i / lub metody mogą się różnić.

Przeglądanie i edycja kodu Smalltalk

W tradycyjnych środowiskach programowania zorientowanego obiektowo programista bezpośrednio edytuje plik kodu źródłowego w postaci zwykłego tekstu , zawierający definicje klas i metod . W VisualWorks, podobnie jak we wszystkich Smalltalks, wszystko jest obiektem wykonawczym , łącznie z klasami. Przeglądając klasy Smalltalk, programista zbiera definicje z wykonywania obiektów. Główną przeglądarką / edytorem w VisualWorks jest przeglądarka systemowa. Pozwala deweloperowi na przeglądanie klas w ogólnej hierarchii klas lub poprzez ich pakiety. Jest uruchamiany z programu VisualWorks Launcher.

Panele list w przeglądarce systemowej umożliwiają programistom przechodzenie do definicji klas i metod. Można je następnie wyświetlać lub edytować w widoku kodu lub modyfikować za pomocą nowych definicji.

Niezadeklarowane zmienne

Gdy zmienna zostanie usunięta, gdy nadal istnieją odniesienia do niej lub zostanie załadowana za pośrednictwem działki, ale nigdy nie została zadeklarowana, jej nazwa zostanie umieszczona w przestrzeni nazw niezadeklarowanych. Niezadeklarowane zmienne mogą powodować pewne błędy programu.

Ciąg i pliki

Pierwszy samouczek Cincom na temat VisualWorks ilustruje, jak VisualWorks może być używany do manipulowania plikami dziennika serwera . Pokazuje, jak elementy takie jak łańcuchy i pliki można łatwo podciągnąć do struktury obiektów w programie VisualWorks. Rozważmy wyrażenie Smalltalk :

'ws000101.log' asFilename edit

Można ocenić to wyrażenie tak, jak jest w obszarze roboczym VisualWorks, używając jednego polecenia w menu operacyjnym. To tworzy:

  1. Obiektu klasy ByteString zawierającym łańcuch (w bajtach ) i metod do manipulowania;
  2. Obiekt klasy NTFS Filename (w systemie Windows XP ); i
  3. Obiekt edytora.

Ten ostatni jest prostym edytorem przypominającym notatnik , zawierającym zawartość pliku. Oznacza to, że ocena utworzyła obiekt nazwy pliku jako bramę do pliku ws000101.log i otworzyła do niego edytor. Sam edytor jest obiektem, podobnie jak wszystkie jego komponenty (łącznie ze znakami w jego menu). Kod źródłowy jest dostępny dla wszystkich tych obiektów, a VisualWorks ma mnóstwo inspektorów, przeglądarek i innych narzędzi, które każdy może oceniać i sprawdzać kod w trybie statycznym lub dynamicznym.

Poradniki

Istnieją codzienne samouczki tworzone dla Cincom Smalltalk, a także samouczek Seaside .

Bibliografia

Zewnętrzne linki