[rant] open source tooling-kultur



  • Mir ist etwas aufgefallen: In der Open Source - Entwicklerkultur, sei es bei c++ oder LaTeX, wird viel stärker gefordert dass man die interne Funktionsweise eines Tools kennt -- im Vergleich zu professionellen, kommerziellen Anwendungen die durchaus auch anspruchsvolle Funktionalität bieten, aber auch mit sehr wenig Vorwissen bedienbar sind.

    Beispiel: Um ein neues Emacs-Feature einzuschalten muss man eventuell Tutorials / Source Code lesen, in der .emacs eigene Funktionen schreiben die die benötigten Variablen setzten etc., wofür man ein gewisses Verständnis für die interne Logik des Features braucht. Bei der Benutzung diese Features ist dieses Wissen nur selten von Nutzen; hier benötigt man lediglich die Abbildung Tastenkürzel <-> Aktion. Bei z.B. MS Word muss man dagegen nur den Punkt in den Optionen finden, benötigt also wesentlich weniger Ahnung von der internen Logik.

    Woran meint ihr liegt das? Daran dass open source Tools nicht primär auf den Endbenutzer abzielen sondern auf die Eigenverwendung, und man somit das interne Wissen bereits voraussetzen kann?

    Oder weil man eine andere Benutzerkultur hat die es durchaus in Kauf nimmt oder sogar für erstrebenswert hält, mehr Zeit mit Tooling zu verschwenden, wogegen die "Corporate"-User stärker ergebnisorientiert sind?
    Oder gar weil die OS-Benutzerkultur eine höhere Kompetenz bezüglich IT-Themen hat und somit sowohl schnell genug die Funktionsweise des Tools versteht als auch sehr wahrscheinlich komplexe Funktionalität benutzen wird, wozu ein tiefes Verständnis ohnehin notwendig ist?
    Oder weil die Entwickler einfach Zeit für ein bequemes Interface sparen?



  • Hi,

    ForkMe! schrieb:

    Woran meint ihr liegt das? Daran dass open source Tools nicht primär auf den Endbenutzer abzielen sondern auf die Eigenverwendung, und man somit das interne Wissen bereits voraussetzen kann?
    Oder gar weil die OS-Benutzerkultur eine höhere Kompetenz bezüglich IT-Themen hat und somit sowohl schnell genug die Funktionsweise des Tools versteht als auch sehr wahrscheinlich komplexe Funktionalität benutzen wird, wozu ein tiefes Verständnis ohnehin notwendig ist?
    Oder weil die Entwickler einfach Zeit für ein bequemes Interface sparen?

    ich denke, alle diese Punkte treffen zu.

    Wobei ich jetzt von mir nicht sagen würde, Latex intern gut zu verstehen, obwohl ich damit seit Jahren rumschreibe. Ich hab bis jetzt nur einmal in ein .sty file reingeschaut und ein Komma zum Punkt geändert, weil's besser aussah.



  • ForkMe! schrieb:

    Woran meint ihr liegt das? Daran dass open source Tools nicht primär auf den Endbenutzer abzielen sondern auf die Eigenverwendung

    daran. Sowas wie emacs ist halt von Programmierern für Programmierer.

    Oder weil die Entwickler einfach Zeit für ein bequemes Interface sparen?

    "bequemes Interface"... also wenn ich was für mich programmiere, dann versuche ich das immer so bequem wie möglich. Bequem für mich. Denke das tun die meisten.



  • Opensource-Projekte sind doch nicht alle gleich. Daher ist die Behauptung lächerlich. LaTeX und Emacs haben eine andere Zielgruppe als zB Word. Mit Word könntest du eher OpenOffice.org oder KOffice oder AbiWord etc. vergleichen und keines von den Projekten benötigt ein "Inside-Wissen".



  • rüdiger schrieb:

    Opensource-Projekte sind doch nicht alle gleich. Daher ist die Behauptung lächerlich. LaTeX und Emacs haben eine andere Zielgruppe als zB Word. Mit Word könntest du eher OpenOffice.org oder KOffice oder AbiWord etc. vergleichen und keines von den Projekten benötigt ein "Inside-Wissen".

    Dann eben VC++ gegen g++ mit vim/emacs, gdb, ...



  • Ich schlage eher VC++ vs. gcc/gdb mit NetBeans/Eclipse zum Vergleich vor.



  • Emacs zum Vergleich mit irgendwas heranzuziehen, ist generell eine schlechte Idee. 🙂

    (35-jährige Editoren, die heutzutage noch verwendet werden, müssen sich zwangsläufig durch extreme Anpassbarkeit und Erweiterbarkeit auszeichnen, sonst würde sie niemand mehr verwenden. Insofern sind da Programme wie Emacs evolutionär begünstigt. Emacser benutzen Emacs nicht, weil sie Lisp programmieren müssen - Emacs ist ohne selbstgeschriebenes Elisp durchaus auch verwendbar - sie benutzen ihn, weil sie alles, was sonst nirgends ginge, schnell und elegant per Elisp zurechthacken können.)

    Wenn Du VC++ mit Codeblocks oä. vergleichst, sieht die Lage doch spürbar anders aus. Oder sieh Dir mal Eclipse zum Java-Programmieren an. Würde nicht gerade behaupten, dass das viel Implementierungskentnisse über die IDE erfordert.



  • Ja, da habt ihr recht...

    Worum es mir ging, was ich aber nicht klar artikulieren konnte, war tatsächlich der Vergleich der unterschiedlichen Kulturen, und nicht primär der Tools. Bei VC++ / Eclipse(Java)[1] [d.h. Anwendungsentwickler / Anwendungsentwickler] gibt es da bezüglich des Tooling-Aspekts anscheinend keine großen Unterschiede.

    Was ist z.B. im Vergleich der Linux/Windows - Kernel-Programmierer? Sind da die Kulturen ebenfalls ähnlich? Ich kenne Leute aus der ersten Gruppe nur aus diversen Internetgeschichten, und niemanden aus der zweiten... Aber hier könnte ich mir tatsächlich einen kulturellen Unterschied vorstellen, wenn die einen absichtlich einen schwer zu debuggenden Kernel schreiben damit nur Experten mitarbeiten (Zumindest laut Rant von Torvalds)

    -----
    [1] http://www.youtube.com/watch?v=KrfpnbGXL70



  • ForkMe! schrieb:

    [...]wenn die einen absichtlich einen schwer zu debuggenden Kernel schreiben damit nur Experten mitarbeiten (Zumindest laut Rant von Torvalds

    Du solltest nicht alles, was Linus sagt, auf die Goldwaage legen. Oder sprichst Du gerade die KGDB-Geschichte an? Linus wird bei sowas bisweilen etwas polemisch...

    Kulturelle Eigenheiten werden in den Büchern von Eric S. Raymonds immer wieder ganz gut rübergebracht, lies mal in diese beiden rein:
    http://catb.org/esr/writings/homesteading/cathedral-bazaar/
    http://catb.org/esr/writings/taoup/



  • ForkMe! schrieb:

    Woran meint ihr liegt das? Daran dass open source Tools nicht primär auf den Endbenutzer abzielen sondern auf die Eigenverwendung

    jo. Entstand halt aus der "vllt. mag jemand anderes das Feature/Programm auch, hier ist der Sourcecode. Wer mag kann ja ein schoeneres Interface basteln, fuer mich reichts so wie's ist". Um es auch fuer 08/15-Anwender angenehm zu machen, benoetigen die Programme dann viel bewusstes "polishing" und viel Arbeit, wofuer sich nur in groesseren Entwicklergruppen (OOo, Mozilla, Ubuntu...) auch wer begeistertn laesst.


Log in to reply