Start  |  Gry  |  Słowniki *  
 : : Menu
Dla początkujących
Dla praktyków
Język
Wersje
Książki
Smalltalk vs. Java
Wiadomości
Linki
FAQ
Pobierz
Co nowego?
Mapa serwisu
Kontakt
Impressum
Księga gości
Po godzinach
Nakarm głodne dziecko - wejdź na stronę www.Pajacyk.pl
 

Dlaczego Smalltalk?

Język |  Wydajność |  Zaufanie

Język

  • Dostępny kod kompletnego systemu Smalltalk
    • Programista ma dostęp do kodu źródłowego każdej klasy w systemie.

  • Łatwa i czytelna składnia języka
    • Składnia Smalltalka jest zbliżona do języka naturalnego dzięki czemu jest zrozumiała również dla osób nie znających tego jezyka programowania.
    • Przykład:
      Smalltalk - 5 słów kluczowych - self, super, true, false, nil
      Java - 56 słów kluczowych

  • Niezależność od platformy
    • Pełna przenośność kodu - implementacja aplikacji typu "write-once-run-everywhere".
    • Dostępność dla praktyczne każdej współczesnej platformy, między innymi:
      Win9x, WinNT/2000/XP, Unix, Linux, MacOS, PalmOS, WinCE, Sparc itd.



  • Reflektywność i pełna obiektowość
    • System Smalltalk jest w całości napisany w Smalltalku. Wszystkie elementy tego języka są obiektami, a więc między innymi klasy, liczby, znaki itd.

  • Możliwość rozszerzania i przedefiniowywania funkcjonalności języka
    • Poniewaz wszystkie elementy języka sa obiektami można definiowac nowe metody na przyklad dla klasy Number (obiektami tej klasy są liczby, np. 12, 33.0 itp.).
    • Można zmieniać dotychczasową funkcjonalność metod, np. 10 + 3 może się równać 44 po przedefiniowaniu metody "+" (co tutaj akurat nie ma większego sensu, ale przykład ten dobrze pokazuje możliwości języka).

  • Dynamiczna typizacja
    • Typ zmiennej jest określany dopiero podczas wykonywania programu.
    • Mniejszy nakład pracy podczas implementacji algorytmów.
    • Możliwość wysyłania do obiektu nierozumianych przez niego wiadomości (metod) i rozpoznawania takiej sytuacji przez sam obiekt, bez przerywania pracy programu.

  • Pełna koncepcja wskaźników
    • Smalltalk pracuje wyłącznie za pomocą wskaźników do obiektów (ang. object oriented pointers).

  • Polimorfizm
    • Obiekty różnych klas z tej samej hierarchii reagujace na metody o tych samych nazwach używają polimorfizmu do wyboru właściwej metody.

  • Enkapsulacja
    • Zabezpieczanie danych - dane obiektu są dostępne tylko za pomocą jego metod.

Wydajność

  • Garbage Collection
    • Garbage Collector automatycznie wykrywa i usuwa niepotrzebne już obiekty. Więcej czasu na implementację właściwej funkcjonalności aplikacji.

  • Prosta koncepcja języka
    • Łatwa składnia umożliwia szybką realizację i przetestowanie różnych koncepcji na etapie projektowania bez konieczności skupiania się na aspektach samego języka.

  • Szybka implementacja
    • Aplikacja może być rozwijana i modyfikowna w trakcie pracy, bez konieczności jej kompilacji i ponownego uruchamiania.

  • Wydajne narzędzia dla programisty
    • Wizualne narzędzia wspomagające programowanie były źródłem koncepcji i wzorcem dla narzędzi innych środowisk.

  • Bogata hierachia klas
    • Klasy języka Smalltalk oferują bogatą funkcjonalność i wydajne struktury danych.

  • Łatwa pielęgnacja kodu
    • Mniejsza ilość kodu niż w innych językach i prosta, zrozumiała składnia powodują lepszą czytelność programu i łatwiejsza orientację.

  • Szybkie zmiany
    • Koncepcja Smalltalka umożliwia dokonywanie daleko idących zmian w krótkim czasie przy małym nakładzie.

  • Smalltalk vs. C++
    • Oficjalne badania pokazują, że wydajność programisty Smalltalka jest około 2 do 4 razy wyższa od wydajności programisty C++.

Zaufanie

  • Sprawdzone środowisko
    • Smalltalk jest w użyciu w przemyśle od 1980 roku. Duże, kompleksowe projekty są realizowane w Smalltalku między innymi przez tak znane firmy jak: BMW, Bayer, Siemens, IBM, Deutsche Bahn, Lufthansa, Carl Zeiss, Debis, Thyssen, JPMorgan i wiele innych.

      Listę bardziej znanych firm stosujących Smalltalk znajdziesz tutaj.

(pn) 
SelfSmaltalk, (c) ObjectSpace.Net
Strona wygenerowana przy pomocy edytora aceHTML
i systemu VisualWorks Smalltalk NC 7.0