wer ist, was ist, wo ist, wann war, was war - Lexikon / Chronik / Biografie / Wissen - Smalltalk (Programmiersprache)


Werbung

Produkte / Services :|: Chronik CD :|: als Startseite | zu den | empfehlen :|: Impressum
Lexika @ InfoBitte.de :|: Universal-Lexikon | WeltKunst | Geteiltes Deutschland | Zweiter Weltkrieg
WeltChronik.de :|: Welt | Deutschland | Kultur/Kunst/Technik :|: BildDatenBank :|: Biografien

Navigation

WeltChronik
Deutsche Chronik
KulturChronik
Biografien
Bilddatenbank
Kalenderblatt
Epochen
Lexika @ InfoBitte.de
Produkte

Suchfunktionen
Chronik-Jahr direkt

Nur Zahl eingeben
Bereich: '0'-'2001'
PARTNER
Ahnenforschung

Quellen für die Schule

FREE 4 WebMasters

Wir haben eine ganze Palette kostenloser Angebote von uns
für WebMaster und HomePage Besitzer aufbereitet

Holen Sie sich hier ab

was Sie gerne einsetzen würden
Suchfunktionen, Kalenderblatt, uam
für Ihre WebSite



Smalltalk (Programmiersprache)

ein InfoBitte / WeltChronik
Sach-Artikel (Enzyklopädie / Lexikon)

Entwickelt von ICA-D aus der XML-Version der deutschen WikiPedia
© 2004/2005 ff by de.wikipedia.org, teilw. by ICA-D
blättern» voriger Artikel | Hauptseite | nächster Artikel «blättern

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 entwickelt wurde. Sie wurde allgemein unter dem Namen Smalltalk-80 freigegeben und hat die Entwicklung vieler späterer Programmiersprachen beeinflusst (z. B. Java). Smalltalk basiert stark auf den ersten objektorientierten Konzepten, die bei der Entwicklung von Simula gewonnen wurden; das erste Smalltalk-System wurde in Simula geschrieben.


Die Smalltalk-Entwicklungsumgebung enthielt viele Ideen, die später mit der Macintosh- und dann Windows-Benutzeroberfläche verbreitet wurden. Verwendet wurde ein Grafikbildschirm mit verschiebbaren Fenstern, Aufklappmenüs und Schriften von verschiedener Größe. Eine Maus mit drei Tasten - rot, blau und gelb - diente erstmals als zusätzliches Eingabegerät. Das Model-View-Controller-Konzept (MVC) spielte in der Smalltalk-80-Entwicklungsumgebung eine wesentliche Rolle.


Inhaltsverzeichnis


1 Wichtige Eigenschaften von Smalltalk

2 Programmbeispiel

3 Weblinks

  3.1 Implementierungen


Wichtige Eigenschaften von Smalltalk

  • Alles in Smalltalk ist ein Objekt, auch Zeichenketten, Integer, Boolesche Werte, Klassen(-definitionen), ausführbarer Code, Stack-frames, der Speicher, Codeblöcke etc.
  • Objekte werden dadurch aktiviert, dass man ihnen Nachrichten (Messages) schickt. Dies führt dazu, dass die entsprechende Methode (Funktion) des Objekts ausgeführt wird.
  • Der gesamte Quelltext ist i.d.R. offen und kann somit verändert werden. Nur sehr wenige Methoden greifen auf echte 'Primitives' der VM (virtuellen Maschine) zurück.
  • Dynamische Typisierung - erst zur Laufzeit eines Programms wird ermittelt, welche Funktion - in Smalltalk 'Methode' genannt - tatsächlich aufgerufen wird. In manchen anderen objektorientierten Programmiersprachen (z. B. C++) muss man dieses Verhalten explizit vorher angeben.
  • Vererbung: Jede Klasse (außer der Wurzelklasse Object) ist von genau einer Oberklasse abgeleitet, deren Verhalten sie erbt und beliebig erweitern kann (keine Mehrfachvererbung).
  • Automatische Speicherbereinigung (engl. garbage collection = Mülleinsammeln), die nicht durch den Programmierer beeinflusst werden muss. Ein Objekt 'lebt' solange, wie es von anderen Objekten referenziert wird.
  • Smalltalkprogramme werden in Bytecode übersetzt, der durch eine virtuelle Maschine ausgeführt wird. Dadurch laufen Smalltalk-Programme ohne jegliche Änderung auf jedem System, für das eine virtuelle Maschine existiert. Ursprünglich wurde der Bytecode interpretiert; kommerzielle Umgebungen arbeiten inzwischen fast ausschließlich mit dynamischer Übersetzung.
  • Üblicherweise hat man eine Programmierumgebung (selbst in Smalltalk geschrieben), in der man Quelltext am "lebenden" Objekt ändern und dann auch direkt in der geänderten Form (weiter)ausführen kann. "Smalltalkprogramme" kann man ändern, während sie laufen.
  • Die Quelltexteingabe erfolgt üblicherweise im sog. Class-Browser.
  • Eine überraschende Eigenschaft im Vergleich zu traditionellen Sprachen ist, dass die Kontrollstrukturen wie if-then-else, for, while nicht in die Sprache eingebaut sind. Zumindest erscheint dies dem Programmierer so. Zum Beispiel wird eine IF-Anweisung so ausgeführt, indem eine ifTrue:-Botschaft an ein Boole'sches Objekt gesandt wird. Als Parameter wird ein Block (Anweisungsfolge) übergeben, die ausgeführt wird, wenn das Boole'sche Objekt den Wert True zurückgibt.


Es gibt nur drei eingebaute ausführbare Konstrukte:


* Senden einer Botschaft an ein Objekt;
* Zuweisen eines Objekt an eine Variable;
* Ein Objekt als Rückgabewert einer Methode liefern;

Programmbeispiel

 'Hello World' do: [ :eachChar|
Transcript show: eachChar ; cr
].

gibt den Text "Hello World" vertikal aus.


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


    d := Dictionary new.
d at: 'grün' put: 'green'.
d at: 'blau' put: 'blue'.
d at: 'rot' put: 'red'.

    Transcript show: (d at: 'blau').

Diese Datenstruktur entspricht dem assoziativen Array.


Weblinks



Implementierungen



Siehe auch: Objective-C


blättern» voriger Artikel | Hauptseite | nächster Artikel «blättern

Dieser Beitrag ist aus der XML-Version der deutschen WikiPedia® entwickelt worden und unterliegt inhaltlich den GNU FDL-Lizenzbestimmungen. Linkziele außerhalb der wikipedia-Inhalte unterliegen den Urheberrechten der jeweiligen Anbieter




Wörterbuch


Produkte
2000 Jahre
Chronik CD-ROM


Kalenderblatt in
Schmuckblatt
Ausführung


Geburtstags-Bios

Suchen/Google-Ads
Kalenderblatt
druckfertig
( DirectDownloads )
Kalenderblätter
druckfertig aufbereitet für Schmuckblätter
zum Selbstdrucken

im Word DOC6/RTF Format, je Euro 5
über Click&Buy
JAN | FEB | MÄRZ
APRIL | MAI | JUNI
JULI | AUG | SEPT
OKT | NOV | DEZ

Das Geschenk für jeden Anlass, nicht nur bei 'runden' Jubiläen
Andere Einzeltage
oder Zahlungsarten

bitte HIER bestellen


© 2000 ff by ICA-D, D-76751 Jockgrim, Germany
Verantwortlich im Sinne des Presse- und Multimedia-Rechts: Dipl.-Ing. Rainer Detering, Waidweg 18, 76189 Karlsruhe


| Immer | Unsere | InfoBitte weiterempfehlen
KALENDERBLATT von HEUTE | SUCH-Funktionen ALLE und nach BEREICHEN | Startseite
Welt-Chronik | Kunst-, Kultur-, Technik-Geschichte | Deutsche Chronik | 2000 Biografien | Bild-Datenbank
Gesetzestexte | SkateGuide | Online Jigsaw Puzzles | GeschenkTip | Produkte, Services, Impressum



*NEU* bei InfoBitte *NEU*



die deutsche WikiPedia
bei InfoBitte.de mit
650,000 Querverweisen zu
2000 Jahre Chronik



InfoBitte
Portal zu Portalen
Hauptseite


Suchfunktionen

Wissen, Biografien, Geschichte
besser gezielt suchen mit
domain-Filterung

die Links führen im neuen Fenster
zu den jeweiligen Hauptseiten,
das Anklicken eines Buttons zur
Filterung für die Google-Suche



Google
Lexika @ InfoBitte.de

ib InfoBitte.de (alle Lexika)
ib Universal-/Hand-Lexikon
die WikiPedia @ InfoBitte
ib L. WeltKunstGeschichte
ib L. Geteiltes Deutschland
ib L. Zweiter Weltkrieg

2000 Jahre Chronik

WeltChronik.de (Texte)
  
WeltChronik auf CDROM
deutsche Geschichte
Kultur-/TechnikGeschichte
WeltChronik Bilder
Chronik Biografien

Google
2000 Jahre Chronik
offline auf CDROM

Hier Kaufen


WeltChronik Jahr...
(eigene Suchfunktion)

Nur Zahl eingeben
Bereich: '0'-'2001'





Diese Web Site verdient ihr Geld durch Produktverkäufe (CD-ROM, downloads) und in erster Linie durch Anzeigen. Wenn Sie als Webmaster zuverlässige Partner suchen für Ihr eigenes Anzeigenschäft, dürfen Sie sich gerne auf unsere Empfehlungen stützen:
z.B.: GigaCash & ProfiWin