Supi, Neues Jahr, neue Software zum Testen. Diesmal „Tilix“ . Ein Terminalprogramm das nach Human-Interface-Paradigma von GTK entworfen wurde. Und leider sieht es auch genauso aus đ
Um was geht es eigentlich ?
So sieht unser Testobjekt aus :
Tilix ist das neue Fedora 27 Standard Terminalprogramm und löst damit GNOME-Terminal ab. Das fĂŒhrte bei einer frischen Installation von Fedora 27 dann natĂŒrlich zu diversen Problemen, denn es reagiert komplett anders als GNOME-Terminal (ab jetzt nur noch „GT“ genannt). Man könnte argumentieren, daĂ es sich bestimmte Shortcuts jetzt so verhalten, wie man das „erwarten“ wĂŒrde. Dazu muĂ man allerdings wissen, daĂ Tilix krampfhaft versucht das Terminalfenster auf genau der offenen GröĂe zu belassen und dabei möglichst viel Inhalt da reinzuquetschen.
Beispiel:
Wie man hier sehen kann, ist das u.U. nicht besonders sinnvoll. Verantwortlich fĂŒr diese lustige Anordnung sind die beiden „plus“ Knöpfe neben der Sessionauswahl links oben, das ist die mit dem „3/3“ Text.
Im ersten Moment fand ich die Funktion geckisch, aber nĂŒchtern betrachtet, macht die so nur Sinn, wenn man das Fenster auf FullscreengröĂe geöffnet hat. Das eingebaute Tiling wird vermutlich viele Freunde finden. Ganz abgeneigt bin ich dem nicht, aber ich ziehe die Einrastfunktion von Cinnamon fĂŒr ganze Fenster vor. Zwischen den Fenstern kann dann nĂ€mlich mit ALT-TAB wechseln.
Die MenĂŒs entsprechen den GTK Vorgaben und sind damit derzeit „das dĂ€mlichste was man haben kann“. Der Trend, Context-MenĂŒ-Container zu recyclen, also beim Aufruf von UntermenĂŒs kein neues Containerfenster , sondern das vom MenĂŒ dadrĂŒber zu recyclen aka nur den Inhalt des MenĂŒcontainers zu tauschen, entspricht nicht meinem persönlichen Geschmack.
Auch die Option „Show File Browser“ ist vollkommen Ga-Ga und hat dort nichts zu suchen :
Phobos – altgriechisch fĂŒr âFurcht, panische Angstâ
Schauen wir nach dem Exkurs in den Wahnsinn mal, auf was Tilix eigentlich aufbaut :
Installieren:
tilix x86_64 1.6.4-5.fc26 updates 724 k
Installiere AbhÀngigkeiten:
gtkd x86_64 3.6.6-2.fc26 updates 8.5 M
ldc-druntime x86_64 1:1.3.0-1.fc26 updates 550 k
ldc-phobos x86_64 1:1.3.0-1.fc26 updates 2.0 M
Es wird uns also bei der Installation eine Laufzeitumgebung von … taterata… D installiert und gleich noch Phobos dazu.
Praktisch alle Nicht-Programmierer und vermutlich selbst von den Middleaged DevOps kennen D nur die wenigsten. D wurde Ende der 90er!!! Jahre im OOP Hype als auf C-basierendem OOP Ersatz zu C++ entwickelt. Als wenn E und F aus den 80ern nicht schon gereicht hĂ€tten đ
Ăber D … man kann es hier prima verwenden -> đ
D war nicht in den Heise Top 10 fĂŒr 2017 ,
ist keine POP ( Problem Orientierte Programmiersprache —- Ich weiĂ!!! ich weiĂ!!! đ ) und damit trendy,
in den Stackoverflow TOP 20 der meistgehassten Programmiersprachen kommt es auch nicht vor,
und in den Top 20 der JAX fĂŒr 2017 kommt D auch nicht vor. Da selbst PERL noch in deren TOP 20 ist und das verdammt lange tod ist, lasse ich mich dazu verleiten D auch als irrelevante GröĂe zu bezeichnen aka tod.
Ein Programm in einer toten Programmiersprache und auf Basis von panischer Furcht , das kann kein gutes Omen sein. Und genau in dem Geiste scheint Phobos gemacht worden zu sein, denn es beschreibt sich so :
„Each module in Phobos conforms as much as possible to the following design goals. These are goals rather than requirements because D is not a religion, it’s a programming language, and it recognizes that sometimes the goals are contradictory and counterproductive in certain situations, and programmers have jobs that need to get done“
Kurzform „WischiWaschi“
Das will man ĂŒber eine wichtige Komponente seines Rechners nicht lesen.. Ăbersetzung:
„Jedes Modul in Phobos entspricht so weit wie möglich den folgenden Designzielen. Diese Ziele sind eher Ziele als Anforderungen, denn D ist keine Religion, es ist eine Programmiersprache, und es erkennt, dass die Ziele manchmal widersprĂŒchlich und kontraproduktiv in bestimmten Situationen sind, und Programmierer haben Jobs, die erledigt werden mĂŒssen“. ( Danke an Deepl.com )
(An.d.R. die Designziele werden gar nicht in der dnf info von phobos genannt k.a. wieso die die dann erwÀhnen.)
NatĂŒrlich hat ein Programm klare Ziele:
- Es muĂ eine bestimmte Funktion erfĂŒllen
- Es darf keine Fehler enthalten
- Es darf bei Design keine SicherheitslĂŒcken enthalten
- Es muĂ bedienbar bleiben
Die Formulierung wie „Aber manchmal haben Programmierer Jobs, die erledigt werden mĂŒssen.“ lassen mich an der QualitĂ€t des Codes schon von vornherein zweifeln. „D sein keine Religion“ als wenn Ziele eine Religion brĂ€uchten ? Das ist so typischer „Ich weiĂ alles besser als Ihr“ ManifestsĂŒlz. Glauben gehört in die Kirche und Ziele im Leben sind ein Eigenschaft von Menschen. Und wenn ich das Ziel habe, das coolste, aber total unsicherste Programm des Planeten zu bauen, dann tue ich das, weil ich ein Mensch bin. Macht das Sinn , Nö, aber SpaĂ đ Programmierer, deren Software fĂŒr andere Gedacht ist, sollten andere MaĂstĂ€be haben: Sicherheit, StabilitĂ€t, Benutzbarkeit.
Wie Ihr hier lesen könnte, kommt „Design“ in der kurzen Liste nicht vor. Firmenchefs und Designer sehen das natĂŒrlich anders, weil EyeCandy verkauft sich gut, aber man kann Design auch an Platz 4 der Liste haben und ein sicheres Programm trotzdem gut aussehen lassen đ
Fazit
Die vielen unnötigen Ebenen des Terminalseins ( da gibts 4 von in Tilix ) haben keinen brauchbaren Vorteil (fĂŒr mich), der Unterbau macht mir Angst, die wenig bis gar nicht auditierte Programmiersprache nebst Compiler, sinnlose Features und ein grĂ€ssliches Design lassen fĂŒr mich nur eine Option zu:
dnf erase tilix -y
und danach die Platte desinfizieren đ
Ich benutze aktuell Terminology â das funktioniert so Ă€hnlich, ist aber schöner (wegen Enlightenment-Bibliotheken). Kann auch Tiling⊠wenn man das denn möchte.
Aber mir ist auch noch unklar, wieso Terminalsoftware alles mögliche können sollen muss. Befehl rein, Ausgabe raus â st (von suckless) ist eigentlich mehr als genug. FĂŒr alles andere gibt es ja tmux.
(Perl ist aber gar nicht tot. Sogar der Linuxkernel ist voll damitâŠ)