1. Foren
  2. Kommentare
  3. Foto-Forum
  4. Alle Kommentare zum Artikel
  5. › Gimp 2.7.1: Ein-Fenster-Interface…

Ich verstehe wirklich nicht...

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  1. Thema

Neues Thema Ansicht wechseln


  1. Ich verstehe wirklich nicht...

    Autor: MichaelH 30.06.10 - 23:49

    ...warum man bei GIMP nicht den gesamten Code einfach mal wegschmeisst und das Teil auf einer vernuenftigen Basis und in einer zeitgemaessen Programmiersprache reimplementiert. Ich hab' mir den Code derletzt mal angeschaut und musste da nur mit dem Kopf schuetteln. Klar, dass die Entwicklung da so langsam vorangeht.

    Nur ein Beispiel, was man besser machen koennte: Adobe (yep, genau die) haben mit GIL ein ausgesprochen elegantes generisches Imaging-Framework unter einer sehr liberalen Open Source-Lizenz bereitgestellt, auf dessen Basis man sicherlich wesentlich effizienter entwickeln koennte (und welches man - faehige Programmierer vorausgesetzt - auch weiterentwickeln koennte/sollte). Was machen die GIMP-Leute stattdessen? Werken an GEGL in unzeitgemaessem C im Schneckentempo. D'oh! Ich will kein Troll sein, aber "herumfrickeln" trifft es da meiner Meinung nach sehr gut...
    Die groesste Schwaeche von GIMP ist offensichtlich die Uneinsichtigkeit und die Fortschrittsangst seiner Hauptentwickler.

  2. Re: Ich verstehe wirklich nicht...

    Autor: nate 01.07.10 - 10:08

    > GEGL in unzeitgemaessem C

    Welche Programmiersprache wäre denn in deinen Augen "zeitgemäß"? Und jetzt komm mir nicht mit C#, Java oder Python, hier geht es um Pixelprocessing, da will man nativen Code. Ach, und falls du auf C++ hinauswillst: GEGL *ist* objektorientiert, die Syntax ist nur eine andere als man sie von C++ kennt.

  3. Re: Ich verstehe wirklich nicht...

    Autor: MichaelH 01.07.10 - 11:23

    Ich rede von C++ und damit nativem Code. C ist in meinen Augen hoechstens fuer Betriebssystemkernel und kleinere Projekte geeignet; saemtliche groesseren Projekte skalieren nicht in ausreichendem Masse und verkommen zum Maintenance-Alptraum.

    C++ bietet neben besserer Datenabstraktion(!) bessere Typsicherheit, bessere Syntax, sicherere Casts, Abkehr vom Praeprozessor, generische Programmierung durch Templates, policy-based design, etc. etc. In der Summe der Teile ist ein gut geschriebenes C++-Programm einfacher lesbar, enthaelt weniger Codeduplizierung, wesentlich besser wartbar sowie erweiterbar und dadurch wahrscheinlich mit weniger Fehlern behaftet.
    In C kann man sich natuerlich Kruecken fuer all die schoenen C++-Features schreiben (Makros statt Templates, anyone?!?), aber man vergibt sich dadurch einiges. Es ist in C kaum moeglich, ein sicheres Interface zu schreiben mit dem man sich nicht in den Fuss schiessen kann. In C++ geht das, bei gleicher Performance unter Verwendung moderner Compiler.

    Ausserdem bringt C++ eine hervorragende Standardbibliothek mit, und mit Boost existieren eine Menge an unglaublich nuetzlichen Bibliotheken, die entweder fuer einfacher wartbaren Code sorgen (bspw. smart pointers) oder einen das Rad nicht neu erfinden lassen.
    Wenn man in C++ richtig programmiert (bzw. programmieren kann), ist das eine ganz andere Programmiersprache mit wesentlich groesserer Flexibilitaet, Expressivitaet und anderen Programmierparadigmen als C. Und ich rede hier bei weitem nicht nur von Objektorientierung. Bspw. kann man Low-Level Speicherallokationen durch Verwendung moderner Programmiertechniken gut abstrahieren. Ich habe mich seit Jahren nicht mehr mit malloc/free oder new/delete herumgeschlagen, ausser in ein paar Codezeilen auf unterster Ebene. Overhead? Nicht vorhanden oder minimal.

    GIMP und dessen Code scheinen mir viel zu viel Gewicht auf Low Level-Implementierung zu legen und eine ganze Menge an Altlasten herumzuschleppen. Klar, dass da kein vernuenftiger neuer Entwickler mehr dran programmieren moechte, Hobbyprogrammierer und selbsternannte 'Hacker' vielleicht mal ausgenommen. Ich wuerde nicht im Traum daran denken, auch nur eine Codezeile fuer GIMP freiwillig zu schreiben.
    Wahrscheinlich ist es eh schon zu spaet, das Projekt ohne Neuimplementierung von seinen toenernen Fuessen zu retten. Daher meine Empfehlung mit zeitgemaesseren Programmiertechniken neu zu beginnen. GIMP koennte das nur helfen. Allerdings sind da wahrscheinlich einige der jetzigen Entwickler entweder zu kurzsichtig oder zu borniert um das einzusehen.

  4. Re: Ich verstehe wirklich nicht...

    Autor: MichaelH 01.07.10 - 11:53

    Ach ja: Die Codebasis ist natuerlich bei weitem nicht das einzige Problem von GIMP, erwaehnt sei nur mal das Interface und die generelle Usability. Nur korrelieren nach meiner Erfahrung die Eleganz und Struktur des Codes mit der Qualitaet und Benutzbarkeit des Produktes sehr stark.

  5. Re: Ich verstehe wirklich nicht...

    Autor: nate 01.07.10 - 14:18

    > C++ bietet [...] bessere Syntax

    Wie gut, dass ich keine Kaffee trinke, sonst wär die Tastatur jetzt hin :)

    > Abkehr vom Praeprozessor

    Zum Glück nicht!

    > generische
    > Programmierung durch Templates

    ... mit denen man, falsch angewendet (was leider der Standardfall ist), unglaubliche Komplexitäts- und Bloat-Monster erschaffen kann.

    > policy-based design

    BINGO!

    > In der Summe
    > der Teile ist ein gut geschriebenes C++-Programm einfacher lesbar

    OK, na gut. Aber auch nur deshalb, weil Methodenaufrufe eine etwas intuitivere Syntax haben als in C.

    > wesentlich besser wartbar sowie erweiterbar

    Kommt drauf an. Wir haben hier in-house ein Riesen-Ungetüm an C++-Code, das mit all den kranken Dingen, die ihr C++-Freaks so toll findet geschrieben wurde: Templates bis zum Abwinken, irgendwelche Design Patterns überall, das volle Programm. Problem nur: Performance zum abgewöhnen, ein riesen Bloat-Vieh, sorgt bei Compilierung mit neueren GCCs mitunter für Segfaults mitten in der C++-Standardbibliothek und jetzt, wo wir's erweitern müssten, lassen wir's lieber bleiben, weil keiner sich das noch freiwillig antut.

    > Es ist in C kaum moeglich, ein sicheres Interface zu
    > schreiben mit dem man sich nicht in den Fuss schiessen kann.

    Wie sagt man so schön: C macht es leicht, sich in den Fuß zu schießen. Bei C++ ist es minimal schwieriger, aber dafür ist dann gleich das komplette Bein mit weg.

    > Ausserdem bringt C++ eine hervorragende Standardbibliothek mit

    *hust* (zum Glück kein Kaffee ...)

  6. Re: Ich verstehe wirklich nicht...

    Autor: MichaelH 01.07.10 - 14:39

    Deine Meinung. Ich habe da ganz andere Erfahrungen gemacht; ein guter Compiler kann viele zunaechst fuer Laien seltsam anmutende C++-Konstrukte so optimieren, dass kein Performanceverlust (oder Bloat!) entsteht.
    Und mein Bein ist noch dran und sehr fit; wenn ich stattdessen C-Applikationen schreiben wuerde haette ich mir schon x-mal mit der Schrotflinte draufgeschossen bei der ganzen Low Level-Herumfrickelei.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. IT Spezialist Identity Management (gn)
    HORNBACH Baumarkt AG, Bornheim bei Landau Pfalz
  2. Informatiker als IT Projektleiter SAP S / 4HANA Energiebranche (m/w/d)
    Thüga SmartService GmbH, München, Freiburg, Naila
  3. PHP Developer / Full-Stack Developer (x/w/m)
    Plan Software GmbH, Saarbrücken
  4. Teamleiter (m/w/d) Informationsmanagement SAP BW & SAP Basis
    Radeberger Gruppe KG, Frankfurt am Main

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. (u. a. Elite Dangerous für 6,99€, Planet Coaster für 10,50€, Struggling für 5,85€)
  2. 21,24€
  3. (u. a. Starter Edition für 5,99€, Marching Fire Edition für 11,50€, Complete Edition für 22...


Haben wir etwas übersehen?

E-Mail an news@golem.de


Pixel 6 (Pro): Googles Tensor-SoC ist eine wilde Mischung
Pixel 6 (Pro)
Googles Tensor-SoC ist eine wilde Mischung

Viel Samsung, wenig Google: Der Chip kombiniert extreme Computational Photography mit einem kuriosen Design zugunsten der Akkulaufzeit.
Eine Analyse von Marc Sauter

  1. Google Neues Pixel 6 kostet 650 Euro
  2. Smartphone Google soll Pixel-6-Produktion verdoppeln
  3. Google Pixel 6 soll 5 Jahre lang Updates erhalten

Geschäftsethik bei Videospielen: Auf der Suche nach dem Wal
Geschäftsethik bei Videospielen
Auf der Suche nach dem Wal

Das Geschäftsmodell von aktuellen Free-to-Play-Games nimmt das Risiko in Kauf, dass Menschen von Spielen abhängig werden. Eigentlich basiert es sogar darauf.
Von Evan Armstrong

  1. Free-to-Play Kostenlose Spiele für fast alle Plattformen

Neue Editionen von Koch Films: David Lynchs Dune jetzt auch in 4K
Neue Editionen von Koch Films
David Lynchs Dune jetzt auch in 4K

Vier Wochen nach dem Kinostart von Denis Villeneuves Dune, präsentiert Koch Films David Lynchs Version aus dem Jahr 1984 in einer 4K-Edition.
Von Peter Osteried

  1. Science-Fiction der Neunziger Babylon 5 wird neu aufgelegt
  2. 25 Jahre Independence Day Ein riesiges Raumschiff und ein riesiger Erfolg
  3. Dune Der Wüstenplanet so schön wie nie zuvor