Diskussion:Self (Programmiersprache)
Verbesserungsvorschläge
Ich würde mich freuen wenn nochfolgende Vorschläge kommentiert, bzw ergänzt werden könnten (pro/contra). --DanielSHaischt 14:19, 15. Sep 2005 (CEST)
- Die Bio der Self-Autoren jeweils in einen extra Artikel.
- Einen gesonderten Artikel über prototypische Programmiersprachen (Übersetzung von Prototype-based languages)
- Einarbeiten des engl. Artikels Non-class-based programming in den Artikel Klasse (objektorientierte Programmierung)
- Besserer Bezug zum Universalienrealismus des Plato bzw dessen Höhlengleichnis.
- Mein Verbesserungsvorschlag: den Artikel komplett neu schreiben. Begründung: das dürfte effizienter sein als etwas zu verbessern.
- Hier einige Kritikpunkte:
- Der Eingangs-Absatz sollte einen kurzen allgemein verständlichen Überblick über das Lemma geben. In einem weiteren Absatz könnte dann bereits das Wesentliche kurz dargelegt werden, so dass der Leser entscheiden kann, ob der Artikel für ihn interessant ist.
- Die Kernaussage der Problemstellung ("Insofern es nicht absolut sichergestellt ist, welche Ausprägung ein bestimmtes Objekt zukünftig einnimmt, ist es nicht möglich, eine fehlerfreie und umfassende Klassenhierarchie zu spezifizieren.") ist schlichtweg falsch. Eine Referenz vom Typ einer Basisklasse kann zwar auf eine Instanz einer Subklasse verweisen - aber das hindert den Klassen-Designer doch nicht daran, "eine fehlerfreie und umfassende Klassenhierarchie zu spezifizieren." Ein Objekt ist immer die Instanz einer Klasse und ändert sich nicht (kann zur Laufzeit nicht Instanz einer anderen Klasse werden). Die Aussage "Ohne die Möglichkeit, die ursprünglichen Klassen in ihrer Funktion sehr schnell ändern zu können, kommt es unweigerlich auf kurz oder lang zu erheblichen Problemen." ist so nicht richtig. Das klingt so, als ob der Code ständig verändert werden müsste. Wenn das der Fall ist sollte man dem verantwortlichen Programmierer empfehlen etwas zu machen von dem er Ahnung hat.
- Zum "Problemlösungsansatz"
- Zitat: "Wie zuvor beschrieben, besteht das Problem in einem grundsätzlichen Dualismus von Klasse und Klasseninstanz." Wie bitte ???
- Anmerkung zum Schluss: ich habe Informatik studiert und interessiere mich für Programmiersprachen. Unter Umständen wäre ich bereit mich an der Verbesserung dieses Artikels zu beteiligen. 79.193.93.53 19:28, 2. Mai 2008 (CEST)
- Sooo ... ich (79.193.93.53) habe mir jetzt mal einen Namen gemacht: Der ÜberArbeiter 10:27, 4. Mai 2008 (CEST)
- Hier ein Kommentar zu deinen Vorschlägen:
- Die Bio der Self-Autoren jeweils in einen extra Artikel.: Zustimmung.
- Einen gesonderten Artikel über prototypische Programmiersprachen: dito.
- Einarbeiten des engl. Artikels Non-class-based programming in den Artikel Klasse (objektorientierte Programmierung): von mir aus. Nur: was hat das mit diesem Artikel zu tun?
- Besserer Bezug zum Universalienrealismus des Plato bzw dessen Höhlengleichnis.: Ablehnung. Welchen Bezug sollte Platos Höhlengleichnis denn zu dieser Programmiersprache haben? In diesem Artikel sollte die Programmiersprache Self beschrieben werden und sonst nichts. Ein Hinweis auf den intellektuellen Hintergrund kann es geben - aber nur wenn er für das Verständnis dieser Programmiersprache relevant ist.
Der ÜberArbeiter 11:06, 12. Mai 2008 (CEST)
Zur Vorgehensweise
Ich als Hauptautor (DanielSHaischt) lege wert darauf ...
- Dass man Änderungen sinnvoll kommentiert (vor allem Löschungen)
- Dass wenn dies irgendwie möglich ist zuerst an der Fachlichkeit gearbeitet wird und danach erst an der Struktur, Rechtschreibung etc.
- prototypenbasierte vs. prototypisch: Ein weiteres Beispiel für eine gewisse Inkonsequenz. Wenn man Begriffe abändert (hier: prototypisch) dann sollte man sich auf jeden Fall die Mühe machen und das Wort im ganzen Text ersetzen (es gibt da ja die nette Funktion Search & Replace ;)
- tbc ...
Aktuell habe ich vor allem nicht verstanden warum der Software-Info-Kasten entfernt wurde. Viele andere Sprachen (Python o. Perl) haben diesen auch und diese stammen nicht von mir. Konsequent wäre es also entweder alles so zu lassen wie es ist, oder den betreffenden Kasten auch bei den restlichen Programmiersprachen zu löschen. Ferner bin ich mit dem entfernen der Links zu den diversen prototypischen Programmiersprachen nicht ganz einverstanden. Sollte sich bis in vierzehn Tagen niemand zu der Thematik äusern, so werde ich den Software-Info-Kasten und die Links wieder setzen. Es ist mir einfach nur wichtig, dass berücksichtigt wird, dass mir als Hauptautor der Artikel am Herzen liegt und die diversen Änderungen kommuniziert werden damit diese (für mich) transparent werden --DanielSHaischt 14:19, 15. Sep 2005 (CEST)
- So ... ich habe jetzt mal – nach den Absätzen Weblinks und Literatur – den Eingangsabsatz überarbeitet. Als nächstes kommt der Abschnitt Geschichte dran.
- Zur Struktur des Artikels: die Abschnitte Problemstellung und Problemlösungsansatz sowie alle Abschnitte ab Sprachsyntax bis zum Abschnitt Literatur sollten Unterabschnitte des Abschnitts Die Sprache werden. Das nehme ich mir nach dem Abschnitt Geschichte vor.
- Der ÜberArbeiter 12:59, 12. Mai 2008 (CEST)
Lesenswert-Diskussion
Habe gesehen, dass Perl bereits nominiert ist. Also bin ich mutig und nominiere eine wichtige objektorientierte Sprache. Vielleicht sogar neben Smalltalk eine der Sprachen mit der grössten historischen Relevanz. Könnte mir noch jemand die Lautschrift des Begriffs Self (engl.) nennen (ich bin da nicht so fitt)? --DanielSHaischt 19:56, 8. Sep 2005 (CEST)
- knapp Anneke Wolf 00:41, 9. Sep 2005 (CEST) Pro Schöner und liebevoll gemachter Artikel aber doch noch mit einigem Fachchinesisch
- Hallo Anneke Wolf, könntest du mir noch sagen wo genau es hakt, d.h. wo Fachchinesisch benutzt wurde? Nur so kann ich den Artikel verbessern ... --DanielSHaischt 00:50, 9. Sep 2005 (CEST)
- Kontra. Inhaltlich gefällt mir der Artikel durchaus, sprachlich sollte er aber gründlich überarbeitet werden. Beispiele: Richtet man seinen Blick auf neuere Sprachen wie beispielsweise Java, so sollte man sich der Tatsache bewusst werden, dass in diese diverse Self-Entwicklungen einflossen. Eine wesentliche Technologie die an dieser Stelle genannt werden muss, ist ... oder Was bedeutet wohl das nachfolgende Konstrukt: [Beispiel] Dieses Konstrukt ist durchaus von Interesse. Dieses Konstrukt verändert .... Das ist kein enzyklopädischer Stil, sondern ein Aufsatz. Mit konziseren Formulierungen würde der Artikel m.E. nicht nur viel kürzer, sondern auch besser verständlich. -- Stefan506 10:23, 10. Sep 2005 (CEST)
Review vom 1. Sep 2005
Den Artikel zur genannten Programmiersprache habe ich schon vor einiger Zeit erheblich ausgebaut. Einges habe ich selbst geschrieben. Zudem habe ich den Artikel mit den diversen Grafiken aufgewertet. Der Rest ist eine 1:1 Übersetzung des gleichnamigen Artikels aus der englischen Wikipedia. Ich würde mich über einige kritische, aber hilfreiche Kommentare zum Artikel freuen. --DanielSHaischt 16:44, 1. Sep 2005 (CEST)
- Ist das eine rein akademische Geschichte oder wird damit Anwendungsentwicklung betrieben? Steht nirgends. --Zivilverteidigung 23:41, 1. Sep 2005 (CEST)
- Hallo Zivilverteidigung, Ich habe versucht im Abschnitt Self heute, durch einen zusätzlichen Satz, zu verdeutlichen, das Self von Sun ganz klar als Vorschungprojekt angelegt war. D.h. man kann mit Self zwar viele Dinge machen, die man auch in Java (o .Net) machen könnte, dennoch hat die ganze Entwicklungsumgebung eher einen akademische Charakter.--DanielSHaischt 01:44, 3. Sep 2005 (CEST)
- Dann find ich den Artikel jetzt offiziell "gut" ;-) --Zivilverteidigung 11:52, 3. Sep 2005 (CEST)
- Hallo Zivilverteidigung, Ich habe versucht im Abschnitt Self heute, durch einen zusätzlichen Satz, zu verdeutlichen, das Self von Sun ganz klar als Vorschungprojekt angelegt war. D.h. man kann mit Self zwar viele Dinge machen, die man auch in Java (o .Net) machen könnte, dennoch hat die ganze Entwicklungsumgebung eher einen akademische Charakter.--DanielSHaischt 01:44, 3. Sep 2005 (CEST)
- Ein sehr schöner Artikel! Mir gefällt vor allem, dass er auch für nicht ITler gut verständlich geschieben ist. Vielleicht sollte man noch erwähnen, dass sich viele der Konzepte von Self heute in JavaScript wiederfinden, insbesondere die Vererbung als Erweiterung von Prototypen. Die treibenden Kräfte hinter Self waren übrigens David Ungar und Urs Hölzle und sollten daher evtl. auch nicht unerwähnt bleiben. Außerdem war Self die erste Sprache, für die ein Hotspot Compiler und adaptive Compilierung verwendet wurden, was damals ziemlich revolutionär war. Der seitdem viel zitierte Artikel zu dem Thema ist A 3rd generation self implementation. Ach ja, und wissen die jüngeren Leser überhaupt was eine Blaupause ist? Ich denke das könnte man in dem Kontext evtl. besser Kopiervorlage nennen. --X4u 12:38, 6. Sep 2005 (CEST)
- Hallo X4u, Ich habe versucht die diversen Tipps im Abschnitt Self Historie umzusetzen. Aus der Blaupause habe ich mal eine Wiki-Link gemacht - Ich denke es ist ganz gut wenn man diesen OO-Terminus parat hat bzw. diesen i.d. Wikipedia recherchiert. Die Herren Ungar und Hoelzle habe ich mit deren Errungenschaften nun entsprechend gewürdigt (Mea culpa!). --DanielSHaischt 18:15, 6. Sep 2005 (CEST)
- Nur noch zur Info: Urs Hölzle ist Schweizer (stammt aus Liestal, dann ETH Zürich, PhD in Stanford, Sun, heute großes Tier bei Google) und wird mit ö geschrieben (siehe hier und hier). David Ungar war bei Self der Projektleader, darum würde ich ihn zuerst nennen. Ungar galt damals als DIE Koryphäe der "echten" Garbage Collection und hat diverse wegweisende Dokumente zu dem Thema verfasst, deren Konzepte teilweise in Self realisiert wurden. Zur Geschichte und zum Einfluß von Self auf andere Projekte ist vielleicht auch das ganz interessant. Ich habe gegen Mitte der 90er aufgehört die Entwicklung bei Self zu verfolgen und kann zur jüngeren Entwicklung leider nichts beisteuern. Soweit ich weiß haben beide das Projekt schon vor einiger Zeit verlassen (haben zwischendurch (98?/99?) noch am frühen Java HotSpot Compiler mitentwicklet) und somit wahrscheinlich mit der 2004er Version nichts zu tun (entgegen dem wie es im Moment im Artikel den Anschein erweckt). --X4u 21:44, 6. Sep 2005 (CEST)
- Danke für die diversen Tipps! Habe versucht alles zu integrieren. Trotzdem, so denke ich, sollte man keine Biografie der einzelnen Personen aufführen. Immerhin geht es ja um eine Programmiersprache und erst dann um deren Erfinder ... --DanielSHaischt 22:25, 6. Sep 2005 (CEST)
- Nur noch zur Info: Urs Hölzle ist Schweizer (stammt aus Liestal, dann ETH Zürich, PhD in Stanford, Sun, heute großes Tier bei Google) und wird mit ö geschrieben (siehe hier und hier). David Ungar war bei Self der Projektleader, darum würde ich ihn zuerst nennen. Ungar galt damals als DIE Koryphäe der "echten" Garbage Collection und hat diverse wegweisende Dokumente zu dem Thema verfasst, deren Konzepte teilweise in Self realisiert wurden. Zur Geschichte und zum Einfluß von Self auf andere Projekte ist vielleicht auch das ganz interessant. Ich habe gegen Mitte der 90er aufgehört die Entwicklung bei Self zu verfolgen und kann zur jüngeren Entwicklung leider nichts beisteuern. Soweit ich weiß haben beide das Projekt schon vor einiger Zeit verlassen (haben zwischendurch (98?/99?) noch am frühen Java HotSpot Compiler mitentwicklet) und somit wahrscheinlich mit der 2004er Version nichts zu tun (entgegen dem wie es im Moment im Artikel den Anschein erweckt). --X4u 21:44, 6. Sep 2005 (CEST)
- Hallo X4u, Ich habe versucht die diversen Tipps im Abschnitt Self Historie umzusetzen. Aus der Blaupause habe ich mal eine Wiki-Link gemacht - Ich denke es ist ganz gut wenn man diesen OO-Terminus parat hat bzw. diesen i.d. Wikipedia recherchiert. Die Herren Ungar und Hoelzle habe ich mit deren Errungenschaften nun entsprechend gewürdigt (Mea culpa!). --DanielSHaischt 18:15, 6. Sep 2005 (CEST)
- Ich bin mal über diverse Typos und den Stil gegangen. Zu Ungar und Hölzle: die könnte man ja verlinken (ist halt rot), und wenn wer Lust hat, kann er die Details dort ausführen. Im Self-Artikel hat das wohl keinen Sinn. Mir ist aufgefallen, dass einiges (z.B. Smalltalk) x-mal im Artikel verlinkt wird. Ich hab' versucht, das mal auf eine sinnvolle Größe einzugrenzen. (s. WP:VL) -- Fleasoft 13:35, 12. Sep 2005 (CEST)
- Da sind noch viel zu viele Weblinks. Weit mehr als hilfreich sind und weit mehr als die empfohlenen fünf. Ziel der Weblinks ist nicht eine Linksammlung zum Thema zu erstellen, sondern für den Leser diejenigen auszuwählen, die die besten weiterführenden Informationen zu genau dem Thema und nicht zu übergeordneten oder verwandten Themen bieten. -- Schnargel 22:47, 4. Okt 2005 (CEST)
Hi! So, dann wollen wir uns mal den Artikel vorknöpfen :-) Lass' mich zuerst die Positiven Seiten erwähnen *g*: Die Teile über Problemstellung, Problemlösungsansatz und Syntax der Sprache gefallen mir so weit ganz gut. Die Einleitung sollte meiner Meinung nach aber dringend überarbeitet werden. Ich kann mich leider X4u ganz und gar nicht anschließen dass der Artikel für nicht Informatiker gut verständlich sei. Beispiele dafür wären: Das Schlüsselwort self referenziert auf die Objektinstanz des gerade aktuellen Objektes Wie meinen? referenzieren? Objektinstanz? Als Informatiker kann man sich was drunter vorstellen, aber als nicht Informatiker? Etwas weiter unten: self ist eine prototypenbasierte Programmiersprache. Was sind prototypen? Der zweite Absatz Ein Self-Objekt ist jedoch nicht die Manifestation einer Klasse... kommt mir irgendwie arg esoterisch vor. Da ist etwas die Manifestation einer Klasse und etwas anderem wird ein Lebensatem eingehaucht... Das Hauptproblem aber ist: Auch nach dem lesen des Artikels weiß ich eigentlich immer noch nicht was Self eigentlich ist. Ich bekomme ein paar Stücke Sytax, und ein paar Vergleiche, aber was genau macht die Programmiersprache aus? Was ist der Unterschied zu Java, Haskell, Fortran? Was ist das besondere an der Sprache? Wie programmiert man mit ihr (welches Programmierparadigma?) Wenn ich es richtig verstehe wird die Sprache interpretiert? (Änderungen zur Laufzeit, etc?) Falls ja: Deutlicher machen. Unter Geschichte->Erschaffer: Es ist IMHO unwichtig dass beide inzwischen Koryphäen im Copilerbau etc sind und in die Analen der IT-Historie eingingen. Thema Self Heute: Dieses Universum ist als Metapher auf die reale Welt, in der wir leben, zu verstehen und lässt Parallelen zu Platons Höhlengleichnis erkennen. Siehe Esoterischer Touch von oben. Es geht hier -- wenn ich das richtig verstanden habe -- um eine Entwicklungsumgebung, also um ein Stück Software, nicht um eine Metapher auf die reale Welt. Wenn ich es richtig sehe handelt es sich hierbei doch "nur" um eine Art Laufzeitumgebung für eine Interpretierte Sprache mit Live Debugger, oder? Die Beispiele für die Syntax gefallen mir wie gesagt recht gut, aber vielleicht könnte man noch ein paar weitere *komplette* Codestücke zeigen und erklären? Zum Beispiel die Fakultät in self, oder die Berechnung der Fibonacci Zahlen? Außerdem scheint mir das rumsenden von Signalen nach der Lektüre des Artikels recht wichtig. Aber irgendwie wird es nur hier und da mal vereinzelt aufgegriffen... Alles in allem würde ich sagen vermisse ich ein bisschen die Struktur, und vor allem die erklärung was self ist. Momentan ist der Artikel eher eine Aneinanderreihung von Sprachfeatures denn eine Erklärung über eine Programmiersprache. --Regnaron 10:57, 9. Okt 2005 (CEST)
- Hallo Schnargel, Hallo Regnaron, danke für die Tipps und die diversen Fragen. Nachfolgend einige Ausführungen:
- Zu den Vielen Links: Ich möchte nachfolgende Artikel erstellen: Je ein Artikel zu den Self-Autoren, einen Artikel zum Thema Prototype-based languages. In die neu erstellten Artikel werde ich die Links einarbeiten sodass diese insgesammt sinnvoll verteilt werden.
- Zum Satz - Das Schlüsselwort self referenziert auf die Objektinstanz des gerade aktuellen Objektes: Ich habe diesen etwas umstrukturiert. Grundsätzlich soll ausgedrückt werden, dass es sich beim Begriff Self nicht nur um den Name der Sprache hadelt, sondern das self (klein geschrieben) auch als Schlüsselwort innerhalb der Sprache benutzt wird. Regnaron, wie würdest du den Sachverhalt ausdrücken?
- Zum Thema Prototypen: Das war glaube ich mal ursprünglich auf Prototyping (Softwareentwicklung) verlinkt. Habe ich jetzt mal wieder rein genommen bis ich den Artikel zum Thema Prototype-based languages geschrieben habe. Den Sachverhalt Was sind Prototypen bzw. Was ist eine Prototypenbasierte Sprache möchte ich eigentlich nicht in diesem Artikel erläutern.
- Zum Thema (zu) esoterisch: Ich habe versucht, durch die diversen Allegorien manche Sachverhalte bildlicher darzustellen (vielleicht in der Hoffnung den Oma Test zu bestehen ...). Die Sprache selbst ist aber genauso mächtig/komplex etc. wie Java, C/C++ etc. und keineswegs esoterisch.
- Zum Thema Programmierparadigma: Zitat: ... ist eine objektorientierte, dynamisch typisierte Programmiersprache. Reicht das nicht (-> OOP)?
- Zum Thema Autoren: Infos zu den Autoren werden in gesonderte Lemmas ausgelagert.
- Zum Thema Beispiele: Ich habe je ein Beispiel zu Hello-World/Fakultät/Fibonacci Folge eingefügt. Diese sind noch auskommentiert, da ich noch testen möchte ob sie auch 100%ig richtig sind.
- Zum Verständnisproblem: Regnaron, kannst du um dein Problem besser zu verstehen sagen, ob du die den Smalltalk Artikel durchgelesen hast? Hast du diesen verstanden bzw. kennst du dich bereits mit Smalltalk aus? Ich frage dies, da der Self-Artikel in gewisser Weise auf einem Smalltalk-Verständnis aufbaut und im Self-Artikel natürlich möglichst nicht nochmals die Smalltalk Details erläutert werden sollten. Vielleicht können sich ja noch andere Wikipedia Leser/Nutzer zum Problem des Verständnis äussern ...
- Zum Plato Geraffel: Dies war ein Versuch über den Tellerrand zu schauen. Ich versuche die Stelle noch zu verbessern. Aktuell versteht man es wohl nur wenn man schon mit der Self Programmierumgebung, der Squeak Umgebung oder der OpenCroquet Umgebung gearbeitet hat.
Gruss, --DanielSHaischt 01:07, 11. Okt 2005 (CEST)
- Hi! Sorry dass ich so spät antworte, aber irgendwie hat es scheinbar nicht wirklich was genutzt dass ich die Review Seite abonniert hatte *g*
- Zum Wort self: Wie wäre es mit: "self bezeichnet nicht nur den Namen der Programmiersprache, sondern ist in der Sprache selbst auch ein Schlüsselwort, welches benutzt wird um auf die aktuelle Instanz -- hm... des Objektes auf dem es aufgerufen wird (nur das ganze in schönem Deutsch *g*) zuzugreifen". Aber warum willst du überhaupt extra betonen dass es neben dem Namen auch noch ein Schlüsselwort ist? Fällt für mich eher unter "Spaß der Entwickler beim schreiben der Sprache". Ob ich das Teil nun this nenne oder self ist doch eigentlich recht egal, oder? Aber referenzieren könnte man vielleicht irgendwie mit "draufzeigen" oder so umschreiben, und eine Objektinstanz... Puh, vielleicht instanz eines Objektes. Ändert zwar nicht viel, aber sowohl instanz als auch objekt kennt die Oma. Objektinstanz ist vielleicht wieder was anderes...
- Thema Prototypen: Ok, wenns verlinkt wird bin ich zufrieden ;-)
- Thema Programmierparadigma: Hm, ok, es steht drin, aber ist halt nur ein kleiner Satz den man schnell mal überlesen kann.
- Thema esoterisch: Es ging mir nicht darum der Sprache die Mächtigkeit abzusprechen, sondern rein um die Formulierung des Textes. Dort haben mich halt zum Beispiel gestört dass du eine Entwicklungsumgebung mit Platons Höhlenbildnis in Verbindung bringst. Eine Entwicklungsumgebung ist IMHO ein (mehr oder weniger) einfaches Stück Software die man benutzt um Programme zu schreiben. Nicht mehr und nicht weniger.
- Zum Thema Verständnisproblem: Nein, ich gestehe dass ich den Artikel zu Smalltalk weder gelesen habe, noch jemals in Smalltalk programmiert habe, und mich daher richtig schön als Oma ausgeben konnte. Aber kann mir gerne mal den Smalltalk Artikel durchlesen und gucken wie gut ich den auf Anhieb verstehe. (was eben auch in gewisser Weise die Anforderung an deinen Artikel damals war) Regnaron 19:54, 23. Okt 2005 (CEST)
Nachdem im Artikel seit ca einem Monat außer Typos nichts mehr gemacht wurde, und der Letzte Diskussionsbeitrag hier auch schon ca drei Wochen alt ist, wollte ich mal fragen ob irgendwer den Artikel noch hier drinlassen will. (sonst würde ich ihn morgen mal hier entfernen) Regnaron 18:41, 12 November 2005 (CET)
Lesenswert-Kandidatur (gescheitert)
Self [sɛlf] (engl.: Selbst, die eigenene Person betreffend) ist eine objektorientierte, dynamisch typisierte Programmiersprache. Zugleich verweist das Schlüsselwort self – oder aber wie bei Java das Schlüsselwort this – bei klassenbasierten Programmiersprachen, auf das Exemplar einer Klasse.
- pro - nachdem der Artikel Ajax mittlerweile erfolgreich in die Lesenswerten eingezogen ist, nominiere ich mal einen weiteren Artikel desselben Autors. Ich halte ihn für weitestgehend laienkompatibel und vollständig, da ich allerdings zugleich auch einer dieser Laien bin, kann ich für echte Vollständig- und Richtigkeit natürlich nicht garantieren - für mich also überzeugend. -- Achim Raschka 21:31, 10. Mai 2006 (CEST)
- contra - streckenweise unenzyklopädische Sprache („Richtet man seinen Blick auf neuere Sprachen wie beispielsweise ...“) und generell schätze ich die Verständlichkeit als nicht ausreichend ein. Vielleicht hat Achims Oma mehr Ahnung von objektorientierter Programmierung als meine, ich habe jedenfalls Probleme in diesem Artikel die Spezifika von Self gegenüber den allgemeinen Eigenschaften einer prototypenbasierten Programiersprache zu erkennen. Der gesetzte Link auf Prototyping (Softwareentwicklung) hilft dabei gar nicht, denn dort steht etwas völlig anderes. Außerdem setzt der Artikel an vielen Stellen Dinge voraus, die meine Oma nicht weiss: „Self-Objekte sind eine Ansammlung von ‚Slots‘. Slots sind mit C# Properties oder den Java Getter/Setter-Methoden vergleichbar. Ein Slot liefert folglich einen Wert oder setzt diesen, insofern dieser mit einem zusätzlich Doppelpunkt versehen ist.“ Links helfen bei diesen Sätzen nicht weiter, weil keine gesetzt sind. Vielleicht wäre es sinnvoll, Slots erstmal allgemein mit Variablen zu vergleichen und dann die Unterschiede herauszuarbeiten. Meiner Ansicht nach ist dieser Artikel derzeit nur verständlich für Software-Entwickler, die Erfahrung mit objektorientierter Programmierung und den dazugehörenden theoretischen Hintergrund haben. Wir schreiben hier aber nicht nur für Informatik-Studenten. --h-stt !? 12:26, 11. Mai 2006 (CEST)
- Die Anteile, an denen ich aussteige (meine Oma würde diesen Artikel ja nicht lesen) fasse ich unter dem einleitenden Fachchinesisch wird toleriert, wenn es die Darstellung des Themas erfordert, auch wenn dies die Verständlichkeit für Laien erschwert. Geschwurbel und Gefasel, das sich als Fachsprache ausgibt, wird nicht toleriert. - für einen lesenswerten Artikel habe ich nciht den Anspruch, alles zu verstehen - das kommt bei Exzellenz. Gruß -- Achim Raschka 12:39, 11. Mai 2006 (CEST)
- Die Kritik an den Slots ist nicht gerechtfertigt. Slots werden zu Beginn mit Bezug auf eine Schublade erklärt. Die Details (C#-/Java -Getter/-Setter) kommen sehr viel später. Omas sollten verstehen, dass man in eine Schublade etwas hinein legen kann (FooBar.set('foo')) und etwas herausnehmen kann (FooBar.get('foo')). Was ist daran so schwierig. Da Slots (Steckfächer, Schlitze, Schubladen, Ablagefächer) diese Eigenschaften besitzen, sind sie mehr als eine Variable (Schreib- Lesezugriff plus Variable als Speicherplatz). Da dies einer meiner ersten Artikel war, gebe ich jedoch zu, dass ich ihn überarbeiten sollte (Sprache, Kompläxität und Aufbau). Trotzdem halte ich nichts von pauschalisierender und undifferenzierter Kritik. Gruss, -- DanielSHaischt 01:27, 18. Jun 2006 (CEST)
Toter Weblink
Bei mehreren automatisierten Botläufen wurde der folgende Weblink als nicht verfügbar erkannt. Bitte überprüfe, ob der Link tatsächlich down ist, und korrigiere oder entferne ihn in diesem Fall!
- http://www.cs.ucsb.edu/labs/oocsb/self/papers/papers.html
- In Self (Programmiersprache) on Thu Nov 9 13:07:28 2006, 404 Not Found
- In Self (Programmiersprache) on Mon Nov 27 14:59:42 2006, 404 Not Found
--Zwobot 15:00, 27. Nov. 2006 (CET)
- Bestätigung. Wurde von mir gelöscht.
- Ebenso:
- - http://www.smalltalk.org.br/movies/
- - http://www.dekorte.com/docs/protos/ Ein Vergleich der diversen prototypischen Programmiersprachen
- Der Verweis: http://strongtalk.org/history.html funktioniert, gehört aber nicht hierher. => wird gelöscht.
- Was ist mit diesen Verweisen:
- - http://groups.yahoo.com/group/self-interest/ – Yahoo! Gruppe über Self ?
- - http://www.merlintec.com/lsi/ – Merlin Projektseite
- - http://selfguru.sourceforge.net/ – Refactoring Anwendung für Self
- - http://www.forcix.cx/software/prometheus.html – Prometheus Object System
- Sind die wirklich relevant? Ich denke: nein. Daher: sollten entfernt werden.
Der ÜberArbeiter 10:50, 12. Mai 2008 (CEST)
"nach ... Smalltalk übernommen"
Schöner Artikel, wenn auch ein wenig zu begeistert. Allerdings steht da "das Konzept des (Programmier-)Universums als auch das Morphic-Konzept wurde nahezu identisch im Squeak Smalltalk-System umgesetzt.". Ich kenn Self und Squeak zwar kaum, aber der Kram mit dem "Universum" ist m.E. eine originäre Smalltalk-Idee (dort "Image" genannt). Wenn das aus Smalltalk übernommen, in Self fortentwickelt wurde und in Squeak zurückfloß, so ist der zitierte Satz mißverständlich. --Walter Koch 22:07, 18. Dez. 2008 (CET)
"Siehe auch" vs. "Web-Links"
Die nach außen führenden Links in der Rubrik "Siehe auch"... sollten die nicht eher bei Weblinks genannt werden? "Siehe auch" zeigt doch normalerweise wiki-intern auf vorhandene relevante Artikel, dachte ich. --Jabo 09:25, 5. Apr. 2011 (CEST)
eigenständige Entität
Der Abschnitt ist nicht wirklich korrekt, vermittelt IMHO ein falsches Bild. Es ist richtig, dass Programme in Self keine eigenständige Entität darstellen *müssen*. Sie können es aber schon. So ist es auch laut Handbuch möglich ein "Self-Programm" in einer Pipe - wie bei dir|sort in einer Kommandozeile - zu benutzen. Self kann wie Perl oder Python genutzt werden. Die GUI kann leicht entfernt werden.
Self "Programme" werden auch nicht zwingend in Images ausgeliefert. Es gibt den sogenannten Transporter, der differenzielle Änderungen auf Textbasis an der Self-Welt (und mehr) erlaubt.
Doch Snapshots sind ganz sicher nicht umständlich zu benutzen. Ich kann das System "mittem im Text" runterfahren, das Image kopieren und im Büro da weitermachen, wo ich aufhörte. Und groß sind sie auch nur dann, wenn die Applikation die gesamte Entwicklungsumgebung, die GUI und x nicht genutzter Dinge umfasst. Demo.snap ist ca. 13 MB. Ein youtube-Video ist meist größer.
Es wäre besser "inkrementelle Systeme" zu erklären statt die Möglichkeiten und Optionen als festgemauert in der Erden darzustellen. Das wäre, als würde man Windows seine Programme vorwerfen.
Self ist sicher nicht perfekt. Doch kommt der Artikel nicht einmal in die entfernt an mögliche Schwächen. Das soll er (der Artikel) vielleicht auch gar nicht. Also streicht die missverständlichen Andeutungen oder belegt die Aussagen.
Sorry für die Kritik. Sie soll nicht vernichten und ich kann es leider nicht besser. Im Grunde freue ich mich über den Artikel. -- (jb) 91.57.176.39 14:54, 18. Jan. 2012 (CET)
Änderungen
Da keine Antwort auf meine Äußerung hier kam habe ich den Artikel unter Entwicklungsumgebung geändert. Ich habe versucht mich an den Stil zu halten, empfinde den aber nicht wirklich "perfekt", durch meine Änderungen als zu "detailreich". Das finde ich aber besser, als falsch. Belege muss ich nachliefern. Beispiel: wer von den Entwicklern behauptet wo, "Self sei Smalltalk" -- (jb) 80.138.32.189 18:42, 30. Mai 2012 (CEST)
Defekte Weblinks
Die folgenden Weblinks wurden von einem Bot („GiftBot“) als nicht erreichbar erkannt. |
---|
|
- http://research.sun.com/self/papers/papers.html
- Vielleicht ist eine archivierte Version geeignet: archive.org
- Netzwerk-Fehler (6) andere Artikel, gleiche Domain
- http://research.sun.com/self/release_4.0/release.html
- Vielleicht ist eine archivierte Version geeignet: archive.org
- Netzwerk-Fehler (6) andere Artikel, gleiche Domain
- http://research.sun.com/self/
- Vielleicht ist eine archivierte Version geeignet: archive.org
- Netzwerk-Fehler (6) andere Artikel, gleiche Domain
- http://research.sun.com/self/teaching.html
- Vielleicht ist eine archivierte Version geeignet: archive.org
- Netzwerk-Fehler (6) andere Artikel, gleiche Domain
- http://research.sun.com/people/randy/
- Vielleicht ist eine archivierte Version geeignet: archive.org
- Netzwerk-Fehler (6) andere Artikel, gleiche Domain
- http://research.sun.com/self/release_4.3/release.html
- Vielleicht ist eine archivierte Version geeignet: archive.org
- Netzwerk-Fehler (6) andere Artikel, gleiche Domain
- http://research.sun.com/self/language.html
- Vielleicht ist eine archivierte Version geeignet: archive.org
- Netzwerk-Fehler (6) andere Artikel, gleiche Domain
- http://research.sun.com/self/release_4.1/release.html
- Vielleicht ist eine archivierte Version geeignet: archive.org
- Netzwerk-Fehler (6) andere Artikel, gleiche Domain
– GiftBot (Diskussion) 20:54, 21. Dez. 2015 (CET)