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)

  • voice over LTE (VoLTE)

    Voice over LTE (VoLTE) is a digital packet technology that uses 4G LTE networks to route voice traffic and transmit data.

  • ONOS (Open Network Operating System)

    Open Network Operating System (ONOS) is an OS designed to help network service providers build carrier-grade software-defined ...

  • telematics

    Telematics is a term that combines the words telecommunications and informatics to describe the use of communications and IT to ...

  • three-factor authentication (3FA)

    Three-factor authentication (3FA) is the use of identity-confirming credentials from three separate categories of authentication ...

  • cyber espionage

    Cyber espionage (cyberespionage) is a type of cyber attack that malicious hackers carry out against a business or government ...

  • role-based access control (RBAC)

    Role-based access control (RBAC) is a method of restricting network access based on the roles of individual users within an ...

  • project charter

    A project charter is a formal short document that states a project exists and provides project managers with written authority to...

  • leadership

    Leadership is the ability of an individual or a group of people to influence and guide followers or members of an organization, ...

  • transaction

    In computing, a transaction is a set of related tasks treated as a single action.

  • employee engagement

    Employee engagement is the emotional and professional connection an employee feels toward their organization, colleagues and work.

  • talent pool

    A talent pool is a database of job candidates who have the potential to meet an organization's immediate and long-term needs.

  • diversity, equity and inclusion (DEI)

    Diversity, equity and inclusion is a term used to describe policies and programs that promote the representation and ...

Customer Experience
  • sales development representative (SDR)

    A sales development representative (SDR) is an individual who focuses on prospecting, moving and qualifying leads through the ...

  • service level indicator

    A service level indicator (SLI) is a metric that indicates what measure of performance a customer is receiving at a given time.

  • customer data platform (CDP)

    A customer data platform (CDP) is a type of software application that provides a unified platform of customer information that ...