|
|
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.
|