• Saleh@feddit.org
    link
    fedilink
    arrow-up
    28
    ·
    6 days ago

    Python sein wie:

    “Du bist ein Objekt! Und du bist ein Objekt! ihr seid alle Objekte!”

  • De_Narm@lemmy.world
    link
    fedilink
    arrow-up
    17
    ·
    6 days ago

    Also, lass dich nicht aufhalten. Aber OO ist mein letzter Platz. Ein guter Programmierer kennt sowieso alle Wege und nimmt den besten Ansatz für sein Problem.

      • De_Narm@lemmy.world
        link
        fedilink
        arrow-up
        9
        ·
        edit-2
        6 days ago

        Generell kann man mit allem alles machen.

        Im Imperativen Bereich würde ich die Frage nach OOP oder nicht fast schon weniger auf das Problem als auf das Team richten. Hat man viele verschiedene Fähigkeitslevel und generell ein sehr großes Team, dann bietet sich OOP an. Die Codebase ist dadurch zwar größer und man schreibt mehr Boilerplate, jedoch hat man ein paar mehr Schutzmechanismen vor Anfängerfehlern. Die große Ausnahme ist sowas wie Spieleentwicklung, die generell sehr auf OOP setzt. Es geht auch ohne, aber da Spiele inherent auf Objekten basieren bietet es sich einfach für die Modellierung an. Je kleiner das Projekt, desto weniger lohnt sich die Mehrarbeit von OO. In der freien Wirtschaft ist sie aber generell fast überall.

        Funktionale Programmierung bietet sich am meisten für die Datenanalyse an. Grob gesagt, immer wenn man über Daten denkt, die durch bestimmte Stationen geleitet werden, um ein bestimmtes Ergebnis zu erhalten, ist man hier richtig. Die wahre Schönheit der FP kommt zur Geltung, wenn man keine internen Zustände abspeichern muss - wie man zum Beispiel bei Spielen muss, wo jedes Objekt HP oder Ähnliches hat. Geht wie gesagt auch, aber dann verliert man die Eleganz. In der freien Wirtschaft findet man selten reine FP, aber Probleme dieser Art haben oft eine FP inspirierte Lösung - weshalb es generell von Vorteil ist datenorientiert denken zu können.

        Reine Logische Programmierung, in aller Ehrlichkeit, habe ich außerhalb von akademischen Einrichtungen noch nicht gesehen. Konzepte davon werden in der freien Wirtschaft im Bereich von Datenbanken genutzt.

        • optional@feddit.org
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          5 days ago

          Als ich damals vor einigen Jahrzehnten Informatik studiert habe, wurde uns erzählt, dass die Fahrplanauskunft unseres Nahverkehrsverbundes in Prolog geschrieben sei. Ich kann es nicht mehr beweisen und wahrscheinlich stimmt es inzwischen auch schon nicht mehr, aber das wäre ein sinnvoller Einsatzzweck für logische Programmierung. In Prolog kannst Du halt einfach so ein Programm schreiben:

          fahrzeit(a-straße,bahnhof,5).
          fahrzeit(a-straße,clairewerk,7).
          fahrzeit(bahnhof,dorfplatz,13).
          fahrzeit(clairewerk,dorfplatz,12).
          fahrzeit(X,Y, Zeit) :- fahrzeit(X,Umstieg,Zeit1), fahrzeit(Umstieg,Y,Zeit2), Zeit is Zeit1+Zeit2.
          

          Und dann abfragen:

          ? fahrzeit(a-straße,dorfplatz, X).
              Yes (X=18)
              fahrzeit(a-straße,bahnhof,5).
              fahrzeit(bahnhof,dorfplatz,13).
          

          Wenn Du dann noch Umsteigezeiten berücksichtigen willst, und nicht nur irgendeine, sondern möglichst die schnellste Strecke bekommen willst, Taktungen, Streckensperrung etc berücksichtigen musst, wird es natürlich nochmal deutlich komplizierter, aber dafür, dass das im Prinzip nur eine Zeile echter Code ist, ist das Ergebnis schon ganz gut.

  • bennypr0fane@discuss.tchncs.de
    link
    fedilink
    arrow-up
    4
    ·
    5 days ago

    Echt, du magst das? Jeder Furz ist eine Instanz der Klasse Überfürze? Und die sind Unterklasse der Klasse Gasförmige Ausscheidungen? Und die sind Unterklasse der Superklasse Ausscheidungen? Viel Spaß…