Saturday, January 03, 2009

Vergleich von Objektorientierter Programmierung in C

Ist es ein fairer Vergleich zu sagen, dass

Personen, die meinen C wäre eine vollkommen ausreichende Programmiersprache um objektorientiert zu programmieren, auch glauben, dass die beste Art 1000 x 1000 zu rechnen, die ist ein Gitter von 1000 mal 1000 Einheiten zu zeichnen und dann alle Quadrate darin zu zählen.
?

Der Gedanke ist mir gerade beim lesen von "Gödel, Escher, Bach" gekommen. Der 2. Teil des Vergleiches stammt aus dem Buch.

4 comments:

  1. Automatically imported comment
    Author: Robert
    Date: Saturday 03. January 2009


    Stimme absolut zu. Wobei die Frage wäre, womit dann das objektorientierte Programmieren in TurboPascal gleichsetzen ließe. Darin hab ich 1993 mal einen Kurs gemacht. Antwort?

    ReplyDelete
  2. Automatically imported comment
    Author: Alexander Schremmer
    Date: Sunday 04. January 2009


    Ist dir gobject (http://de.wikipedia.org/wiki/GObject ) bekannt, Dirk?

    ReplyDelete
  3. Automatically imported comment
    Author: dmeister
    Date: Sunday 04. January 2009


    Nein, danke. Erfahrungen damit? Besonders zur Performance z.B. im Vergleich zu C++.
    Der Hintergrund des Artikels ist, dass ich im PC^2 häufig mit Leuten aus der OS-Welt zu tun habe, die jede Verwendung von Programmiersprachen außer C (sogar C++!) ablehnen, weil zu langsam und unnötig. Es ging ja auch alles in C. Ja, geht, aber eben nicht gut, oder nur mit Krücken (Function-Pointer). Ich komme eher aus der Software Engineering-Ecke und bin bereit 1% Performance aufzugeben, wenn ich dafür ordentliche Abstraktionen für mein Problem zu habe bzw. entwickeln kann.

    ReplyDelete
  4. Automatically imported comment
    Author: Alexander Schremmer
    Date: Monday 05. January 2009


    Ich selber hab keine Erfahrung damit, aber ich höre gerade von einem glib user, dass man jeglichen runtime binding/dispatch overhead vermeiden kann mit gewissen "patterns". Und damit reduziert sich die Speedpenalty auf einen Bruchteil. Wieviel das ist und in welchen Fällen es nicht geht, kann ich mangels Erfahrung leider nicht sagen.

    glib pflegt sich sicherlich einfacher in eine C only Umgebung ein - Linker/compiler probleme entfallen und nur eine weitere Lib kommt hinzu.

    Ob man dies nun im Projekt adaptiert, kommt auf die Gegebenheiten an. Wenn man aber dabei ist, dispatch/multi methods or whatever neu zu erfinden (und es über das sauber abstrahierte selten vorgefundene Pointer-Array hinaus geht), dann sollte man wirklich über die eigene (Team-)Effizienz nachdenken :-)

    ReplyDelete