fit 2002 > Programmmiersprachentypen > die reale Praxis > deklarative Sprachen

Überblick


Prolog gilt wegen seiner Abstraktheit neben LISP als Sprache für Anwendungen der künstlichen Intelligenz, ganz allgemein der Symbolverarbeitung.

Prolog kann für viele andere Anwendungen verwendet werden. Einige Beispiele:


  • Expertensysteme: Programme, die in sich das Wissen eines Experten für ein bestimmtes Fachgebiet enthalten, z.B. Auswertung von Krankheitssymptome
  • Verarbeitung natürlicher Sprache: Parsing, Übersetzung, Textverstehen, natürlichsprachliche Datenbankschnittstellen
  • mechanisches Theorembeweisen: Beweisen von Theoremen eines Axiomensystems

Abschliessend ein kleiner Scherz, den ich auf >[mta] gefunden habe.

The proliferation of modern programming languages (all of which seem to have stolen countless features from one another) sometimes makes it difficult to remember what language you're currently using. This handy reference is offered as a public service to help programmers who find themselves in such a dilemma.

Task: Shoot Yourself In The Foot
    • C: You shoot yourself in the foot.

    • C++: You accidentally create a dozen instances of yourself and shoot them all
      in the foot. Providing emergency medical assistance is impossible since you
      can't tell which are bitwise copies and which are just pointing at others and
      saying, "That's me, over there."

    • FORTRAN: You shoot yourself in each toe, iteratively, until you run out of
      toes, then you read in the next foot and repeat. If you run out of bullets,
      you continue with the attempts to shoot yourself anyways because you have no
      exception-handling capability.

    • Pascal: The compiler won't let you shoot yourself in the foot.

    • Ada: After correctly packing your foot, you attempt to concurrently load the
      gun, pull the trigger, scream, and shoot yourself in the foot. When you try,
      however, you discover you can't because your foot is of the wrong type.

    • COBOL: Using a COLT 45 HANDGUN, AIM gun at LEG.FOOT, THEN place
      ARM.HAND.FINGER on HANDGUN.TRIGGER and SQUEEZE. THEN return HANDGUN to HOLSTER. CHECK whether shoelace needs to be re-tied.

    • LISP: You shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds...

    • FORTH: Foot in yourself shoot.

    • BASIC: Shoot yourself in the foot with a water pistol. On large systems, continue until entire lower body is waterlogged.

    • Visual Basic: You'll really only appear to have shot yourself in the foot, but you'll have had so much fun doing it that you won't care.

    • HyperTalk: Put the first bullet of gun into foot left of leg of you. Answer the result.

    • APL: You shoot yourself in the foot, then spend all day figuring out how to do it in fewer characters.

    • SNOBOL: If you succeed, shoot yourself in the left foot. If you fail, shoot yourself in the right foot.

    • Unix:

      % ls
      foot.c foot.h foot.o toe.c toe.o

      % rm * .o
      rm:.o no such file or directory

      % ls
      %

    • Assembler: You try to shoot yourself in the foot, only to discover you must first invent the gun, the bullet, the trigger, and your foot.

    • Modula2: After realizing that you can't actually accomplish anything in this language, you shoot yourself in the head.

    • Prolog: You tell your program that you want to be shot in the foot. The program figures out how to do it, but the syntax doesn't permit it to explain it to you.

    Weiterführende Informationen


    >[prolog-pd] The public-domain Prolog library
    >[tplp]
    The Theory and Practice of Logic Programming Journal

    >Entstehungskontext | Konzepte und Techniken | Entwicklung und Auswirkungen | Praxis | Bewertung