Smalltalk
-
Was haltet ihr eigentlich von der Programmiersprache Smalltalk? In der neuen c't 2/03 ist ein ziemlich guter Bericht über Smalltalk und da hab ich mich gefragt, warum eigentlich keiner ein Wort über die Sprache verliert. Smalltalk ist schnell gelernt und nicht so buganfällig. Oder hat die Sprache wircklich so einen großen Haken?? Ich würde gerne mal eure Meinung dazu hören.
-
Ich hab den Artikel auch gelesen.
Aber da ich analog ins Internet gehe kann ich die IDEs nicht von zu Hause aus runterladen. Ich hab vor mir am Montag von der Schule aus das CD-Image runterzuladen, auf dem VisualWorks ist.
Laut der C't lässt sich die heutige Marktsituation teilweise durch Managementfehler von ObjectShare, dem damaligen Haupthersteller von Smalltalk IDEs, erklären.
Würde mich aber auch interessieren ob diese Sprache einen Haken hat.
-
wahrscheinlich war die Sprache für die damalige Zeit nicht schnell genug (Xerox setzte ja Hardware ein, die wohl eher der heutigen ähnlich ist, als der von 1981 (ja ich meine den IBM Homeschrott)) und das Xerox System hat sich ja auch nicht durchgesetzt, sonst würden sicher alle heute Smalltalk programmieren.
-
smaltalk ist das nicht so eine typelose sprache, die zu laufzeit dir sagen kann ne die methode kenne ich nicht?
-
Sicher nicht. Smalltalk ist dynamisch getypt.
Wenn eine Methode 'aufgerufen' wird, die nicht existiert wird eine speziell vorgesehene Methode aufgerufen, die dich im Normalfall in den Debugger schickt, aber auch anders definiert werden kann.
Das Verhalten ist also definiert, im Gegensatz zu C++, wo zur Laufzeit 'aufgerufene' (Zeiger auf) Methoden nicht auf Gültigkeit überprüft werden.
-
Original erstellt von Daniel E.:
Das Verhalten ist also definiert, im Gegensatz zu C++, wo zur Laufzeit 'aufgerufene' (Zeiger auf) Methoden nicht auf Gültigkeit überprüft werden.Hä? Was soll das heißen? Ich wüsste jetzt nix strengeres als C++ Funktionszeiger...
-
Es ging nicht um 'Strenge'. Es ging darum, was bei dem 'Aufruf' einer nicht vorhandenen Funktion/Methode passiert. 'Nicht vorhanden' lässt sich in C++ IMHO zu 'Zeiger zeigt auf keine (geeignete) Funktion' übersetzten, was daher kommen könnte, dass der Zeiger ist nicht initialisiert oder ein Nullzeiger ist. Das Dereferenzieren eines solchen Zeigers erzeugt undefiniertes Verhalten.
-
Original erstellt von Daniel E.:
Es ging nicht um 'Strenge'. Es ging darum, was bei dem 'Aufruf' einer nicht vorhandenen Funktion/Methode passiert. 'Nicht vorhanden' lässt sich in C++ IMHO zu 'Zeiger zeigt auf keine (geeignete) Funktion' übersetzten, was daher kommen könnte, dass der Zeiger ist nicht initialisiert oder ein Nullzeiger ist. Das Dereferenzieren eines solchen Zeigers erzeugt undefiniertes Verhalten.Das ist der Geist von C++
-
Gibt es eigentlich auch GUI Libraries für Smalltalk oder sowas?
-
Wo findet man das VisualWorks ? Ich habe jetzt schon eine halbe Stunde mit google gesucht, es aber noch nicht richtig gefunden.
-
cd9000: Ist es das hier?
http://www.cincom.com/scripts/smalltalk.dll/downloads/index.ssp?content=smalltalk
-
Original erstellt von <Rule>:
Gibt es eigentlich auch GUI Libraries für Smalltalk oder sowas?Ist anzunehmen, da Smalltalk die Programmiersprache war, mit der man am Xerox Palo Alto Research damals die GUI erfand
-
@<interessent>:
Ja. Das meine ich.Für alle Interessierten, hier gibts IDEs für Smalltalk:
http://www.whysmalltalk.com/smalltalk_environments/index.htm
-
Ich habe mir jetzt mal zwei IDEs angeschaut (VisualWorks und Dolphin). Das ist ja beides der größte Mist.
-
Leider funktioniert der Download hier in der Schule gerade nicht.
Aber ich hab mir immerhin die Smalltalk/X IDE runterladen können. Die ist nicht schlecht, aber ich habe halt noch keinen Vergleich.
Du darfst natürlich nicht so etwas wie Visual Basic erwarten.
Smalltalk funktioniert ein wenig anders.
-
Squeak ist glaub ich ein sehr beliebtes Smalltalk Entwicklungs Tool, schaut euch das vielleicht mal an (hab selber keine Smalltalk Kentnisse)