ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 63 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: 23 Aug 2006, 14:01 
Offline
Böser Admin
Benutzeravatar

Registriert: 29 Jul 2005, 22:41
Beiträge: 2065
Wohnort: Beijing
WoNáDo hat geschrieben:
2. Gibt es eine frei verfügbare (GPL oder so) Implementierung, die auch unter Windows (2000) läuft?

Meines Wissens gibt es eine GNU Smalltalk Implementierung. Diese ist als Besonderheit auch eher Skriptorientiert (so wie ich das verstanden habe). Habe selbst keine Erfahrung mit diesem Dialekt. Weiterhin gibt es Squeak (wie schon erwähnt) jedoch ist das sehr Gewöhnungsbedürftug, es gab jedoch schon einige Tutorials (u.a. in der c't) zu dieser IDE. Meines Wissens ist derzeitig die Umgebung von Visual Works das Maß der Dinge im professionellen Bereich.


der
Daniel

_________________
mruby.sh | Ruby-Mine | Homepage


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Aug 2006, 14:33 
Offline
Interpreter

Registriert: 29 Okt 2002, 14:25
Beiträge: 2137
Das "Problem" von GNU Smalltalk ist jedoch, dass es keine (richtige) IDE besitzt, insofern ist es für den echten Einsatz nicht zu gebrauchen (vgl. die Ausführungen von sma ^^ zum Anlegen einer neuen Klasse). :(

Außerdem gibt es wohl Fehler im Tutorial: Ich habe es nicht geschafft ein Image zu speichern! :shock: Danach habe ich aufgehört, mir GNU Smalltalk weiter anzutun...

Gruß,
janfri

_________________
Ruby-Mine

"Simplicity is the ultimate sophistication." Leonardo da Vinci


Zuletzt geändert von janfri am 23 Aug 2006, 14:54, insgesamt 3-mal geändert.

Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Aug 2006, 14:39 
Offline
Novize

Registriert: 18 Apr 2006, 19:39
Beiträge: 11
WoNáDo hat geschrieben:
1. Gibt es vernünftige Standarddokumentation zu Smalltalk (gibt es überhaupt einen Standard / eine Referenzimplementierung)?

2. Gibt es eine frei verfügbare (GPL oder so) Implementierung, die auch unter Windows (2000) läuft?

die bekanntesten Smalltalk Implementationen:
-open source: http://www.squeak.org/
-non-commercial: http://smalltalk.cincom.com (hat viel doku)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Aug 2006, 14:56 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
:D Vielen Dank für die Hinweise :D

@janfri: Schlimmer als das von mir genannte Buch kann wohl kaum etwa sein - schaumama...

And now to something completely different

Das ganze Thema über den Tellerrand mal noch mehr ausgeweitet, möchte ich nicht versäumen, auf einen Macro-Processor hinzuweisen: m4.

Es ist wohl der einzige noch verbliebene Macro-Processor, der viel eingesetzt wird (ich meine nicht solche, die in Sprachen integriert sind, wie beispielsweise bei C/C++ und Lisp).

Wer sich noch nie mit dem Thema auseinandergesetzt hat: aber ran! :wink:

Macroprozzesoren spielten bis Mitte/Ende der 80er Jahre eine sehr wichtige Rolle, weil auf diese Art und Weise Software portabler für die teils sehr unterschiedlichen Rechnerarchitekturen geschrieben werden konnte, und weil mit ihnen Sprachen erweitert werden konnten. Es gab diverse, von denen wohl die bekanntesten Stage2, GPM, ML/I und TRAC waren.

Wenn ich richtig informiert bin, dürfte auch heute noch kaum ein *nix-System ohne m4 laufen, speziell bei Mails war da so einiges am Gange.

Wo gibts das? - http://www.gnu.org/software/m4/

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Aug 2006, 23:18 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
Ich will noch mal was Historisches ausserhalb des Tellers plazieren. Es dreht sich um BCPL und die Verwendung dieser Sprache an Deutschen Rechnersystemen in Westdeutschland bis ca. 1984.

In den 70er Jahren waren in Deutschland an Hochschulen (insgesamt 13) und anderen wissenschaftlichen Einrichtungen besonders Rechner von Telefunken vertreten, und zwar TR440-Rechner mit TR86-Vorrechnern. Den grössten TR440-Rechner hatte meines Wissens die Universität von Kaiserslautern mit einem Dreifachprozessor. Der TR440 wurde in den 60er Jahren als Konkurrenz zur IBM/360 entwickelt. Die letzten TR440 wurden meiner Kenntnis nach vor 1985 ausser Dienst gestellt.

Abgesehen von den Hochschulen liessen auch die meissten staatlichen und halbstaatlichen Organisationen an diesem Rechnertyp arbeiten. In Berlin waren das die Bundesanstalten. Vor kurzem habe ich zufällig mitbekommen, dass auch die Rehabilitationseinrichtungen um Langensteinbach in den 70ern an diesen Rechnern arbeiteten. Da es ja noch keine PCs gab und Standleitungen zu den Rechenzentren recht teuer waren, überwog der Batch-Betrieb mit Lochkarten. Später wurden dann direkt bei den Rechenzentren Räume mit Fernschreiberfarmen aufgestellt, an denen die Benutzer arbeiten konnten.

Ich selber habe am Grossrechenzentrum für die Wissenschaft in Berlin Ende 1976 in der Betriebsgruppe angefangen, wechselte dann Anfang 1978 in die Abteilung Anwendersysteme, die die Aufgabe hatte, Standardsoftware auf deutsche Rechnersysteme zu portieren. In diesem Zusammenhang wurde auch das Samos-Forschungsprojekt (Software Adaption and Maintenance Organisation System) des BMFT (Bundesministerium für Forschung und Technologie) mit Erfolg durchgeführt.

Die dort entwickelten Werkzeuge, dazu gehörte unter anderem auch der Ediere-Editor, wurden an allen Standorten des TR440 eingesetzt. Zusätzlich wurde diese Software Anfang der 80er Jahre auch auf Siemens-BS2000-Anlagen und Fujitsu-Siemens-BS3000-Anlagen portiert (Das Betriebssystem musste dann nach gerichtlichen Auseinandersetzungen mit IBM MVS genannt werden).

Die portierten Anwendersysteme waren unter Anderem die numerischen Bibliotheken IMSL und NAG, sowie die Statistik-Systeme SPSS und SCSS. Eine Besonderheit der damaligen Zeit war, dass die Rechnersysteme überhaupt nicht auf ähnlicher Systemarchitektur basierten. IBM und Siemens waren Byte-Maschinen mit 8 Bit Bytelänge, der TR440 war eine Wortmaschine, mit 48 Bit Wortlänge. Manchmal hatte ich zu der Zeit auch noch mit einem DEC-System10 zu tun. Das hatte eine Wortlänge von 36 Bit bei einer Standard-Bytelänge von 7 Bit. Da also im Wort immer ein Bit frei blieb, musste man sich für eine Anordnung entscheiden. All die Unterschiede aufzuzählen, die bei Portierungen relevant wurden, würde viele Seiten in Anspruch nehmen - und da wären noch nicht einmal die unterschiedlichen Eigenarten der (Fortran-) Compiler aufgezählt. Achso - der TR440 arbeitete mit Einer-Komplement, es gab also zwei verschiedene Bitmuster für die Null.

Was hat das nun mit BCPL zu tun?

Ganz einfach. Praktisch alle Tools wurden bei uns in BCPL programmiert. Da BCPL keine Datentypen hat, wurden welche implementiert und in Libraries zur Verfügung gestellt. Die oben aufgezählte Unterschiedlichkeit der Architekturen wurde durch eine teilweise in Assembler geschriebene Portabilitätsumgebung gekapselt und es gab Dateien mit Konstanten-Definitionen (sogenannte Manifest-Dateien), in denen alle Besonderheiten der Rechnerarchitektur gekapselt waren. Zusätzlich wurde noch eine spezielle I/O als Basismodul erstellt, die die damals üblichen Varianten der ISAM-Dateien unterstützen konnte.

Auf diesr Basis wurden dann portabel Tools entwickelt, die über teilweise lange Zeit im Einsatz waren. Ich habe vor kurzem gehört, dass der Ediere-Editor wegen seiner Mächtigkeit auch heute noch an existierenden BS2000-Anlagen zumindest für die Betriebsgruppen zur Verfügung stehen soll, kann das aber selber nicht nachprüfen.

Abschliessend liste ich noch paar Tools auf, die damals mit BCPL portabel entwickelt wurden.
  • Ediere - ein programmierbarer Pattern Matching Editor, der auch für Analysen hervorragend geeignet war.
  • SLEX (Samos-Lex) der bekannte Lexical Analyser mit Ausgabe für BCPL und Fortran.
  • SYACC (Samos-Yacc) der bekannte LALR(1)-Parser Generator mit BCPL-Ausgabe.
  • Ein Compare-Tool, welches bei Bedarf auch Vertauschungen ermitteln konnte.
  • Der Infopool - ein auf ISAM-Dateien aufgesetztes RDBMS mit einer an SEQUEL angelehnten Manipulationssprache.
  • Ein Datenbank und Macro-Processorgestütztes Portierungssystem namens "Samos-Monitor".

Ich hoffe, dass diese Aufzählung verdeutlicht, welche Rolle die Sprache BCPL in der Bundesrepublik Deutschland in den 70er Jahren gespielt hat, und dass mit Hilfe der Möglichkeiten dieser Sprache die immensen Schwierigkeiten bei der Portierung von Software zwischen den damals sehr unterschiedlichen Architekturen gemeistert werden konnten.

Danke für die Aufmerksamkeit während der Geschichtsstunde :wink:

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Aug 2006, 23:42 
Offline
Lehrling
Benutzeravatar

Registriert: 26 Apr 2005, 15:14
Beiträge: 93
Wohnort: Hamburg
Da lebte ich ja schon.:mrgreen:
Geschichte war eines meiner Lieblingsfächer. :D

_________________
Programmers don't die,
they GOSUB
without RETURN.

Die drei Feinde des Programmierers?
Sonnenlicht, Frischluft und das unerträgliche Gebrüll der Vögel.

// A programmer's farewell
main()
{
print ("Goodbye World !);
end;
}


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 24 Aug 2006, 09:02 
Offline
Geselle

Registriert: 06 Jul 2006, 09:54
Beiträge: 149
Nochmal zum Thema Smalltalk-Implementierungen:

Ich kann mir eigentlich nicht vorstellen, dass das erwähnte Buch so viele Unterschiede aufzählt. Die Syntax von Smalltalk ist in den verschiedenen Dialekten eigentlich zu 99% identisch - es gibt sogar einen ANSI-Standard dafür. Leider ist Smalltalk ohne seine Klassenbibliothek nichts. Sobald man "ernsthaft" (mit GUIs, Datenbanken, usw.) arbeiten möchte, muss man sich auf einen Dialekt festlegen. Das ist ein bisschen so wie bei Ruby, wo man sich auch zwischen Tk, GTK, Fox, usw. als UI-Toolkit entscheiden muss. Java (und jetzt auch .NET) sind da wohl rümliche Ausnahmen, indem sie nicht nur die Sprache sondern auch die komplette Bibliothek vorgeben - und im Fall von Java entsprechend anderen Implementierungen zwingend vorschreiben.

GNU-Smalltalk ist vielleicht besser als sein Ruf. Ich hatte das vor vielen Jahren mal angeschaut und eben gerade erst festgestellt, dass die Version mittlerweile bei 2.2 ist und der Freshmeat-Seite zu urteilen sogar ein Tk-UI existiert, das ein paar Werkzeuge zeigt. Ich versuche das gerade unter cygwin zu übersetzen...

Kostenlos und open source ist Squeak. Dieses Projekt ist von den Smalltalk-Urvätern (Kay, Ingalls, ...) 1996 ins Leben gerufen worden, weil sie ihr damaliges Forschungsprojekt mit einer vertrauten Sprache realisieren wollten. Das Squeak-Image stammt damit vom Ur-Smalltalk ab, so wie es Ende der 70er gebaut wurde. Lange Zeit konnte man auch dort auch das Ur-UI bewundern, so wie es Apple dann Anfang der 80er präsentiert wurde und mit eine Inspirationsquelle für Apples Lisa- und MacIntosh-Projekt wurde (Screenshot aus dem Jahre 2000). Inzwischen ist das UI bei Squeak durch ein (häßliches) Quietschbuntes auf Morphic (dem UI von Self) basierendes UI ersetzt, was wohl in Zukunft durch Tweak ersetzt werden soll, noch ein UI. Vielleicht merkt man an dieser kurzen Ausführung, dass Squeak eigentlich ein Werkzeug- und Experimentierkasten ist. Das Basissystem ist in den letzten 10 Jahren von etwas über 1 MB auf 20 MB gewachsen und enthält Code und Codefragmente für alles mögliche. Mich hat man vor einigen Jahren abgehängt, als ein neues Versionsverwaltungssystem eingeführt und begonnen wurde, das Image in Projekte aufzuteilen. Squeak ist sicherlich gut geeignet, um zu experimentieren, doch der Zugang ist nicht ganz einfach. Squeak ist übrigens auch die Grundlage für Kays aktuelles Forschungsprojekt: Croquet. Squeak läuft auf allem, was denkbar ist.

Kostenlos ist ebenfalls VisualWorks in der Non-Commercial-Variante. VisualWorks ist der ursprüngliche Nachfolger von Smalltalk-80, so wie es von ParcPlace 1986 kommerzialisiert wurde. Auch VisualWorks ist ein Beweis, dass Smalltalk-Entwickler wenig Gespür für UIs haben - obwohl es ist besser geworden und wer in VisualWorks den Win95-Look einschaltet, der sieht Code, den ich damals geschrieben habe :) VisualWorks läuft auf den üblichen Plattformen: Windows, Unix, Mac.

Speziell für Windows würde ich noch Dolphin Smalltalk empfehlen. Ebenfalls kostenlos in einer non-commercial-Version ist dies wohl die zugänglichste Version. Die Klassenbibliothek ist sehr konsistent und das UI-Rahmenwerk ist vom Konzept nach wie vor eines besten IMHO. Es ist dem Taligent MVP-Pattern nachempfunden. Dolphin hat auch das IMHO beste "foreign function interface", es ist damit recht einfach Windows-API-Calls zu machen oder auch COM-Objekte zu bauen oder anzusprechen.

Schließen möchte ich mit einem Hinweis auf ein Smalltalk, von dem ich noch nicht so genau weiss, was ich davon halten soll: VISTA Smalltalk, ein Smalltalk-Interpreter geschrieben in C# für .NET und speziell den Zugriff auf WPF. Der Klassenbrowser ist in guter schlechter Smalltalk-Tradition wieder häßlich wie die Nacht und ansonsten kann ich dazu noch nicht viel sagen.

Update: GST 2.2 läuft unter cygwin, aber wohl in der Kommandozeile ohne grafishes UI.

Stefan


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 24 Aug 2006, 11:54 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
sma hat geschrieben:
Ich kann mir eigentlich nicht vorstellen, dass das erwähnte Buch so viele Unterschiede aufzählt. Die Syntax von Smalltalk ist in den verschiedenen Dialekten eigentlich zu 99% identisch...

Es dreht sich überwiegend um Methoden, die in der einen Implementierung vorhanden sind, in der anderen nicht oder dort anders heissen. Ich hab jetzt keine Lust die Stellen alle durchzugehen, aber es kommen mehrere hundert, die jeweilige Implementierung spezifiziernde Bildchen, als Marginalen vor, hinter denen dann die Art der Abweichung beschrieben ist.

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 19 Mai 2007, 11:19 
Offline
ri
Benutzeravatar

Registriert: 04 Okt 2005, 10:42
Beiträge: 740
Wohnort: Wien
Hallo, einige werden es vielleicht an meiner Signatur schon gesehen haben; ich habe ein kleines Board bezüglich der Programmiersprache D von Walter Bright (www.digitalmars.com) gestartet. Falls ihr über die Programmiersprache ein bissl quatschen wollt seid ihr dazu herzlich eingeladen.

Ruby bleibt dennoch meine Nr.1 :P


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 20 Mai 2007, 13:09 
Offline
ri
Benutzeravatar

Registriert: 04 Okt 2005, 10:42
Beiträge: 740
Wohnort: Wien
Über meinen Post in der Newsgruppe von Digital-Mars bin ich auf ein weiters deutschsprachiges D-Board gestossen, deren Url ich nicht vorenthalten möchte:
http://softchecker.net/upload/index.php


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 22 Mai 2007, 09:56 
Offline
Nuby

Registriert: 13 Feb 2007, 21:00
Beiträge: 9
Kennt ihr Newsqueak? Habe bei Google Video einen Vortrag von Rob Pike über die Sprache gefunden. Interresant, :o


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Mai 2007, 08:01 
Offline
Meister

Registriert: 02 Feb 2007, 08:14
Beiträge: 231
Wohnort: Heidelsheim
Wenn hier Self genannte wird sollte ein Hinweis auf IO vielleicht nicht fehlen.
http://www.iolanguage.com/about/

Ziemlich ähnlich zu Self, aber doch eher noch aktiv weiterentwickelt.

Salve
Friedrich


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Mai 2007, 09:33 
Offline
Interpreter

Registriert: 29 Okt 2002, 14:25
Beiträge: 2137
Friedrich hat geschrieben:
Wenn hier Self genannte wird sollte ein Hinweis auf IO vielleicht nicht fehlen.

Io hatten wir schon weiter oben, aber ich muss zugeben, dass der Thread langsam unübersichtlich wird. ;)

_________________
Ruby-Mine

"Simplicity is the ultimate sophistication." Leonardo da Vinci


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 23 Mai 2007, 13:38 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
janfri hat geschrieben:
...aber ich muss zugeben, dass der Thread langsam unübersichtlich wird. ;)

Naja - wenn man sich im Teller aufrichtet, ein Fernglas nimmt und einmal im Kreis herum über den Rand blickt, sieht man halt auch viele unterschiedliche Sachen :wink:

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 11 Jun 2007, 09:51 
Offline
ri
Benutzeravatar

Registriert: 04 Okt 2005, 10:42
Beiträge: 740
Wohnort: Wien
Unübersichtlich, oder nicht. :lol:

Ich wollte es euch nicht vorenthalten: http://lolcode.com/
:P


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 63 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: