Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenDonnerstag, 19. September 2019 

Smalltalk (Programmiersprache)


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.
Smalltalk ist eine dynamisch typisierte objektorientierte Programmiersprache und zugleich eine vollständige Entwicklungsumgebung die in den 70er Jahren am Xerox PARC Forschungszentrum durch Alan Kay Dan Ingalls Adele Goldberg und andere wurde. Sie wurde allgemein unter dem Namen freigegeben und hat die Entwicklung vieler späterer Programmiersprachen beeinflusst (z.B. Java ). Smalltalk basiert stark auf den ersten Konzepten die bei der Entwicklung von Simula gewonnen wurden; das erste Smalltalk-System wurde Simula geschrieben.

Die Smalltalk-Entwicklungsumgebung enthielt viele Ideen die mit der Macintosh- und dann Windows- Benutzeroberfläche verbreitet wurden. Verwendet wurde ein Grafikbildschirm verschiebbaren Fenstern Aufklappmenüs und Schriften von verschiedener Größe. Maus mit drei Tasten - rot blau gelb - diente erstmals als zusätzliches Eingabegerät.

Inhaltsverzeichnis

Wichtige Eigenschaften von Smalltalk

  • Alles in Smalltalk ist ein Objekt Zeichenketten Integer Boolesche Werte Klassen(-definitionen) ausführbarer Code Stack-frames der Speicher Codeblöcke etc.
  • Objekte werden dadurch aktiviert dass man Nachrichten (Messages) schickt. Dies führt dazu dass entsprechende Methode (Funktion) des Objekts ausgeführt wird.
  • Der gesamte Quelltext ist i.d.R. offen und kann somit werden. Nur sehr wenige Methoden greifen auf 'Primitives' der VM (virtuellen Maschine) zurück.
  • Dynamische Typisierung - erst zur Laufzeit Programms wird ermittelt welche Funktion - in 'Methode' genannt - tatsächlich aufgerufen wird. In anderen objektorientierten Programmiersprachen (z.B. C++ ) muss man dieses Verhalten explizit vorher
  • Vererbung : Jede Klasse (außer der Wurzelklasse Object ) ist von genau einer Oberklasse abgeleitet Verhalten sie erbt und beliebig erweitern kann Mehrfachvererbung).
  • Automatische Speicherbereinigung (engl. garbage collection = Mülleinsammeln) die nicht durch den beeinflusst werden muss. Ein Objekt 'lebt' solange es von anderen Objekten referenziert wird.
  • Smalltalkprogramme werden in Bytecode übersetzt der eine virtuelle Maschine ausgeführt wird. Dadurch laufen Smalltalk-Programme ohne Änderung auf jedem System für das eine Maschine existiert. Ursprünglich wurde der Bytecode interpretiert; kommerzielle Umgebungen arbeiten inzwischen fast mit dynamischer Übersetzung.
  • Üblicherweise hat man eine Programmierumgebung (selbst Smalltalk geschrieben) in der man Quelltext am Objekt ändern und dann auch direkt in geänderten Form (weiter)ausführen kann. "Smalltalkprogramme" kann man während sie laufen.
  • Die Quelltexteingabe erfolgt üblicherweise im sog. Browser .

Programmbeispiel (Bibliotheksabhängig)

 'Hello World' do: [ :eachChar| eachChar ].  

gibt den Text "Hello World" vertikal

Das Dictionary (in Perl Hash in Java HashMap ) ist eine in Smalltalk häufig verwendete

 d := Dictionary new. d at: put: 'green'. d at: 'blau' put: 'blue'. at: 'rot' put: 'red'.  
 Transcript show: (d at: 'blau').  

Diese Datenstruktur entspricht dem assoziativen Array .

Weblinks

Implementierungen


Siehe auch: Objective-C



Bücher zum Thema Smalltalk (Programmiersprache)

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/Smalltalk_(Programmiersprache).html">Smalltalk (Programmiersprache) </a>