heutzutage noch sinnvoll Smalltalk zu erlernen?



  • ]

    Gregor schrieb:

    @ruediger: Sicher ist es immer gut, den Horizont zu erweitern. Aber wenn diese Horizonterweiterung immer nur in "ich lerne eine neue Programmiersprache" ausartet, dann ist diese Horizonterweiterung auch nicht besonders groß. Kenntnisse über Programmiersprachen stellen keine "harten" Fähigkeiten dar. Die kommen und gehen. Warum nicht etwas lernen, von dem man auf Dauer mehr hat?

    Ich sehe das leider genau andersherum. Ich halte die Kenntnisse von Frameworks, IDEs, Tools, Libraries, etc. fuer "weiche" Faehigkeiten. Mit eben genannten Dingen vertraut zu werden stellt konzeptionell nichts anspruchsvolles dar und kommt fast einem sturen Auswendiglernen gleich.

    Lernt man dagegen verschiedene Programmierparadigmen anhand verschiedener Programmiersprachen, so ist der nachhaltige Wert doch viel groesser, da sich eben die Paradigmen viel langsamer veraendern als IDEs und Frameworks.



  • Doktor Prokt schrieb:

    ]
    Ich sehe das leider genau andersherum. Ich halte die Kenntnisse von Frameworks, IDEs, Tools, Libraries, etc. fuer "weiche" Faehigkeiten. Mit eben genannten Dingen vertraut zu werden stellt konzeptionell nichts anspruchsvolles dar und kommt fast einem sturen Auswendiglernen gleich.

    Oh, soetwas meinte ich nicht. IDEs, genau wie Programmiersprachen, würde ich zu einem "Werkzeugbereich" zählen. Ich würde diesbezüglich dann eher etwas aus dem Anwendungsbereich lernen. Es mag ja sein, dass man mit einem größeren Überblick über Programmiersprachen bessere Programme schreiben kann. Aber gute Programme kann man erst dann schreiben, wenn man auch entsprechendes Wissen über den Anwendungsbereich hat. ...bzw. aus so Zwischenbereichen, die einem ein systematischeres Herangehen an den Anwendungsbereich ermöglichen.

    Abgesehen davon: Jeder hier kann sich mal eine Liste an Programmiersprachen machen, die er danach sortiert, welche er eher lernen würde. ...IMHO kommt Smalltalk auf so einer Liste vielleicht irgendwo auf Platz 10-15. Nicht vorher. Und an diesen Plätzen hat man schon einen sehr großen Horizont, was die Programmierung betrifft. die Horizonterweiterung von Smalltalk ist da sehr beschränkt.



  • rüdiger schrieb:

    @frage
    http://directory.fsf.org/smalltalk.html
    http://de.wikipedia.org/wiki/StepTalk

    bin ich zu doof dafür? ich find da bei beiden keine binaries für windows 😕 😕



  • Gregor schrieb:

    Mr. N schrieb:

    Wenn man eine Programmiersprache lernt, lernt man mehr als die konkrete Sprache. Außer man macht den Fehler, lauter verwandte Sprachen zu lernen. Und das, was man dann über die konkrete Sprache hinaus lernt, das ist etwas, von dem man auf Dauer etwas hat.

    Welche Sprachen würdest Du als verwandt zu Smalltalk ansehen?

    Objective-C und Ruby wären verwandt. Python wäre auch noch verwandt genug.



  • Mr. N schrieb:

    Gregor schrieb:

    Mr. N schrieb:

    Wenn man eine Programmiersprache lernt, lernt man mehr als die konkrete Sprache. Außer man macht den Fehler, lauter verwandte Sprachen zu lernen. Und das, was man dann über die konkrete Sprache hinaus lernt, das ist etwas, von dem man auf Dauer etwas hat.

    Welche Sprachen würdest Du als verwandt zu Smalltalk ansehen?

    Objective-C und Ruby wären verwandt. Python wäre auch noch verwandt genug.

    Ok, da Du nicht lauter verwandte Sprachen lernen willst, würdest Du Dich diesbezüglich wohl für eine dieser 4 Sprachen entscheiden. ...maximal 2. Welche wären das? IMHO wären Python und Ruby vorne.



  • Gregor schrieb:

    Mr. N schrieb:

    Wenn man eine Programmiersprache lernt, lernt man mehr als die konkrete Sprache. Außer man macht den Fehler, lauter verwandte Sprachen zu lernen. Und das, was man dann über die konkrete Sprache hinaus lernt, das ist etwas, von dem man auf Dauer etwas hat.

    Welche Sprachen würdest Du als verwandt zu Smalltalk ansehen?

    java 😕 😕



  • Gregor schrieb:

    Mr. N schrieb:

    Objective-C und Ruby wären verwandt. Python wäre auch noch verwandt genug.

    Ok, da Du nicht lauter verwandte Sprachen lernen willst, würdest Du Dich diesbezüglich wohl für eine dieser 4 Sprachen entscheiden. ...maximal 2. Welche wären das? IMHO wären Python und Ruby vorne.

    Ehrlich gesagt finde ich die alle nicht soo spannend. Aber das ist meine ganz persönliche Meinung.



  • Gregor schrieb:

    IMHO wären Python und Ruby vorne.

    Python und Ruby sind sich aber sehr sehr ähnlich. Das hätte keinen Mehrwert. Aber du wählst die Sprachen wohl wirklich nach Hypes? :p

    @ruediger: Sicher ist es immer gut, den Horizont zu erweitern. Aber wenn diese Horizonterweiterung immer nur in "ich lerne eine neue Programmiersprache" ausartet, dann ist diese Horizonterweiterung auch nicht besonders groß. Kenntnisse über Programmiersprachen stellen keine "harten" Fähigkeiten dar. Die kommen und gehen. Warum nicht etwas lernen, von dem man auf Dauer mehr hat?

    Die Konkrete Kenntnis der Syntax-Elemente und Library kommt und geht (bzw. ist vielleicht nicht mehr so präsent, lässt sich aber schnell wieder auffrischen). Aber das höhere, als die Paradigmen und Methodik (=> Denkweise), die bleibt hängen. Das ist ja auch das wichtige.



  • rüdiger schrieb:

    Gregor schrieb:

    IMHO wären Python und Ruby vorne.

    Python und Ruby sind sich aber sehr sehr ähnlich. Das hätte keinen Mehrwert. Aber du wählst die Sprachen wohl wirklich nach Hypes? :p

    Es geht insgesamt darum, dass alle diese 4 Sprachen zu ähnlich sind bzw. zu wenig neues gegenüber den anderen bringen, um sie alle zu lernen. 😉



  • rüdiger schrieb:

    Die Konkrete Kenntnis der Syntax-Elemente und Library kommt und geht (bzw. ist vielleicht nicht mehr so präsent, lässt sich aber schnell wieder auffrischen). Aber das höhere, als die Paradigmen und Methodik (=> Denkweise), die bleibt hängen. Das ist ja auch das wichtige.

    Eben: Das objektorientierte Paradigma kennen hier die meisten schon aus diversen anderen Sprachen. Warum also Smalltalk lernen? Das "mehr", was da hängen bleibt, ist dann doch relativ gering. Und wenn man die Objektorientierung noch nicht aus anderen Sprachen kennt: Würdest Du Smalltalk lernen, bevor Du Dir eine Sprache wie C++ aneignest (oder meinetwegen Java oder C#)?



  • Gregor schrieb:

    rüdiger schrieb:

    Gregor schrieb:

    IMHO wären Python und Ruby vorne.

    Python und Ruby sind sich aber sehr sehr ähnlich. Das hätte keinen Mehrwert. Aber du wählst die Sprachen wohl wirklich nach Hypes? :p

    Es geht insgesamt darum, dass alle diese 4 Sprachen zu ähnlich sind bzw. zu wenig neues gegenüber den anderen bringen, um sie alle zu lernen. 😉

    Objective-C würde jemandem der nur Python kennt sicher einiges neues mit geben. Ruby dagegen nicht. Wie es mit Smalltalk aussieht weiß ich nicht, da ich es nicht kenne.

    Eben: Das objektorientierte Paradigma kennen hier die meisten schon aus diversen anderen Sprachen. Warum also Smalltalk lernen? Das "mehr", was da hängen bleibt, ist dann doch relativ gering.

    Dafür kenne ich Smalltalk zu wenig um das beurteilen zu können. Aber eine neue Sprache zu lernen lohnt sich fast immer. Selbst wenn es nur zur Gewohnheit ist mit anderer Syntax klar zu kommen (denn auch neue Sprachen lernen muss gelernt sein).

    Würdest Du Smalltalk lernen, bevor Du Dir eine Sprache wie C++ aneignest (oder meinetwegen Java oder C#)?

    Ich hab's nicht gelernt 🙂



  • @ruediger: Das ist doch eine Frage der Prioritäten. Wenn man 10 Sprachen beherrscht und darunter 3-4 Sprachen sind, die die Objektorientierte Programmierung unterstützen. Wieviel bringt es da noch, eine weitere OO-Sprache zu lernen, die vielleicht eine etwas "reinere" Objektorientierung realisiert, als es in Deinen 3-4 anderen Sprachen der Fall ist. Sollte man diese Sprache dann wirklich noch lernen, um damit seinen Horizont zu erweitern? IMHO sollte man dann an einem Punkt angelangt sein, an dem man sich sagt "Ich lerne diese Sprache, wenn ich sie für ein Projakt brauche. Zur Horizonterweiterung lerne ich jetzt erstmal andere Dinge".

    Das ist meine Sichtweise. Und Smalltalk würde ich nicht bei den ersten 10 Sprachen einordnen, die man vielleicht noch aus Gründen der Horizonterweiterung lernt.

    PS: Ich stelle auch fest, dass hier keiner, der das Erlernen von Smalltalk anregt, selbst schon Smalltalk gelernt hat (zumindest hat das keiner gesagt). Insofern scheinen die Prioritäten bezüglich dem, was man "zuerst" lernen sollte, gar nicht so weit auseinanderzugehen.



  • Gregor schrieb:

    @ruediger: Das ist doch eine Frage der Prioritäten. Wenn man 10 Sprachen beherrscht und darunter 3-4 Sprachen sind, die die Objektorientierte Programmierung unterstützen. Wieviel bringt es da noch, eine weitere OO-Sprache zu lernen, die vielleicht eine etwas "reinere" Objektorientierung realisiert, als es in Deinen 3-4 anderen Sprachen der Fall ist. Sollte man diese Sprache dann wirklich noch lernen, um damit seinen Horizont zu erweitern? IMHO sollte man dann an einem Punkt angelangt sein, an dem man sich sagt "Ich lerne diese Sprache, wenn ich sie für ein Projakt brauche. Zur Horizonterweiterung lerne ich jetzt erstmal andere Dinge".

    Klar. Man sollte natürlich auch möglichst viele unterschiedliche Paradigmen und Methoden sich anschauen. Aber es ging ja auch konkret nur um Smalltalk. Da bringt es wenig, wenn ich eine Liste von Sprachen hinknalle. Mir ging es nur drum, den OP dabei zu bestärken etwas neues zu lernen. Selbst wenn man nur zwei ziemlich ähnliche Sprachen lernt, bringt das imho mehr, als nur eine zu können 🙂



  • rüdiger schrieb:

    Mir ging es nur drum, den OP dabei zu bestärken etwas neues zu lernen. Selbst wenn man nur zwei ziemlich ähnliche Sprachen lernt, bringt das imho mehr, als nur eine zu können 🙂

    Ok, da hast Du natürlich Recht. Bevor man gar nichts macht, ist es natürlich besser, seine Zeit damit zu verbringen, Smalltalk zu lernen. 😉



  • Gregor schrieb:

    rüdiger schrieb:

    Mir ging es nur drum, den OP dabei zu bestärken etwas neues zu lernen. Selbst wenn man nur zwei ziemlich ähnliche Sprachen lernt, bringt das imho mehr, als nur eine zu können 🙂

    Ok, da hast Du natürlich Recht. Bevor man gar nichts macht, ist es natürlich besser, seine Zeit damit zu verbringen, Smalltalk zu lernen. 😉

    Du kennst ja auch den Hintergrund des OPs zu wenig, um die Entscheidung kritisieren zu können :p (Vielleicht ist er ja ein Haskell Programmierer, der sich mal mit OO befassen will oder so ;))



  • rüdiger schrieb:

    Du kennst ja auch den Hintergrund des OPs zu wenig, um die Entscheidung kritisieren zu können :p (Vielleicht ist er ja ein Haskell Programmierer, der sich mal mit OO befassen will oder so ;))

    Ja, das stimmt. 🤡 Ich fasse zusammen: Da der Threadersteller seine Frage unterspezifiziert hat, ist es unmöglich, eine eindeutige, sinnvolle Antwort zu geben. Man kann beide Antwortmöglichkeiten rechtfertigen. 😃



  • Hallo

    Gregor schrieb:

    Und was lese ich da von "historischen Aspekte von Programmiersprachen und -Konzepten"? Hä? Etwas irrelevanteres gibt es wohl überhaupt nicht.

    Historische Aspekte von Programmiersprachen und -Konzepten sind nicht irrelevant. Ebensowenig wie Geschichtsforschung und Latein es in gewissem Sinne sind.

    Im Gegenteil: Wären Konzepte wie die von Smalltalk nicht (fast) in Vergessenheit geraten, wäre man nicht gezwungen, einige davon neu zu erfinden (Java, Ruby).
    Um das würdigen zu können, muß man sich aber erst einmal mit Smalltalk beschäftigen.

    PS. Programmiersprachen sind nicht nur Werkzeuge, sondern Meta-Werkzeuge: Werkzeuge, um Werkzeuge (Programme) zu beschreiben und daraus zu formen.

    Viele Grüße



  • kleine Bemerkung schrieb:

    Historische Aspekte von Programmiersprachen und -Konzepten sind nicht irrelevant. Ebensowenig wie Geschichtsforschung und Latein es in gewissem Sinne sind.

    Im Gegenteil: Wären Konzepte wie die von Smalltalk nicht (fast) in Vergessenheit geraten, wäre man nicht gezwungen, einige davon neu zu erfinden (Java, Ruby).
    Um das würdigen zu können, muß man sich aber erst einmal mit Smalltalk beschäftigen.

    Unterstellst Du dem Threadersteller hier als Motivation, dass er auf Dauer eine eigene Programmiersprache erfinden möchte? 😉 Also er hat ja nichts zu seiner Motivation gesagt, so dass man da eine ganze Menge annehmen kann, aber diese Motivation halte ich wirklich für relativ weit hergeholt. 🤡



  • Hallo Gregor

    einigen wir uns doch darauf: Historische Untersuchungen an Programmiersprachen sind für die alltägliche Programmier- und Entwurfspraxis nahezu irrelevant, aber für theoretische Fragen und den Entwurf neuer Sprachen gelegentlich aufschlußreich.

    In Ordnung? 🙂

    Grüße



  • kleine Bemerkung schrieb:

    einigen wir uns doch darauf: Historische Untersuchungen an Programmiersprachen sind für die alltägliche Programmier- und Entwurfspraxis nahezu irrelevant, aber für theoretische Fragen und den Entwurf neuer Sprachen gelegentlich aufschlußreich.

    In Ordnung? 🙂

    Ja: Wenn man selbst eine neue Programmiersprache entwickeln möchte, dann braucht man natürlich viel mehr Überblick über das, was es so gibt. In diesem Zusammenhang ist es dann natürlich auch interessant, zu wissen, warum welche Sprachelemente mit der Zeit aus Sprachen verschwunden sind, warum sich bestimmte Sprachelemente durchsetzen usw..


Anmelden zum Antworten