Browse Definitions :
Definition

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)

Networking
  • firewall as a service (FWaaS)

    Firewall as a service (FWaaS), also known as a cloud firewall, is a service that provides cloud-based network traffic analysis ...

  • private 5G

    Private 5G is a wireless network technology that delivers 5G cellular connectivity for private network use cases.

  • NFVi (network functions virtualization infrastructure)

    NFVi (network functions virtualization infrastructure) encompasses all of the networking hardware and software needed to support ...

Security
  • computer forensics (cyber forensics)

    Computer forensics is the application of investigation and analysis techniques to gather and preserve evidence from a particular ...

  • cybersecurity

    Cybersecurity is the practice of protecting internet-connected systems such as hardware, software and data from cyberthreats.

  • Advanced Encryption Standard (AES)

    The Advanced Encryption Standard (AES) is a symmetric block cipher chosen by the U.S. government to protect classified ...

CIO
HRSoftware
  • OKRs (Objectives and Key Results)

    OKRs (Objectives and Key Results) encourage companies to set, communicate and monitor organizational goals and results in an ...

  • cognitive diversity

    Cognitive diversity is the inclusion of people who have different styles of problem-solving and can offer unique perspectives ...

  • reference checking software

    Reference checking software is programming that automates the process of contacting and questioning the references of job ...

Customer Experience
  • martech (marketing technology)

    Martech (marketing technology) refers to the integration of software tools, platforms, and applications designed to streamline ...

  • transactional marketing

    Transactional marketing is a business strategy that focuses on single, point-of-sale transactions.

  • customer profiling

    Customer profiling is the detailed and systematic process of constructing a clear portrait of a company's ideal customer by ...

Close