Schlagwort-Archive: Smalltalk

Hat sich kaum geändert

Wünsche und Beschwerden …

Ich weiß, das Leben ist kein Wunschkonzert, aber trotzdem darf man Wünsche haben. Es gibt eine Reihe davon aus meinem Programmerleben:
– VBA als vollständiges Mitglied der .NET Familie, das Gleiche bitte auch für die WLanguage
– Ein vernünftiger Editor für VBA (ohne die MZ Tools wäre es noch schlechter) MS kann offensichtlich IDEs, warum nicht für die in Office benutzte PS? Man schaue sich mal OpenGenera an und den dort benutzen ZMACS, das ganze OS kann man in Lisp Dialekten programmieren.
– ein vernünftiges Test-Framework für Ms Access. Man versteht, warum es keine Tests gibt und alle Programme im Debugger „entwickelt“ werden.
– Vernünftige Editoren für Smalltalks (egal welches, alle sind unkomfortabel und das für so eine wunderbare Sprache wie Smalltalk
– Ein Smalltalk für die .NET Familie
– Vernünftige GUI, Report Builder oder Tools für die Behandlung von Dateien und Verzeichnissen, für Smalltalks und spezieller Pharo. Warum gibt es nicht was zumindest Gleichwertiges in diesem Bereich zu ja selbst MS Access?
– Ein wirklich nettere PS für Latex (auch wäre ein visueller Report Builder eine nette Sache) Latex läuft, ist stabil seit mehr als20 Jahren und bringt besser Sachen aufs Papier als so gut wie jedes andere Programm .
– Ein GUI-Builder, GUI-Framework, für Emacs, damit man endlich mal auch das von der manuellen Erstellung von GUIS wegkommt.

Ganz massiv stört mich diese Sachen bei Smalltalk. Wenn das in Java möglich ist, dann schon lange in Smalltalk aber nein, damit befleckt man wohl die „Reinheit“ von Smalltalk …

Und ja mich ärgert es auch speziell bei VBA, weil es da schon so
lange gibt und VB ein Meilenstein für die Entwicklung von Windows Programmen war. Was macht MS damit … Es ärgert mich noch mehr, wenn ich daran denke, worauf der Erfolg von MS basiert. Es war nicht zuletzt das Basic von denen, was MS an die Spitze brachte und dann macht man so was platt?

Bei Emacs ärgert mich etwas, daß es Emacs Lisp gibt. Warum konnte es kein Common Lisp sein? Stallmann kannte es doch …
Und nein, ein Guile-Emacs gibt es immer noch nicht ernsthaft …

Ja, ich weiß mach’s doch selber … Tja Punkt ist, brauche das nicht für C#, Java, C, C++, Delphi, FreePascal, TurboPascal, VB, Dolphin Smalltalk machen und ’ne Zillion von Libraries gibt es auch ….

Ich schweige mal höflich über den Stand von IDE für die ach-so-tollen-funktionalen-Programmiersprachen … Ausnahme vielleicht F# auf Windows

Ich bin überzeugt gute Werkzeuge sollte es auch für Programmierer geben und nein, die Anbieter von funktionalen Sprachen, wie Haskell, leisten das nicht. Ernsthaft, wenn es um DBs geht und man, was für Anwender schaffen will, dann ist man mit MS Access besser bedient als mit jeder funktionalen PS.

Man verstehe vollkommen den Erfolg von Java, C# und so um Vergleich, weil diese Sachen einfach nützlicher sind. Und ja, es dürfte mindestens ’ne Million mehr Anwender und Programmierer für MS Access geben als für alle funktionale PS zusammen …

Manch werden mich auslachen, es liegt doch nur an Dir, was Du nützlich findest. Ist das wirklich so? Bin ich da so eine Ausnahme? Die Prediger für die Nützlichkeit von anderen Programmiersprachen sitzen m.E. teilweise auf einem zu hohen Ross‘ , keine Ahnung, ob es an mir alleine liegt, ich glaube nicht. Wenn ich an die Haskell-Evangelisten denke, dann sehe ich meine Meinung bestätigt, die Common Lisper sind leider auch nicht so viel besser … Wer die „Genialität“ der Tools von denen nicht erkennt, ist wohl einfach nur ein dummy …

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…