You are viewing a single thread.
View all comments View context
10 points
*

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.

permalink
report
parent
reply
6 points
*

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.

permalink
report
parent
reply
2 points

Ja, ist leider schon speziell, was mit Prolog wirklich gut funktioniert. Wenn du etwas machen willst, wo Schritt A vor Schritt B ausgeführt werden sollte, dann wird es bereits anstrengend.

Ich finde, am besten betrachtet man Prolog als eine Datenbank, wo man Regeln abspeichert und dann Abfragen stellen kann. Und dann nimmt man eine (andere) Programmiersprache, um mit den abgefragten Informationen etwas umzusetzen. Also tatsächlich gibt es auch für viele Programmiersprachen Bibliotheken, mit denen man Prolog für sowas einbetten kann.

permalink
report
parent
reply

ich_iel

!ich_iel@feddit.org

Create post

Die offizielle Zweigstelle von ich_iel im Fediversum.

Alle Pfosten müssen den Titel ‘ich_iel’ haben, der Unterstrich darf durch ein beliebiges Symbol oder Bildschriftzeichen ersetzt werden. Ihr dürft euch frei entfalten!



📱 Empfohlene Schlaufon-Applikationen für Lassmich


Befreundete Kommunen:


Regeln:

1. Seid nett zueinander

Diskriminierung anderer Benutzer, Beleidigungen und Provokationen sind verboten.

2. Pfosten müssen den Titel 'ich_iel' oder 'ich iel' haben

Nur Pfosten mit dem Titel ‘ich_iel’ oder ‘ich iel’ sind zugelassen. Alle anderen werden automatisch entfernt.

Unterstrich oder Abstand dürfen durch ein beliebiges Textsymbol oder bis zu drei beliebige Emojis ersetzt werden.

3. Keine Hochwähl-Maimais oder (Eigen)werbung

Alle Pfosten, die um Hochwählis bitten oder Werbung beinhalten werden entfernt. Hiermit ist auch Eigenwerbung gemeint, z.b. für andere Gemeinschaften.

4. Keine Bildschirmschüsse von Unterhaltungen

Alle Pfosten, die Bildschirmschüsse von Unterhaltungen, wie beispielsweise aus WasistApplikaton oder Zwietracht zeigen, sind nicht erlaubt. Hierzu zählen auch Unterhaltungen mit KIs.

5. Keine kantigen Beiträge oder Meta-Beiträge

ich_iel ist kein kantiges Maimai-Brett. Meta-Beiträge, insbesondere über gelöschte oder gesperrte Beiträge, sind nicht erlaubt.

6. Keine Überfälle

Wer einen Überfall auf eine andere Gemeinschaft plant, muss diesen zuerst mit den Mods abklären. Brigadieren ist strengstens verboten.

7. Keine Ü40-Maimais

Maimais, die es bereits in die WasistApplikation-Familienplauderei geschafft haben oder von Rüdiger beim letzten Stammtisch herumgezeigt wurden, sind besser auf /c/ichbin40undlustig aufgehoben.

8. ich_iel ist eine humoristische Plattform

Alle Pfosten auf ich_iel müssen humorvoll gestaltet sein. Humor ist subjektiv, aber ein Pfosten muss zumindest einen humoristischen Anspruch haben. Die Atmosphäre auf ich_iel soll humorvoll und locker gehalten werden.

9. Keine Polemik, keine Köderbeiträge, keine Falschmeldungen

Beiträge, die wegen Polemik negativ auffallen, sind nicht gestattet. Desweiteren sind Pfosten nicht gestattet, die primär Empörung, Aufregung, Wut o.Ä. über ein (insbesonders, aber nicht nur) politisches Thema hervorrufen sollen. Die Verbreitung von Falschmeldungen ist bei uns nicht erlaubt.


Bitte beachtet auch die Regeln von Feddit.org

Community stats

  • 2.3K

    Monthly active users

  • 3.6K

    Posts

  • 38K

    Comments