image image


To IDE or not to IDE? – drei Mathematikpakete im Vergleich

Über die Frage in der Überschrift macht man sich auch anderswo Gedanken. Zwar hatte ich zu Beginn meiner Programmiertätigkeit eine wunderschöne Modula-2-IDE (von Metrowerks), aber dennoch war ich über Jahre der Meinung, daß ein (guter!) Texteditor jede IDE unnötig macht. Voraussetzung ist, daß man z.B. unter Berücksichtigung des Shebang sein Programm oder Skript aus diesem Editor heraus starten kann. TextMate und TextWrangler/BBEdit auf dem Mac erlauben dies, für den Emacs resp. (auf dem Mac) Aquamacs ist dies sogar die Königsdisziplin. Das Debugging erfolgte mit den Print-Befehlen der jeweiligen Sprache. Und alle genannten Editoren erlauben auf die eine oder andere Weise auch eine Art Projektverwaltung.

Ein Grund dafür war auch, daß die IDEs als eierlegende Wollmilchsäue in der Regel fett und langsam waren. Das gilt heute noch für XCode, für Eclipse oder NetBeans und andere. Sie wollen einfach alles können und werden unhandlich. Und dies, worin ihre Stärken liegen (z.B. Interface-Design) brauche ich als Hobby-Programmierer in der Regel nicht.

Dennoch gab es auch bei mir in der letzten Zeit ein Umdenken. Zum einen gab es Pakete, die ihre IDE direkt mitbrachten; von der spartanischen IDE bei Processing bis hin zum Rundum-Sorglos-Paket bei PoVRay/MegaPov. Zum anderen überzeugte mich PyCharm mit seiner Paket- und Versionsverwaltung. Diese IDE brachte endlich Ordnung in das Chaos meiner Python-Installationen und seitdem verwalte ich nur noch drei: Ein Python 2.6 für die Pakete, die nur 32-Bit können, ein 64-Bit-festes Python 2.7 für alles andere (incl. IPython) und ein Python3 für … na, für den Fall, daß ich es tatsächlich einmal brauchen sollte …

Daher: Auch wenn der Texteditor bei mir noch lange nicht ausgedient hat – in meinem Fall sind das nach langer Reise TextMate 2 und Aquamacs (letzter vor allem wegen der phantastischen Möglichkeiten des Org-mode) –, nutze ich auch mehr und mehr diverse IDEs, aber auch Notebooks wie bei dem oben schon erwähnten IPython, Sage oder Maxima. Und nachdem nun auch die letzte Bastion der Kommandozeile bei den numerischen Mathematik-Paketen, Octave, mit einer (noch experimentellen) GUI/IDE kommt, habe ich mir die drei großen, freien Pakete, die es für den Mac gibt, in dieser Hinsicht einmal angeschaut. Ich habe dazu jeweils die aktuelle (Stand 26. Januar 2014) Version heruntergeladen und ihr die gleiche Aufgabe gestellt. Denn alle drei Pakete behaupten, mehr oder weniger Matlab-kompatibel zu sein, also sollte der Output einer einfachen Sinuskurve bei allen dreien mit den gleichen Befehlen möglich sein (war es auch).

GNU Octave

image

Für den Mac kommt auch Octave mit GUI als eine eigen App, die einem das Herumgefrickel in der Kommandozeile erspart. Aber man merkt ihr den experimentellen Status noch an. Beim Start hat sie bei mir die Angewohnheit, drei mal in das Dock hinein- und dann auch jeweils wieder herauszupoppen, bevor sie sich in ihrer Schönheit präsentiert. Die Schrift Courier 10 Punkt, mit der sie per Default ausgestattet ist, war mir zu klein und gefiel mir nicht. Außerdem wurde sie von der IDE auch noch angemeckert, ließ sich allerdings in den Einstellungen nicht ändern. Lediglich die Größe habe ich von 10 Punkt auf 12 Punkt heraufsetzen können, so daß sie einigermaßen lesbar wurde.

Das Graphikfenster ist eine Qt-Version von Gnuplot, die aber – im Gegensatz zu früheren Versionen – fest im Programm integriert ist. Daher läßt sich dieses Gnuplot leider nicht mehr für andere Anwendungen entführen.

FreeMat

image

FreeMat ist das am wenigsten bekannte Paket dieser Reihe, aber es war schon früh mit einer eigenen IDE/GUI ausgestattet. Neben der versprochenen Kompatibilität mit Matlab hat sich die Software auch einige Ideen beim ebenfalls kommerziellen, im wissenschaftlichen Bereich vielgenutzten IDL ausgeborgt.

Die IDE ist nahezu identisch mit der von Octave, jedoch ließen sich hier Font und Fontgröße problemlos ändern. Allerdings ist die Cursorgröße fest eingestellt und bei zu großem Font (in meinem Fall Monaco 12 Punkt) wird der letzte Buchstabe der Zeile nicht mehr neu gezeichnet.

Das Graphikfenster scheint ebenfalls eine einkompilierte Qt-Version von Gnuplot zu sein, nur hat man sich bei der Integration etwas mehr Mühe als bei Octave gegeben (z.B. eigene Menüs), aber – wie gesagt – die Octave-GUI ist ja noch experimentell, also sollte man nicht zu streng richten.

SciLab

image

Die französische freie Matlab-Alternative Scilab ist meiner Ansicht nach zu Unrecht in Deutschland wenig bekannt. Zwar hatte sie vor Jahren – speziell auf dem Mac – noch eine fürchterliche, Tk-basierte Oberfläche, die wurde jedoch schon vor etlicher Zeit in Java neu geschrieben und sieht seitdem recht ordentlich aus. Man kann ein wenig mehr mit ihr herumspielen und die einzelnen Komponenten neu arrangieren, aber im Prinzip funktioniert sie genau so wie die beiden anderen IDEs. Und sie machte auch bei der Anpassung der Schrift überhaupt keine Probleme. Das Schönste aber ist: Sie hat mich auf Deutsch begrüßt – Franzosen hassen die Allgegenwärtigkeit des American English noch mehr als ich und wissen um die kulturelle Vielfalt und Schönheit der jeweiligen Landessprachen.

Eine Überraschung kann jedoch der Nutzer von MacOS X 10.9.1 (Mavericks) beim Start des Programms erwarten:

image

10.9.1 ist also kleiner (jünger) als 10.6.5. Das ist für ein Mathematikpaket eine überraschende Erkenntnis. Doch nach einem Klick auf Try anyway funktioniert Scilab ohne Probleme und ohne weiteres Murren.

Das Graphikfenster scheint in diesem Fall eine eigene Entwicklung auf Basis von Java 2D/3D zu sein.

Fazit

Man sucht sicher ein numerisches Paket nicht nach der IDE/GUI aus, da man aber die ganze Zeit während man damit arbeitet in dieser Oberfläche arbeitet, ist sie auch einen zweiten Blick wert. Und GUIs/IDEs sind wie Keyboards und Texteditoren zu einem großen Teil auch Geschmackssache und über Geschmack läßt sich ja bekanntlich trefflich streiten. Mein Favorit ist Scilab, nicht nur, aber auch weil die IDE den ausgereiftesten Eindruck bei mir hinterlassen hat. Über Octave will ich nicht richten, die GUI ist von den Machern selber noch als experimentell bezeichnet und ich werde sie mir in der endgültigen Fassung gerne noch einmal anschauen. FreeMat Hat mich ein wenig enttäuscht, aber wer diese Software nutzt, weiß sicher auch, warum.

Alle drei getesteten IDEs sind noch sehr ausbaufähig. Wer einmal in die Fähigkeiten von RStudio geschaut hat, weiß, das noch etliches fehlt. Ich vermisse vor allem die Fähigkeit des Literate Programming (mit Markdown als Auszeichnungssprache), die aus den gespeicherten Sessions nicht nur (Netz-) Publikationen ermöglichen, sondern auch die Türe zum Reproducible Research aufstoßen würde.


(Kommentieren)  To IDE or not to IDE? bitte flattrn




Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.


Werbung


Werbung


image  image  image
image  image  image