Schlagwort-Archive: Smalltalk

Ich möchte gerne ein paar Stäbe brechen

Für in meinen Augen wunderbare Programmiersprachen, die leider kaum bekannt und benutzt werden. Libraries machen den Nutzen von allen Sprachen aus. Egal, wie schön eine Sprache ist, ohne Libraries ist sie leider nutzlos. Hier also ein paar Vorschläge
1) Common Lisp. Eine der derzeit am stärksten unterschätzten Sprache in den 80-er Jahren des letzten Jahrtausends gab es ganze Betriebssysteme, die in eine Lisp Dialekt geschrieben wurde. Das Emacs Lisp begleitet uns nun seit mehr als 30 Jahren, ein Ende ist nicht absehbar. Schemes gibt es sehr viele und auch noch ein paar andere weniger bekannte Lisps. Wenn Sie Glück und Können haben, bekommen die dieses BS auf Linux zum Laufen

https://archives.loomcom.com/genera/genera-install.html

Downloads / Homepages: https://www.sbcl.org/ http://www.lispworks.com, http://www.franz.com, https://franz.com/
2) Smalltalk. Eine der ersten Durch- und Durch Sprachen auf der Basis von Objekten. Heute immer noch unerreicht. Leider fast vollkommen vergessen im Lichte von Nachfolgern wie Python, C#, Java, JavaScript, C++. Smalltalk teilt mit Common Lisp die Eigenschaft, eine programmierbare Programmiersprache zu sein. Es gibt wenige andere Sprachen, mit denen man die Sprache selber so erweitern kann. So kann man z.B. neue Schleifenarten ohne Probleme zu diesen Sprachen hinzufügen.

Downloads: https://pharo.org/, https://squeak.org/, https://www.instantiations.com/,
https://www.gnu.org/software/smalltalk/

Die “Schwäche” der beiden Sprachen aus Sicht von vielen sind fehlende statische Typen. Interessanterweise teilen sie das mit Python, was derzeit aber eine der am meistgebrauchten Programmiersprachen ist

3) Io . Ich bezweifele, daß es mehr als 1000 aktive Benutzer gibt. Die Einfachheit dieser Sprache ist besser als bei Smalltalk. Hier können Sie es sich anschauen: https://iolanguage.org/
Mehr gibt es nicht. Hier eine Idee wie es aussehen kann:

 cc := method(System getEnvironmentVariable("CC") ifNilEval(return "cc"))
    cxx := method(System getEnvironmentVariable("CXX") ifNilEval(return "g++"))
    ccOutFlag := "-o "
    linkdll := cc
    linkDirPathFlag := "-L"
    linkLibFlag := "-l"
    linkLibSuffix := ""
    linkOutFlag := "-o "
    linkLibSuffix := ""
    ar := method(System getEnvironmentVariable("AR") ifNilEval(return "ar"))
    arFlags := "rcu "
    ranlib := method(System getEnvironmentVariable("RANLIB") ifNilEval(return "ranlib"))


includes = includes appendSeq(headerSearchPaths) map(v, "-I" .. v)

 iocFiles := sourceFiles select(f, f name beginsWithSeq("Io") and(f name endsWithSeq(".c")) and(f name containsSeq("Init") not) and(f name containsSeq("_") not))

Es ist sehr im Smalltalk Sinn gehalten. Object message ist der Weg. Es gibt keine speziellen Klassen. Alles kann eine Klasse sein, aber alles ist ein Objekt. M.E. ist die Implementierung eine der besten (im Sinne von lesbarsten) , die ich bisher fand.

Vielleicht stelle ich auch noch ein paar andere Sprachen vor, die mich auf die eine oder andere Weise beeindruckten….

I agree

It’s stupid not to use some software, because in what it is written. Of course I have my favourites, and special dislikes. But that is not what I see as a user. If the software does what it should – it’s fine.

What try to avoid is of course using a programming language for programming if I do not like it.
And I have a special distaste of C++ and Perl. Partly Tcl ( I simply do not like the set x val) Of course it is stupid. Strange enough I find C a wonderful language.
Now I’m currently learning Java and I’m quite sure I will use it for further programm development. I want to learn and use other languages but many are terrible for application development. You want a decent debugger and decent toolbos. This is not a given for quite a few languages I like.

E.g I’d like to use Pharo Smalltalk more intensivly, but they break code way too often. As a application developer I hate that, and for that I have to like VBA, because it simply works since at least two decades. Code you once wrote, still works. Every language which breaks code too often is very much a no-go for me. What I need is help with building GUI and Reports. If that’s not there I an’t use it….

Ich habe eine Schwäche für

Smalltalk der Programmiersprache. Was mich aber unglaublich ärgert, ist die Problematik von neuen Versionen zum Beispiel bei Pharo Smalltalk. Die Entwicklungsversion ist 11, daran läuft aber alles Mögliche nicht mehr sei Moose, Seaside oder. Was genau denken sich die Entwickler, wenn Sie mit neuen Versionen alte Software nicht mehr laufen lassen können.

Das ist IMHO eine ganz schlechte Idee und es ist ein Grund, warum ich immer noch C mag. So etwas passiert Ihnen in C nicht! Es passiert Ihnen auch in VBA so schnell nicht und es passiert Ihnen auch eher nicht in kommerziellen Smalltalks.

Ich verstehe, wenn man Fehler beheben will, ich verstehe, wenn man etwas anders implementiert, aber ich verstehe nicht, wie man Anwendungsentwickler so hängen lässt.

Computer Rant

Wird mir bestimmt wenige Freunde und Freude bescheren. Müssen halt lernen, damit umzugehen. Nun der Rant: ich bin ein Fan von Programmiersprachen, die einfach “gut” sind. Unter die Guten fallen bei mir unter anderem: Smalltalk und Common Lisp, aber gut es gibt da noch andere. Was mich wirklich nervt: Es gibt so gut wie keine öffentlich zugängliche brauchbare Software, geschrieben in dieser Sprache und damit auch erweiterbar für die heutigen Zeiten.

Nehme ich einfach mal Groupware. Ich kenne wirklich keine Groupware geschrieben entweder in Common Lisp oder Smalltalk, kein Office-Paket, was als Erweiterungs/Programmiersprache  diese Sprachen wirklich gut unterstützt. Nichts gar nichts. Bei groupware gibt es C/PHP vielleicht ein-bisschen Python, Ruby vielleicht auch noch Perl.

WebServer in ernsthaftem Gebrauch scheint es auch nicht zu geben.
Was wäre das für eine Sache, wenn man die ganze Software einfach damit konfigurieren aber auch erweitern könnte.

Und ja, der Emacs benutzt immer noch Emacs-Lisp. Was für ein Trauerspiel. Sorry Leute, ich liebe wirklich Eure Programmiersprachen, aber man hat so gut, wie nichts wo man da damit arbeiten kann. So bleibt einem halt so gut wie nur der Weg entlang PHP und das kann man mögen, muß man aber nicht:

Wirklich, Ihr habt es gründlich versaubeutelt. Das nervt mich schon…