Browse Definitions :

Lisp (programming language)

What is Lisp (programming language)?

Lisp, an acronym for list processing, is a functional programming language that was designed for easy manipulation of data strings. As one of the oldest programming languages still in use, Lisp offers several different dialects and has influenced the development of other languages.

A unique feature of early Lisp versions compared to most other programming languages is that the code could be directly interpreted without a compiler. The source code itself could be parsed and interpreted directly on a system. Today, however, most Lisp versions require that code be compiled and then loaded into an image to run. This offers faster program execution speeds compared to direct interpretation.

What are the different dialects of Lisp?

Since its inception, Lisp has gone through multiple changes and iterations depending on the need. These language implementations are known as dialects -- many of which are open source. The most used Lisp-based languages today include the following:

  • Clojure
  • Emacs Lisp
  • Common Lisp
  • Julia
  • Racket
  • Scheme

In Lisp, all computation is expressed as a function of at least one object. Objects can be other functions, data items -- such as constants or variables -- or data structures. Lisp's ability to compute with symbolic expressions rather than numbers makes it convenient for artificial intelligence (AI) applications. While it isn't as popular as C, Python or Perl, Lisp is still used for AI programming as well as several other functions. Lisp continues to be popular in higher education, as students learn Lisp programming tactics and extend this knowledge to the private sector after graduation.

Benefits of Lisp

While there are several reasons why the Lisp programming language is still popular after all these years, perhaps the most important is that it's considered to be a relatively simple language to learn. This is probably why it's still popular in academia. Other benefits include the following:

  • access to powerful and easy-to-integrate macros;
  • the language itself is programmable to meet nearly any need;
  • operates on most platforms; and
  • many find programming in Lisp to be faster with smaller code footprints.

Who uses Lisp?

Lisp is used within academia for a variety of functions, ranging from basic programming and AI to machine learning and quantum computing. Outside the university walls, Lisp dialects are used by the following:

  • symbolic AI programmers;

  • quantum computing professionals;

  • embedded systems programmers;

  • those seeking a quick scripting language; and

  • small or understaffed programming teams.

Today, Lisp dialects are used to create code in a variety of use-case scenarios from basic HyperText Markup Language and web-based apps to software that operates and controls mass transit systems, including the London Tube.

Commercial applications of Common Lisp include Grammarly, which uses AI to analyze text and suggest improvements, and Boeing, which uses a server written in the Lisp variant. Lisp Clojure or ClojureScript users include Amazon, Capital One and Walmart.

History of Lisp

John McCarthy at Massachusetts Institute of Technology is credited with creating the first version of Lisp in 1959. The first official implementation of the language was performed on an IBM 704 mainframe using punched cards. Between the 1960s and 2000s, more than a dozen mainstream dialects were created and used in a variety of ways.

Throughout the 1990s, Lisp's popularity began to fade as programmers opted for more modern programming languages. However, computer scientist and entrepreneur Paul Graham helped to create a resurgence in interest for Lisp. In an essay titled "Beating the Averages" written in the early 2000s, Graham wrote of his interest in using Lisp within his latest startup organization's software platform to create a competitive advantage over others. Graham stated: "Our hypothesis was that if we wrote our software in Lisp, we'd be able to get features done faster than our competitors, and also to do things in our software that they couldn't do. And because Lisp was so high-level, we wouldn't need a big development team, so our costs would be lower." Many readers of the essay took this notion to heart, and thus the use of Lisp again.

Choosing the right programming languages for DevOps workflows can be complicated, especially because there are so many to choose. Explore the advantages and disadvantages of several common programming languages.

This was last updated in September 2022

Continue Reading About Lisp (programming language)

  • remote infrastructure management

    Remote infrastructure management, or RIM, is a comprehensive approach to handling and overseeing an organization's IT ...

  • port address translation (PAT)

    Port address translation (PAT) is a type of network address translation (NAT) that maps a network's private internal IPv4 ...

  • network fabric

    'Network fabric' is a general term used to describe underlying data network infrastructure as a whole.

  • governance, risk and compliance (GRC)

    Governance, risk and compliance (GRC) refers to an organization's strategy for handling the interdependencies among the following...

  • total risk

    Total risk is an assessment that identifies all the risk factors associated with pursuing a specific course of action.

  • steganography

    Steganography is the technique of hiding data within an ordinary, nonsecret file or message to avoid detection; the hidden data ...

  • microtargeting

    Microtargeting (also called micro-niche targeting) is a marketing strategy that uses consumer data and demographics to identify ...

  • business process

    A business process is an activity or set of activities that accomplish a specific organizational goal. Business processes should ...

  • business process improvement (BPI)

    Business process improvement (BPI) is a practice in which enterprise leaders analyze their business processes to identify areas ...

  • employee onboarding and offboarding

    Employee onboarding involves all the steps needed to get a new employee successfully deployed and productive, while offboarding ...

  • skill-based learning

    Skill-based learning develops students through hands-on practice and real-world application.

  • gamification

    Gamification is a strategy that integrates entertaining and immersive gaming elements into nongame contexts to enhance engagement...

Customer Experience
  • Microsoft Dynamics 365

    Dynamics 365 is a cloud-based portfolio of business applications from Microsoft that are designed to help organizations improve ...

  • Salesforce Commerce Cloud

    Salesforce Commerce Cloud is a cloud-based suite of products that enable e-commerce businesses to set up e-commerce sites, drive ...

  • Salesforce DX

    Salesforce DX, or SFDX, is a set of software development tools that lets developers build, test and ship many kinds of ...