Difference between revisions of "Smalltalk"

From expecco Wiki (Version 2.x)
Jump to navigation Jump to search
 
Line 38: Line 38:
 
=Links zu Smalltalk=
 
=Links zu Smalltalk=
   
  +
* [[ Smalltalk Syntax Cheat Sheet ]]
 
* [http://live.exept.de/doc/online/english/programming/TOP.html Smalltalk/X Online Documentation]
 
* [http://live.exept.de/doc/online/english/programming/TOP.html Smalltalk/X Online Documentation]
 
* [http://live.exept.de/doc/online/english/getstart/tutorial.html Smalltalk/X Tutorial]
 
* [http://live.exept.de/doc/online/english/getstart/tutorial.html Smalltalk/X Tutorial]

Latest revision as of 15:59, 13 February 2020

Smalltalk[edit]

Smalltalk ist eine Programmiersprache, welche kompromisslos objektorientiert ist. Das bedeutet:

  • keine native Typen. Alle Objekte incklusive Integers, Floats, Strings, Characters sind first-Class Objekte.
  • sämtliche Operationen auf Objekte werden durch Methoden ihrer Klasse definiert und implementiert. Alle Klassen können erweitert werden (inkl. Integer, String, etc.). Dies im Gegensatz zu Java, wo dies bei vielen wichtigen Klassen nicht möglich ist.
  • Klassen selbst sind Objekte und werden ihrerseits durch Metaklassen definiert. Auch deren Protokoll (Methoden) kann jederzeit erweitert werden. Auch dies ist in Java nicht gegeben.
  • Metaklassen implementieren denselben Vererbungsmechanismus wie normale Objektinstanzen. Klassenmethoden (insbes. "new") können redefiniert werden (im Gegensatz zu Java, wo dies nicht möglich ist).
  • Exceptions sind "proceedable". D.h. ein Exception Handler kann die Situation reparieren und mit der Ausführung fortfahren. Z.B. kann eine fehlende Datei in einem OpenError-Handler nachgeladen werden und (transparent für den Dateihandling Code) mit der Ausführung fortgefahren werden. Dies ist außer in Smalltalk in keiner anderen Programmiersprache möglich.
  • Smalltalk unterstützt echte Closures (Lambdas), und die Klassenbibliothek nutzt diese intensiv. Insbesondere die Collectionklassen implementieren viele Operationen damit (do: / select: / collect: / map: / find: etc.)
  • Änderungen sind auf Methodenebene möglich und werden sofort (im laufenden Betrieb) mit dem nächsten Aufruf aktiv. Es ist nicht notwendig, das Programm zu stoppen oder gar neu zu binden.
  • Änderungen sind im angehaltenen Zustand (z.B. im Debugger) möglich. Methodenaufrufe können restarted werden und somit die Änderung im Debugger sofort getestet werden ("programming in the debugger").
  • Die Übersetzung erfolgt in 2 Stufen, zunächst in einen internen Bytecode, welcher beim ersten Aufruf in Maschinencode übersetzt wird (sog. "Jitter" oder "dynamische Übersetzung").

Smalltalk/X[edit]

Smalltalk/X ist eine vollständige Implementierung der Programmiersprache Smalltalk, mit umfangreicher Klassenbibliothek und grafischer Entwicklungsumgebung

Die Sprache beinhaltet modernste Konzepte kombiniert mit inkrementeller Übersetzung. Daraus resultieren extrem kurze turn-around-Zeiten und es erlaubt das Programmieren während das Programm läuft. Das macht Smalltalk/X zu einer der produktivsten Plattformen für die Projektentwicklung. Smalltalk/X ist schnell, sicher, stabil und leistungsfähig, stark in kritischen Projekten, im langjährigen Einsatz sowohl bei eXept als auch bei vielen Industriekunden und damit eine hervorragende Plattform zur Entwicklung von performanten und robusten Anwendungen.

Durch klicken auf den Link "Alles über Smalltalk" werden Sie auf eine Seite geleitet, welche Ihnen weitere Details zu Smalltalk, allgemeine Informationen, Tool Information, einen Keyword Index sowie einen System Overview liefern: Alles über Smalltalk

Smalltalk und eXept[edit]

Smalltalk/X wurde komplett in unserem Haus entwickelt und wird ständig erweitert und gepflegt. Es stellt die Platform für alle unsere Produkte dar. Die Vorzüge von Smalltalk/X in Verbindung mit dem umfassenden Know-how unseres Teams machen eXept schnell und flexibel bei Entwicklung der technologisch führenden Testautomatisierungslösung expecco.

Links zu Smalltalk[edit]



Copyright © 2014-2018 eXept Software AG