Strongtalk

Strongtalk
Basisdaten

Entwickler Sun und Andere
Erscheinungsjahr 1. Juli 2002
Aktuelle Version 1.1.2 / 2.0
(9. August 2006)
Betriebssystem Windows
Programmier­sprache C++[1]
Kategorie objektorientierte Programmiersprache
Lizenz BSD-ähnlich
deutschsprachig nein
strongtalk.org

Strongtalk ist eine Variante der Programmiersprache Smalltalk, die über ein optional statisches Typsystem verfügt. Auch die Sprache Strongtalk ist, vergleichbar mit Smalltalk, in ein vollständiges Programmier-Universum eingebettet. Zu diesem gehören der obligatorische Klassenbrowser, der Workspace, ein Mixins-Browser und natürlich ein Debugger. Dieses so genannte Programmier-Universum ist vergleichbar mit modernen Entwicklungsumgebungen (IDE), ist aber dennoch weitaus spezifischer, da Strongtalk nicht auf Dateiebene, sondern auf Basis eines so genannten Images arbeitet. Eine moderne IDE basiert hingegen in den meisten Fällen auf Objekten, die auf Dateisystem-Ebene abgelegt sind.

Strongtalk wurde von Urs Hölzle, einem der ursprünglichen Entwickler der Programmiersprache Self, zusammen mit anderen bekannten Experten auf diesem Gebiet wie unter anderem Lars Bak, Gilad Bracha und Robert Griesemer entwickelt.[2] Strongtalk wird unter einer Open-Source-Lizenz zur Verfügung gestellt. Im September 2006 wurden auch die Quellen der virtuellen Maschine offengelegt.

Die einzelnen Komponenten des Strongtalk Entwicklungssystems im Überblick

Vergegenwärtigt man sich den Aufbau des Strongtalk Entwicklungssystems, so wird klar, dass diese Sprache viel eher als Java-Vorgänger bezeichnet werden könnte. So ist die Objekthierarchie durchgängig typisiert und das originäre Objekt ist das Objekt Object. In der Illustration ist auch zu erkennen, dass es wie in Smalltalk eine Art Klassenbrowser gibt, mittels dessen innerhalb der Objekthierarchie navigiert werden kann. Zudem veranschaulicht die Illustration den Vorgang der Instanziierung des Objektes Semaphore. Dies geschieht, ähnlich wie in einem Smalltalk-System, über die Code-Zeile:

Semaphore new.

Hier wird auf dem Klassenobjekt Semaphore die Klassenmethode new aufgerufen, die eine neue Instanz ebendieser Klasse zurückliefert. Gegenstücke zur Klassenmethode new sind beispielsweise, wie aus der Illustration zu erkennen, die Instanzmethoden signalCount und signalCount:. Sie fungieren als Getter bzw. Setter der Instanzvariablen signalCount. Dies ist die gängige Konvention in Smalltalk-Systemen.

Literatur

Einzelnachweise

  1. The talksmalls_Strongtalk Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 19. Oktober 2018).
  2. Lars Bak: Language Based Virtual Machines – … or why speed matters. (Memento des Originals vom 23. September 2015 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.aosd.net (PDF)

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.