Sprache Smalltalk
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Objektorientierte Programmiersprache mit ungewöhnlich einfacher Syntax. Zusammen mit SpracheSimula eine der beiden Ur-OO-Sprachen.

Typische Smalltalk-Entwicklungsumgebungen unterscheiden sich erheblich von allen anderen (sofern diese nicht von Smalltalk beeinflusst sind, wie z.B. IBM Visual Age for Java [1] ).

Besonderheiten der Sprache
Besonderheiten typischer Entwicklungsumgebungen
Vorteile der Sprache
Nachteile der Sprache
Vorteile typischer Entwicklungsumgebungen
Nachteile typischer Entwicklungsumgebungen
Vorteile einiger Entwicklungsumgebungen
Typische Anwendungsbereiche
Community
Sprachverwandtschaft

Andere Sprachen oder Entwicklungsumgebungen, die besonders stark von Smalltalk beeinflusst sind:

Programmierbeispiele
Kontrollstrukturen

Eine weitere erwähnenswerte Besonderheit ist die Abwesenheit von in die Sprache eingebauten Kontrollstrukturen. Kontrollstrukturen werden über DynamicClosures realisiert. Diese heißen in Smalltalk Blöcke und werden mit eckigen Klammern erzeugt. Kontrollstrukturen sind als Methoden von Boolean oder BlockClosure implementiert und es lassen sich beliebige Konstrukte nachrüsten. Die Implementation von whileTrue: bei BlockClosure könnte z. B. so aussehen:

whileTrue: aBlock Werte aBlock solange aus, wie mein Wert wahr ergibt.
  ^self value
    ifTrue: [
      aBlock value
      [ self value ] whileTrue: [ aBlock value ]]

Wer das begriffen hat, wird keine Probleme haben, die Methoden Boolean>>ifTrue:ifFalse oder Collection>>do: zu implementieren. Die mitgelieferte Klassenbibliothek hält eine Reihe von in dieser Form implementierten Kontrollstrukturen bereit. Diese werden i. A. durch die VirtuelleMaschine optimiert behandelt und sind daher Eigenkreationen vorzuziehen.

Kapselung

Alle Instanzvariablen sind protected. Es ist durchaus üblich, trotzdem Zugriffsmethoden bereitzustellen, diese aber in ein Protokoll private zu verschieben. Das ist letztenendes eine Frage der persönlichen Vorlieben. Will man eine Methode als private kennzeichnen, so ist man generell auf solche Konventionen angewiesen. Die SpracheSmalltalk kennt keine privaten Methoden.

Diskussion

"Heute die Nummer 3 nach Java und C+" -- Und Delphi? Wäre das nicht Nr. 3?

"Dazu sind - im Gegensatz zu Lisp - keine Makros nötig":

    Was soll so schlecht an Makros sein - bitte nicht verwechseln: C-Preprocessor-Makros und Lisp-Makros

[1] VisualAge for Java ist ein Smalltalk mit Java-Aufsatz und verstecktem Smalltalk !

Warum steht PocketSmalltalk unter kommerziell? Auf der Homepage dazu steht "free open source". ...


KategorieProgrammierSprache KategorieSmalltalk
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 21. Januar 2008 14:26 (diff))
Suchbegriff: gesucht wird
im Titel
im Text