Smalltalk Links

30 views
Skip to first unread message

Norbert Hartl

unread,
Jan 11, 2012, 6:55:46 AM1/11/12
to cg...@googlegroups.com
Mir hat es gestern abend wirklich riesigen Spass gemacht. Ich hätte nicht gedacht, dass soviel Interesse besteht und soviele tolle Fragen aufkommen werden. Mir ist zwar eingefallen, dass ich zwei entscheidende Sachen gar nicht gezeigt habe, die beim arbeiten sehr toll sind. Naja, so ist es eben.

Hier noch ein paar Links für Interessierte:

pharo 

Das ist die Smalltalk Implementation, die ich gestern gezeigt habe. 

pharo by example 

Ein frei zugängliches Buch/Tutorial, mit dem sich pharo/smalltalk beibringen kann. Das Buch und das dazugehörige image ist etwas älter, aber zum lernen kein Problem. Eine neue Version ist gerade in Arbeit.

seaside 

Das Web-Framework, das ich vorgeführt habe

Dynamic Web Development with seaside 

Ein kollaborativ geschriebenes Buch zum Erlernen von seaside. 

jquery/jquery-ui für seaside 

Die Integration von jquery und jquery-ui in das seaside Web-Framework

gemstone 

Das ist das Smalltalk, das ich beruflich viel benutze. Ich hab das gestern erwähnt, dass es gleichzeitig eine Objekt-orientierte Datenbank ist. Die Firma wurde letztes Jahr von springsource/vmware gekauft (http://www.vmware.com/company/news/releases/spring-gemstone.html)

MagLev 

Die Version von GemStone, auf der ruby nativ läuft ohne Veränderung.  

Thomas Koch

unread,
Jan 12, 2012, 3:47:54 PM1/12/12
to cg...@googlegroups.com
Danke für die Infos und Deinen Vortrag, Norbert. Das war wirklich sehr interessant!

Hab mich dazu auch noch kurz umgesehen und bin neben etlichen "Dialekten" (GNU Smalltalk, Squeak...) noch über einen Vergleich von Smalltalk mit Python und Ruby gestossen - und eine These warum die beiden letzteren Sprachen im Tiobe Index vor Smalltalk gelandet sind:

By providing procedural training wheels, Python and Ruby meant to ‘fix’ one of the features that may have kept Smalltalk out of the mainstream.

Bei der Gelegenheit: die  "over the tellerrand"-Idee sollten wir fortsetzen - würde z.B. gerne auch mal was über Ruby erfahren...

Grüße,
Thomas
--

Norbert Hartl

unread,
Jan 12, 2012, 4:54:42 PM1/12/12
to cg...@googlegroups.com
Am 12.01.2012 um 21:47 schrieb Thomas Koch:

Danke für die Infos und Deinen Vortrag, Norbert. Das war wirklich sehr interessant!

Hab mich dazu auch noch kurz umgesehen und bin neben etlichen "Dialekten" (GNU Smalltalk, Squeak...) noch über einen Vergleich von Smalltalk mit Python und Ruby gestossen - und eine These warum die beiden letzteren Sprachen im Tiobe Index vor Smalltalk gelandet sind:

By providing procedural training wheels, Python and Ruby meant to ‘fix’ one of the features that may have kept Smalltalk out of the mainstream.

Danke für den Link. In einer kleinen Community wie unserer (smalltalk), kommt das dauernd auf: Die Sache mit dem Erfolg. Es ist schwer zu definieren, was Erfolg ist. Ich denke, im realen Leben stehen die meisten Leute darauf, nicht zum mainstream zu gehören. Beim programmieren soll es dann auf einmal was Gutes sein? 
Es ist besser, wenn man sich selbst sich eine Meinung bildet und sich nicht vom mainstream oder von sog. Studien/Auswertungen leiten lässt. Die neueren Programmiersprachen übernehmen immer mehr Anleihen von Smalltalk und Lisp, machen vieles aber eher schlechter als besser. Ich würde in dem Moment wechseln, wenn ich denken würde, es würde was besseres geben :)

Hier noch ein Gegenlink:


Norbert

Thomas Koch

unread,
Jan 15, 2012, 11:25:22 AM1/15/12
to cg...@googlegroups.com
> Danke für den Link. In einer kleinen Community wie unserer (smalltalk), kommt das dauernd auf: Die Sache mit dem Erfolg. Es ist schwer zu definieren, was Erfolg ist. Ich denke, im realen Leben stehen die meisten Leute darauf, nicht zum mainstream zu gehören. Beim programmieren soll es dann auf einmal was Gutes sein?

Das war auch nicht wertend gemeint - ein Produkt gilt aber nunmal allgemein als erfolgreich, wenn es von einer großen Menge an Konsumenten angenommen wird (etwa gekauft oder verwendet - oftmals eben "die breite Masse"). Dass ein erfolgreiches Produkt auch nicht immer das beste ist, ist ja auch nichts Neues - s. Windows oder VHS vs. Betamax ,-)
(oder Musikcharts, DSDS etc.)

Umso interessanter finde ich es dann, darüber nachzudenken, warum sich offensichtlich durchdachte Software (wie Smalltalk) nicht so durchsetzt wie etwa simple Ansätze wie (Visual) Basic oder PHP. Kann am "Marketing" liegen (also der Community...) oder der Komplexität (Einstiegsbarriere zu hoch - davon sprachst Du ja auch) oder einfach zur falschen Zeit am falschen Ort gewesen (vermutlich 20 Jahre zu früh am Markt ,-)

Die Tatsache, dass sich seit Fortran in den letzten 60 Jahren noch nicht *die* Programmiersprache herausgestellt hat (und es ständig noch neue gibt), zeigt aber auch, dass es wohl keine einfach Antwort gibt bzw. vermutlich jede Zeit ihre Sprache hat - der Programmierer geht ja auch gerne mit der "Mode" ...

Grüße,
Thomas

Norbert Hartl

unread,
Jan 16, 2012, 3:49:00 AM1/16/12
to cg...@googlegroups.com

Am 15.01.2012 um 17:25 schrieb Thomas Koch:

>> Danke für den Link. In einer kleinen Community wie unserer (smalltalk), kommt das dauernd auf: Die Sache mit dem Erfolg. Es ist schwer zu definieren, was Erfolg ist. Ich denke, im realen Leben stehen die meisten Leute darauf, nicht zum mainstream zu gehören. Beim programmieren soll es dann auf einmal was Gutes sein?
>
> Das war auch nicht wertend gemeint - ein Produkt gilt aber nunmal allgemein als erfolgreich, wenn es von einer großen Menge an Konsumenten angenommen wird (etwa gekauft oder verwendet - oftmals eben "die breite Masse"). Dass ein erfolgreiches Produkt auch nicht immer das beste ist, ist ja auch nichts Neues - s. Windows oder VHS vs. Betamax ,-)
> (oder Musikcharts, DSDS etc.)
>

Ich habs nicht wertend aufgefasst. Aber kritische Nachfragen per Text klingen gerne mal so, als ob man beleidigt ist :)



> Umso interessanter finde ich es dann, darüber nachzudenken, warum sich offensichtlich durchdachte Software (wie Smalltalk) nicht so durchsetzt wie etwa simple Ansätze wie (Visual) Basic oder PHP. Kann am "Marketing" liegen (also der Community...) oder der Komplexität (Einstiegsbarriere zu hoch - davon sprachst Du ja auch) oder einfach zur falschen Zeit am falschen Ort gewesen (vermutlich 20 Jahre zu früh am Markt ,-)

Das ist eine sehr interessante Diskussion, aber hier auf der ML schlecht zu diskutieren. Da ich keine C-ähnliche Sprache mehr mache und auch kein SQL, kann ich nur sagen, wie schwer es ist für Leute, etwas zu akzeptieren, was nicht dem mainstream entspricht. Das zeigt sich in Workshops auch gerne, dass Smalltalk zu lernen zum Beispiel bedeutet, dass man viele sinnlose Sachen, die man sich angeeignet hat, erst wieder loswerden muss, bevor man es neu lernt. Das geht mir sogar mit Smalltalkern, denen ich eine Einführung in GemStone gebe. Die sind so auf SQL getrimmt, dass sie nicht mehr wissen, dass SQL und OO sich nicht vertragen und immer fragen, wie GemStone Problem X löst, das man da aber gar nicht hat, weil das Problem durch SQL erst erzeugt wird usw... Ich hoffe, das macht es etwas verständlich, wohin meine Argumentation geht.

> Die Tatsache, dass sich seit Fortran in den letzten 60 Jahren noch nicht *die* Programmiersprache herausgestellt hat (und es ständig noch neue gibt), zeigt aber auch, dass es wohl keine einfach Antwort gibt bzw. vermutlich jede Zeit ihre Sprache hat - der Programmierer geht ja auch gerne mit der "Mode" ...
>

Das stimmt und das ist auch nicht verkehrt. Schau dir die Paradigmen an, wie sie sich über die Zeit ändern. Jede Sprache, die ein Paradigma zum Sprachkonzept macht, geht mit diesem dann auch unter. Als Gegenentwurf muss man sagen, dass man dann aber zu gerne neue Sprachen benutzt, weil neu immer was besseres in sich trägt. Ich sehe nur gerade nicht so viel passieren. Da wird wieder was kommen und wir können vielleicht nichtmal raten, was es sein könnte.

Norbert

Jörn Zaefferer

unread,
Jan 16, 2012, 6:11:09 PM1/16/12
to cg...@googlegroups.com
Hier noch ein Beitrag, der sich am Rande auch mit Smalltalk beschäftigt: http://my-inner-voice.blogspot.com/2012/01/many-core-processors-everything-you.html
Hab das Video noch nicht angeschaut, kann sein das da Smalltalk auch eine größere Rolle spielt.
Sicherlich interessant für jeden, der sehr weit über den Tellerand hinaus schauen will.

Gruß
Jörn

2012/1/16 Norbert Hartl <nor...@hartl.name>

Norbert Hartl

unread,
Jan 17, 2012, 4:21:51 AM1/17/12
to cg...@googlegroups.com
Am 17.01.2012 um 00:11 schrieb Jörn Zaefferer:

Hier noch ein Beitrag, der sich am Rande auch mit Smalltalk beschäftigt: http://my-inner-voice.blogspot.com/2012/01/many-core-processors-everything-you.html
Hab das Video noch nicht angeschaut, kann sein das da Smalltalk auch eine größere Rolle spielt.
Sicherlich interessant für jeden, der sehr weit über den Tellerand hinaus schauen will.

Yep. Das ist ein smalltalk Prototyp für eine TILE64 (im Rahmen des Renaissance Projektes [1]), also eine CPU mit 64 Kernen. Dabei geht es um das reschedulen von laufenden Ausführungen. Also nicht pro Prozess, sondern als Reihe von Anweisungen. Die Aufgaben werden werden statistisch gewichtet und so permanent auf alle Cores ausgelagert, um maximale Performance zu bekommen. Und das mit einem single threaded execution model. 
Dave Ungar ist einer der Erfinder von self [2] in den damaligen SUN labs. Und self ist der wichtigsten Wegbereiter (wenn nicht der Urvater) auf dem Weg zu prototypisierten Sprachen. Self ist wie smalltalk bei den OO Sprachen, sehr konsequent was Prototypes angeht. Die Oberfläche von self morphic, wurde nach smalltalk portiert und ist das was man in squeak/pharo smalltalks sehen kann. Also auch das, was ich benutzt habe, für den Talk.
Also, was das bedeutet ist, dass wir in Zukunft in der Lage sein müssen, ein Programm auf vielen Cores laufen zu lassen. Und das am besten ohne multithreading und ohne shared memory. Die sind ähnlich kompliziert und untauglich, wie manuelles memory management unter C.


Norbert

Thomas Koch

unread,
Jan 17, 2012, 2:35:51 PM1/17/12
to cg...@googlegroups.com

Am 16.01.2012 um 09:49 schrieb Norbert Hartl:

...

Ich habs nicht wertend aufgefasst. Aber kritische Nachfragen per Text klingen gerne mal so, als ob man beleidigt ist :)

Klar, Diskussionen per email sind so eine Sache - und besonders tief kann man da auch nicht gehen. 

Auf die Gefahr hin, dass ihr das schon bei heise gelesen habt hier dennoch mal der aktuelle und viel gescholtene Tiobe-Status:

Objective-C ist die Programmiersprache des Jahres Laut Tiobe verzeichnet die Sprache aus dem iOS- und Mac-Umfeld das grösste Wachstum und hat sich bis auf Platz 5 hinter Java, C, C# und C++ vorgearbeitet. Mit einem Plus von 3,91 Prozent schwingt sich Objective-C von Position 8 im Januar 2011 auf Platz 5 im Januar 2012 auf und zieht dabei an PHP, Basic/Visual Basic und Python, vorbei. Objective-C wird damit von Tiobe zum Gewinner des Jahres 2011 gekürt. Die Sprache kommt inzwischen auf 6,9 Prozent Marktanteil. In den Jahren zuvor konnten diese Ehre Python, Go und C in Anspruch nehmen.

JavaScript landet übrigens auf Platz 10 und der "größte Verlierer im Index ware Vorjahressiegerin Python".

Soviel zum Thema "Mode" und sonstige Einflüsse - ohne den Siegeszug von iOS wäre Objective-C jetzt wohl auch noch ein Exot unter vielen.  

Grüße,
Thomas

Jörn Zaefferer

unread,
Jan 17, 2012, 3:39:38 PM1/17/12
to cg...@googlegroups.com
Wurd der hier gescholten? Für diejenigen, die ihn noch nicht gescholten haben:  http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm 

Weiter unten wirds interessant:

Ratings

The ratings are calculated by counting hits of the most popular search engines. The search query that is used is

+"<language> programming"

This search query is executed for the top 9 websites of Alexa that meet the following conditions:

  • The entry page of the site contains a search facility
  • The result of querying the site contains an indication of the number of page hits
Based on these criteria currently the following search engines are used:
  • Google: 30%
  • Blogger: 30%
  • Wikipedia: 15%
  • YouTube: 9%
  • Baidu: 6%
  • Yahoo!: 3%
  • Bing: 3%
  • Amazon: 3%

2012/1/17 Thomas Koch <tomm...@gmail.com>

Thomas Koch

unread,
Jan 17, 2012, 3:59:32 PM1/17/12
to cg...@googlegroups.com
Am 17.01.2012 um 21:39 schrieb Jörn Zaefferer:

Wurd der hier gescholten? Für diejenigen, die ihn noch nicht gescholten haben:  http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm 

Nun gut sagen wir "kritisch hinterfragt" .-)

Ist wohl so aussagekräftig wie die "google trends"... und wird selbst auf heise selbst (seit wann haben die unter-blogs?) diskutiert:

... Der Tiobe Index ist damit ein "schönes" Beispiel dafür, wie man mit Scheinakkuratesse Daten glaubwürdig und plausibel darstellen kann. Darüber hinaus scheinen diese grafisch sehr hübsch aufbereiteten Zahlen das Bedürfnis nach dem Wissen um Verbreitung und Popularität in unserer Branche derart zu befriedigen, dass selbst ein renommierter Verlag wie der Heise Verlag sich dazu hinreißen lässt, sie zu bringen.
Alles in allem sagt der Index also eigentlich nur genau eines aus, nämlich wie oft Seiten mit der jeweils gesuchten Zeichenkette in den verschiedenen Suchmaschinen indiziert werden. Das ist vielleicht interessant, aber für wie auch immer geartete Schlussfolgerungen oder etwaige strategische Entscheidungen höchstgradig irrelevant
...

Ich glaube so ähnlich hat sich Norbert auch geäußert...

Andererseits finde ich Statistiken, die über öffentliche repositories wie github laufen genauso wenig aussagefähig. Man kann sich aber ja auch einfach anschauen, was so am Kiosk für Zeitschriften ausliegen (zu Python gibt es beispielsweise leider keine, zu Java inzwischen schon mehr als genug...) - oder eben mit "echten" Menschen sprechen und die fragen, was sie so tagsüber programmieren - und da kenne ich sehr viele, die Java machen, viele, die JavaScript machen, einige wenige, die Python machen und sehr wenige, die Smalltalk machen (genauer gesagt ist Norbert der 2te ,-)
 
Dazu kommt natürlich, dass inzwischen Java auch in der Lehre angekommen ist - ich habe an der Schule noch mit Turbo-Pascal angefangen ,-)

Grüße,
Thomas


Norbert Hartl

unread,
Jan 18, 2012, 5:08:58 AM1/18/12
to cg...@googlegroups.com
Am 17.01.2012 um 21:59 schrieb Thomas Koch:

Andererseits finde ich Statistiken, die über öffentliche repositories wie github laufen genauso wenig aussagefähig. Man kann sich aber ja auch einfach anschauen, was so am Kiosk für Zeitschriften ausliegen (zu Python gibt es beispielsweise leider keine, zu Java inzwischen schon mehr als genug...) - oder eben mit "echten" Menschen sprechen und die fragen, was sie so tagsüber programmieren - und da kenne ich sehr viele, die Java machen, viele, die JavaScript machen, einige wenige, die Python machen und sehr wenige, die Smalltalk machen (genauer gesagt ist Norbert der 2te ,-)

Es sind halt immer die Schlussfolgerungen, die man aus Zahlen zieht, die problematisch sind. Es gibt für mich einfach _zwei_ gute Gründe für das häufige Auftreten von Begriffen im Suchindex. Der eine Grund ist, je mehr Leute es benutzen, desto mehr Verweise/Inhalte tauchen im Suchindex auf, die gefunden werden können. Das gleiche gilt aber für Probleme. Je mehr Probleme man mit einer Programmiersprache hat, desto mehr Beiträge/Fragen/Artikel wird es zu einem Thema geben und folglich wird es auch vermehrt im Suchindex auftauchen. Damit haben wir zwei Faktoren festgelegt, die sich inhaltlich widersprechen und damit ist die Auslegung etwas erschwert. 

Dazu kommt natürlich, dass inzwischen Java auch in der Lehre angekommen ist - ich habe an der Schule noch mit Turbo-Pascal angefangen ,-)

Noch ein Punkt zur Durchsetzung im Markt. Ich denke, dass die meisten Faktoren, die eine Sprache zum mainstream machen, nicht so sehr viel mit der Sprache selbst zu tun haben. Wenn es eine genügend grosse Anzahl von Firmen gibt (gerne auch grosse), dann orientieren sich die Entwickler am Markt und lernen die Sprache. Damit bekommen diese Firmen ihre Entwickler. Was es aber gross macht, ist das andere Entscheider genau darauf schauen, was die anderen machen (gilt als Risikominimierung) und wo Entwickler gesucht werden. Das gilt als Indiz, was man machen sollte. Wenn diese Firmen sich dann auch für eine Sprache entscheiden, dann ist der Kreis etwas grösser geworden und so kann sich das nach oben schrauben. Das ist natürlich stark vereinfacht.

Und noch zu einer Statistik. Da ich der zweite Smalltalker bin, hat Smalltalk im Koch-Index mit 100% wahrscheinlich den grössten Zuwachs überhaupt dieses Jahr und darf als Shooting-Star bezeichnet werden. Das ist ein Indikator wohin die Reise geht. Yippie!

Norbert

Moritz Heidkamp

unread,
Feb 5, 2012, 2:50:23 PM2/5/12
to cg...@googlegroups.com
Hallo zusammen,

ich habe diese Diskussion mit großem Interesse verfolgt und finde leider
erst jetzt die Zeit, mich einzuklinken. Da ich selbst ein Freund von
Nischensprachen bin, ärgere ich mich sehr, dass ich den Smalltalkvortrag
verpasst habe. Grundstätzlich möchte ich mich Norberts Einschätzung der
Lage anschließen. Allerdings würde ich die Mainstreamisierung einer
Programmiersprache nicht nur allein darauf zurückführen, dass viele
Entscheider sich bloß dem anschließen, was die großen Firmen vorgeben -
schließlich müssen diese ja auch irgendwann einmal auf die Idee gekommen
sein, z.B. auf Java zu setzen, ohne dass sie dabei auf jemand anderen
verweisen konnten, der das bereits vorgemacht hat. Vielleicht gibt es
doch gewisse Eigenschaften einer Programmiersprache, die diese
beispielsweise für Großkonzerne attraktiver machen als andere. Einen
sehr extremen aber durchaus bedenkenswerten Standpunkt dieser Art
vertritt Stanislav Datskovskiy: "Employers much prefer that workers be
fungible, rather than maximally productive." [1] Nichts hindert jedoch
die davon Betroffenen (also uns), sich mit Programmiersprachen anderer
Art zu beschäftigen. Warum tun es dennoch so wenige? Warum können sie,
ohne eine Miene zu verziehen, Dinge sagen wie: "In welcher Sprache ich
programmiere, ist mir egal, solang sie turingvollständig ist"? Der Grund
ist vermutlich der gleiche, weshalb Menschen die Güte eines Komikers an
seinem Stadionfüllungspotential messen, sich Filme mit Til Schweiger
ansehen oder Radio hören. Unvermeidlich hat Paul Graham genau dies in
einem seiner Essays behandelt [2]:

| In languages, as in so many things, there's not much correlation
| between popularity and quality. Why does John Grisham (King of Torts
| sales rank, 44) outsell Jane Austen (Pride and Prejudice sales rank,
| 6191)? Would even Grisham claim that it's because he's a better
| writer?

Ebenfalls unvermeidlich bezieht er sich auf die Popularität von Lisp,
aber ich denke, er ist auch für Smalltalkfreunde lesenswert :-)

Letztlich möchte ich jedem in unserer Profession raten, sich einmal naiv
und ohne Scheu mit einer exotischen Programmiersprache zu
beschäftigen. Selbst, wenn sie euch nicht gefällt oder ihr sie nicht
praktisch verwendnen werden könnt - sie wird in jedem Falle eure
Perspektive erweitern. Wenn ich so frei sein darf, verweise ich an
dieser Stelle auf einen Artikel von mir [3], in welchem es genau darum
geht. Oder, um es mit Alan Kay zu sagen: "Perspective is worth 80 IQ
points."

Ich hatte vor einiger Zeit schon einmal erwogen, ein Kölner Äquivalent
zur (leider inzwischen inaktiven) Fringe DC [4] zu starten. Vielleicht
ist diese Diskussion ja eine ganz gute Gelegenheit, es tatsächlich mal
zu versuchen. Wer ist dabei?

Moritz


[1] http://www.loper-os.org/?p=69
[2] http://www.paulgraham.com/taste.html
[3] http://ceaude.twoticketsplease.de/articles/perspective-advice.html
[4] http://www.lisperati.com/fringedc.html

Timo Derstappen

unread,
Feb 5, 2012, 3:28:12 PM2/5/12
to cg...@googlegroups.com
Hey,

ich bin auch sehr traurig, dass ich Norberts Vortrag nicht gesehen habe :(

@Moritz: Sehr schön motiviert!

Ob wir es schaffen dauerhaft eine Fringe DC in Köln zu haben oder
weiterhin Cologne.js "Over the Tellerrand" machen, weiß ich nicht –
jedoch tendiere ich zu letzterem. Grundsätzlich ist mein Interesse
hoch, aber die Abende, an denen ich sowas machen kann spärlich. Die
DevHouse Fridays, Cologne.rb, OpenChaos und die NoSQL UG gibt es ja
auch noch.

Viele Grüße,
Timo

2012/2/5 Moritz Heidkamp <mor...@twoticketsplease.de>:

--
Timo Derstappen

http://teemow.com
mailto:tee...@gmail.com

Reply all
Reply to author
Forward
0 new messages