Differences Between Prolog & Lisp

The computer languages Prolog and Lisp both rank high in the field of artificial intelligence (AI) research. Lisp is an older general-purpose language used to build programs that imitate human behavior while Prolog came later and focuses on knowledge bases and expert systems.

  1. Why Lisp?

    • Lisp is one of the oldest high-level computer programming languages. As a general purpose language, it has a rich set of data types as well as built-in data structures like lists, trees and maps. It also provides a rich set of functions that operate on these data types and structures. In many ways the language is similar in scope to Java or Python, and over time has evolved to offer many of the same features including objects and dynamic data types.

    Why Prolog?

    • Prolog is a declarative programming language that specializes in inference-based reasoning. It uses specialized logic to derive new knowledge from a list of rules known as a knowledge base. The language works well for tasks like proving mathematical theorems and building expert systems.

    Different Approaches

    • The main difference between the two languages is the way problems are described. In Lisp, the programmer must describe how the computer will solve the problem. In a chess program, the developer would instruct the computer to analyze all possible moves, creating a decision tree in memory, then have the computer determine which of the choices is best. In Prolog, the developer does not need to describe how, but instead lists the rules then points the program toward the desired results. For example, the program may include a list of medical symptoms and possible diagnoses then, given a list of symptoms, the program would rank the most likely diagnoses.

    Common Aim

    • One of the similarities that makes these languages unique is their ability to rewrite themselves as the program is running. This is how artificial intelligence occurs. In Lisp, the program itself can be treated as data that the program can manipulate. Genetic algorithms, programs that randomly mutate and evolve, can tune themselves over time, finding faster ways to reach a solution. In Prolog, new knowledge derived from existing rules as well as user input can be added to the knowledge base so it learns as it runs.

    Choosing a Language

    • Both languages have their strengths and weaknesses. Prolog is suited well for its problem domain but cannot move far outside it. Lisp can solve more problems but it takes more code to do it. Choose Prolog for knowledge-based problems, Lisp for other areas.

      For those who want to join the research field or just dabble in a new language, these are great to work with. Free open-source versions of both languages are available from the Internet and any average desktop computer has more than enough power to handle the workload.

Related Searches:

References

Comments

You May Also Like

  • Prolog Vs. Lisp

    Prolog and Lisp are computer programming languages used for artificial intelligence (AI) systems. Both can handle many of the same tasks. However,...

  • How to Learn Prolog

    Prolog is a logic programming language--the name is short for "Programming Logic." The language isn't really meant be used to write word...

  • Reasons to Use Prolog

    Reasons to Use Prolog. Prolog (Programming in Logic) is a unique programming language. It was developed in France by researchers who were...

  • Definition of Computer Programming Languages

    While humans speak languages laced with metaphor, idioms, inflections and subtext, computers require languages free from these ambiguities in order to function...

  • How to View a Lisp Code That Is Write-Protected

    Lisp is one of the oldest programming languages still in popular use as of February 2011. Lisp, legendary for its use as...

  • The Best Prolog Tutorial

    The programming language Prolog was originally developed for artificial intelligence programming. Prolog programs are written as a list of facts and rules,...

  • What Is Prolog?

    Prolog is a computer programming language that was developed around 1970. The Prolog programming language is the basis for many newer programming...

  • English Grammar Teaching Strategies

    Teachers who focus on English grammar tend to end up becoming incredibly frustrated due to the vast differences inherent in understanding the...

  • How to Teach a Child to Stop Lisping

    A lisp is a speech disorder that can have an unfavorable effect on a child's self esteem. Although lisping may be considered...

  • The Difference Between an Operand & Operator

    It is important to know the difference between an operand and an operator if you are going to do programming.

  • What Are 5th Generation Computers?

    Since the inception of first-generation computers in the 1940s, technological advancements have been taking place, making it easier and quicker for users...

  • Types of Horn Clauses in Prolog

    Sometimes a puzzle is solved by working backward through the manipulation rules. puzzle image by Aleksandr Ugorenkov from Fotolia.com

  • How do I Find the Sum of Numbers?

    In mathematics, a number series can represent many different things, from function domains and ranges to important informational systems' data. Typical operations...

  • The Computer Science Relationship Between Context-Free Grammar and Syntax

    A context-free grammar is a set of computer science rules governing sequences, or strings, of symbols. For example, writing a sentence in...

  • How to Build Large Knowledge-Based Systems

    Knowledge-based systems (KBS) consist of centralized repositories that contain information associated with a particular subject, such as a medical diagnosis ...

Related Ads

Featured