Programmierung mit Prolog lernen

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich will mich jetzt nicht subjektiv auf die Einfachheit von Prolog beziehen, sondern lieber Fakten vorlegen: Prolog oder allgemein die logische Programmierung ist ein interessantes Konzept, allerdings eher was für Akademiker. Nicht, weil man damit nichts machen könnte, es ist nur eben für allgemeine Programmieraufgaben ungeeignet und entstammt eher theoretischen Überlegungen. Wenn du dich mit so was abstraktem beschäftigen willst, gerne, wenn du dir aber wirklich die Hände schmutzig machen willst und was "richtiges" programmieren willst, ist eine Sprache wie C deutlich geeigneter.

Noch eine kleine Anmerkung: Tatsächlich kann man mit Prolog deutlich weniger machen als mit einer "normalen" Sprache wie C, da man für ein komplett anderes Programmierparadigma schwieriger Bibliotheksanbindungen erstellen kann. Außerdem lohnt sich das nicht, weil nur sehr wenige Leute praktisch mit Prolog programmieren. Fürs praktische Programmieren solltest du dir eine der folgenden Sprachen aussuchen: C, C++, C#, Java.

Welche von den Programmiersprachen kannst du mir denn empfehlen? Also welche hat den größten Nutzen und die besten Möglichkeiten? C, C++ oder C#? Java lerne ich ja nächstes Jahr sowieso, es macht also wenig Sinn, sich jetzt schon damit zu befassen.

0
@antarispro

Die Frage ist so nicht zu beantworten. Was soll "größter Nutzen" und "beste Möglichkeiten" bedeuten? Gute Job-Chancen? Gute Grundlagen zum Lernen weiterer Sprachen? Gute Portierbarkeit auf verschiedenste Plattformen? Schnelle Erfolgserlebnisse?

So etwas wie "die beste Sprache" gibt es genauso wenig wie "das beste Werkzeug", denn Sprachen sind genau das: Werkzeuge. Hat ein Hammer einen größeren Nutzen als eine Zange? Bietet ein Schraubenzieher mehr Möglichkeiten oder ein Teppichmesser?

C ist eine sehr hardwarenahe Sprache, mit der sich effizienter und ausgezeichnet portierbarer Code schreiben lässt, dafür ist sie aber in vielen Bereichen sehr low-level und erfordert selbst für simple Aufgaben oft erheblichen Aufwand. Unter Linux und Unix ist sie aber allen Unkenrufen zum Trotz noch immer Haus- und Hofsprache. Außerdem lernst du da gleich richtig, wie man sorgfältig programmiert, und du lernst vieles von dem zu verstehen, was "hinter den Kulissen" anderer Sprachen passiert.

C++ bietet dir nahezu alle Vorteile und Eigenschaften von C, zusätzlich aber noch eine etwas höhere Abstraktionsebene und eine umfangreichere und bequemere Standardbibliothek. C++ ist auf Grund der vielen unterstützten Paradigmen und Techniken bei gleichzeitiger Wahrung der low-level-Anteile von C eine der komplexesten Sprachen überhaupt, und es dauert viele Jahre, bis du einigermaßen effizient und sicher mit der Sprache umgehen kannst. Dafür gehört sie aber immer noch zu den verbreitetsten Sprachen.

C# ist im Gegensatz zu C und C++ wesentlich leichter zu erlernen und hat einen reinen high-level-Ansatz. Mit dieser Sprache kommst du unter Umständen schneller zu Erfolgserlebnissen und kannst viel früher mit GUI-Programmierung anfangen. Dafür bist du andererseits aber ziemlich festgelegt auf Windows-Programmierung. Zwar gibt es freie Implementierungen auch für Linux / Unix, aber das ist eher ein Workaround, so, als würdest du einem Schlauchboot Räder anschrauben, damit du auch an Land damit fahren kannst, statt gleich ein Auto zu nehmen.

2

Ich hab mir mal ein bisschen was dazu durchgelesen und ich muss sagen, ja ist was für Anfänger, jedoch würde ich dir empfehlen mit Java anzufangen.Ist weitverbreitet und noch sehr einfach.Zusätzlich gibt es auch noch haufenweise Bücher, sogar kostenlose und gute(Google nach "Java Openbook - Galileo Computing").Mit Java bist du auch schon gut dabei, würde dir also eher das raten zu erlernen.Kannst auch grafisches damit machen!

WIe ich deinem Vorredner schon geschrieben habe, werde ich im nächsten Schuljahr Java behandeln und wollte mich deshalb privat mit Prolog auseinandersetzen.

Von den Galileo Computing Büchern habe ich auch schon gehört. Die sollen recht gut sein... Habe von denen jedoch leider keins gefunden, dass sich mit Prolog auseinandersetzt. Sonst würde ich die nutzen^^

0

Bist du noch Schüler?

Die logische Programmierung ist schon ein ganz eigenes Konzept. Wen es interessiert, der kann sich ja gern mal damit auseinandersetzen und dann eben auch am besten zum Einsteigen mit Prolog. Wir haben das im Studium gemacht und das war schon ganz schön knifflig (hatte einen 1er-Schnitt).

Wenn du aber eher programmieren lernen willst wie du es später im Berufsleben am ehesten brauchen kannst, wendest du dich besser der objektorientierten Programmierung zu, zum Beispiel mit C++, Java oder C#. Wüsste jetzt nicht, wo dir Prolog wirklich etwas nützen würde.

Ja, ich bin noch Schüler^^ 12. Klasse Nächstes Schuljahr, wenn ich 13. bin, werden wir in der Schule Java behandeln... Ist ja objektorientiert

Mein Lehrer sagte mir noch, dass es Schüler, die in der Schule nur objektorientiert programmiert haben, später schwerer haben werden, da sie dann noch nie von logischer Programmierung gehört haben.

0
@antarispro

Ich stehe jetzt schon seit über 5 Jahren als Softwareentwickler und IT-Berater im Beruf, hab noch nie Prolog gebraucht oder eine andere logische Programmiersprache. Die logische Programmierung hat schon ihre Anwendungsgebiete (hier kannst du nachlesen welche: http://de.wikipedia.org/wiki/Logische_Programmierung). Aber ich finde, dass es gerade für einen Anfänger/Schüler nicht unbedingt einleuchtend ist. Warte damit lieber bis zum Informatikstudium :-)

Du kannst dich neben Java, C++, C# auch noch mit Sprachen wie PHP, JavaScript, Python, Ruby beschäftigen.

1

Welche KI (Künstl. Intelligenz) ist derzeit die beste?!?

Hi,

welches ist die derzeit beste existierende KI ? (Turing-Test) Welches ist die derzeit beste öffentlich erhältliche KI, mit der man interagieren kann (Sprachausgabe, semantisches Verständnis etc.) ?!? (Habe von Kaily 2.3 gehört: State of the Art ?!?)

Danke mal im Voraus.

...zur Frage

Java KI/AI programmieren?

Hallo!

Ich versuche jetzt schon seit ungefähr drei Stunden eine KI/AI in Java zu programmieren, doch finde keine Lösung. Kurzgesagt: Die KI soll den Spieler, sobald er in bestimmter Recihweite ist, angreifen und/oder verfolgen. Ich wäre für Antworten sehr dankbar! ;)

...zur Frage

Selbstlernende AI/KI programmieren?

Ich möchte eine Künstliche intelligenz programmieren, die selber lernt bzw man ihr sachen beibringt. Bsp: Ich frage den Chatbot(Nicht für SocalMedien platformen) irgendwas und er kann irgendwann fast alles beantworten. Wie,mit was, und welcher Programmiersprache man KI`s programmiert und wies auch am einfachsten ist.

...zur Frage

Könnte eine anerkannte künstliche Intelligenz als oberste Instanz das Fortbestehen einer Demokratie sichern?

In China wurde ein Präsident auf Lebenszeit eingeführt, Donald Trump findet die Idee gut und Putin wird womöglich auch darüber nachdenken. Mehr Stabilität ist das Ziel. Wie müssen sich Demokratien verändern, um Stabilität, Entscheidungs- und Handlungsfähigkeit nachhaltig zu verbessern. Sind künstliche Intelligenzen schon bald eine demokratische Alternative zu Präsidenten auf Lebenszeit?

...zur Frage

Wie soll ich das Thema meiner Seminarfacharbeit über künstliche Intelligenz formulieren?

Ich muss schleunigst den Zettel zur Auswahl des Seminarfachthemas ausfüllen. Sieht so aus: http://www.klg-erfurt.de/files_db/1348214806_1382__6.pdf

Ich würde gerne etwas über künstliche Intelligenz machen und selber etwas programmieren(z. B. ein neuronales Netz trainieren) und über gesellschaftliche Folgen schreiben(zukünftiger Arbeitsmarkt usw.).

Ich weiß bloß nicht, wie ich Thema, Themenbeschreibung und Eigenanteil formulieren soll. Über Hilfe würde ich mich riesig freuen!

...zur Frage

Was möchtest Du wissen?