anchor
Insights /  
LISP Family: Olympus of Programming or Underground

LISP Family: Olympus of Programming or Underground

October 14, 2021
->
9 min read
Clojure
By
Artem Barmin
Co-Founder
Alexandra Lozovyuk
Content Strategist

Do you still think LISP has lost its fame? No way!

You are indeed partly right if you'd say that the LISP programming language is being rarely used directly today. But at the same time, developers actively use Lisp standalone implementations such as Clojure, Сommon Lisp, Scheme, and others.

You may not even suspect where you can find a Lisp code. It lurks inside big codebases and is still used by business giants.

So...

  • Is Lisp worth learning in 2022 and beyond?
  • Why are Lisp concepts gaining popularity?
  • What Lisp dialect is the most widely used nowadays?

Let's figure out it together in this post.

Keep calm and read my LISP: origins and ancestors

1
The first language outside the von Neumann model
2
Pioneer of functional programming
3
"The Secret Weapon"
4
"An Arcane Magic"
5
The main character of Greenspun's tenth rule of programming

All these breathtaking facts and epithets are about LISP programming language, the subject of discussions with a thin layer of amusing mystery over it (often inappropriate but...)

Sure, there is no closed knowledge and the esoteric secrecy in LISP. It's just a garden of programmer's delight with a lot of eureka moments and profound enlightenment experience.

blue
For God wrote in Lisp code when he filled the leaves with green.The fractal flowers and recursive roots: the most lovely hack I've seen.And when I ponder snowflakes, never finding two the same,I know God likes a language with its own four-letter name.

So, how it all began? What is a LISP?

Lisp (List Processing Language) was invented in 1958 by John McCarthy and was a pioneered functional programming with

  • No need for variables or assignment
  • Control via recursion and conditional expression

LISP origins are curious. John McCarthy's wanted something like "Mathematical Physics" — he called it a "Mathematical Theory of Computation". He needed a very general kind of programming language to make a user interface AI that he had thought up in the late 50s. So he needed a language that:

  • Process data in lists (rather than arrays)
  • Symbolic computation (rather than numeric)
  • Syntax based on the lambda calculus
  • S-expression
  • No need for variables or assignment
  • Control via recursion and conditional expressions

Ideas first introduced in Lisp included the if/then/else construct, first-class functions, recursive function calls, dynamic typing, lexical closures, interactive programming, dynamic memory allocation, garbage collection and incremental compilation.

Over time, it has spawned several dialects, including Common Lisp, Scheme, Clojure, Emacs Lisp, Racket, Hy, Arc, and others (more on this later).

Try LISP before you DIE, or why it's worth trying

LISP has been blessed as the most powerful programming language worldwide. Today it is the second-oldest programming language (after Fortran that is older by one year).

blue
Lisp is the greatest single programming language ever designed.
Alan Kay
a computer scientist, "father of personal computers", pioneer of OOP

You won't find Lisp on the top of the charts kind of "the most popular language worldwide". But as you know 'ad populum' arguments are mostly irrelevant.

LISP pioneered a lot of key concepts that we find across a lot of languages today. It took its place and found a lot of apologists among developers. Even booming Python has many of the features of Lisp.

Learning LISP is a good way to master functional programming, so it's often used as an introductory language for undergraduate students.

But if everything is so great why LISP language clan isn't used universally? Why are so many still so skeptical about it? Why are many developers shying away from learning Lisp?

Let's see what Lisp programming pros and cons are commonly mentioned by its fans and opponents.

icon
Functional programming paradigm
icon
Homoiconicity, macros and reflection
icon
Fast development
icon
Flexibility and scalability
icon
Consistent and elegance syntax
small smile negative blue
'Cryptic' syntax
small smile negative blue
Academic reputation
small smile negative blue
Poor learnability

It's interesting that syntax is the point of both pros and cons lists. LISP syntax turns off many people — polish (prefix) notation and reams of parentheses take some time getting used to. But, be sure, once your eyes adjust to the parens, it feels like home!

LISP in real life: success stories

LISP-like languages continue to be used for software development and attract new users and businesses.

Let's remember some of the most famous Lisp-based business cases.

LISP programming functional
viaweb
Viaweb
E-commerce, US

Viaweb was one of the first big end-user apps to be written in Lisp, which had been mostly used in research labs and universities at the time. Viaweb was started in 1995 and hailed as the first application service provider.

It was one of the first web-based e-commerce app allowing even non-tech-savvy users to build and host their own online stores using a web browser.

In 1998, Yahoo! Inc. bought Viaweb and renamed it Yahoo! Store. This experience has been influential in Silicon Valley's entrepreneurial culture.
ita software
ITA Software
Travel, US

ITA Software is a travel industry software and one of the highest-profile Common Lisp-based software companies.

Its founder J. Wertheimer started from scratch using LISP instead of the assembly code that was commonly used before. Instead of mainframes, the team used PCs. "Lisp was the natural language to start with. We needed to write lots of code very quickly; we needed the higher-level power". The system was cost-efficient and offered much more speed and flexibility.

In 2010 ITA was acquired by Google. It has been and is used by travel companies and airlines such as CheapTickets, Orbitz, Kayak.com, United Airlines, Alitalia, Delta Air Lines, Virgin Atlantic, and others.
blue
With Lisp, you would hardly be forced into some nonsense framework hell, or playing catch-up with the constant changes of your environment, or following crazy "best practices". Lisp is low-tech just like the Unix command-line or vanilla Python or JS. Contrary to the high-tech Rust, Haskell, or Java.
Vsevolod Dyomkin
grammarly
Grammarly
Online service, Ukraine, US

Grammarly is an online text editor, browser extension, and mobile app that provides:
  • grammar checking
  • spell checking
  • plagiarism detection
Grammarly's core grammar engine is written in Common Lisp and processes more than 1000 sentences per second. This Lisp software is deployed in modern cloud infrastructure and is perfectly scalable.It ranks The World's Most Innovative Companies list (AI Honorees) in 2019 and 2020-21 Career-Launching Companies Lists. Well done!
irobot
iRobot
Robotics, US

Roomba is the most famous autonomous robotic vacuum cleaners sold by iRobot and its native code is written in L, a downwardly compatible subset of Common Lisp.

Roomba's sensors detect the obstacles and dirty spots and sense steep drops to keep them from falling. High-end models use a camera to map user's home, move swiftly and detect recharging bases. Roomba units can be used to perform some creative tasks via Roomba Open Interface and an embedded computer.
arrival
ARRIVAL
Automotive, UK

Arrival is a British electric vehicle manufacturer of primarily lightweight commercial vehicles (a bus, a van, a large van, and a small vehicle platform). The company has built an electric vehicle platform that can be scaled to make many modifications in multiple vehicle types.

in October 2020 Arrival had raised $118 million from BlackRock.Inc, adding to huge investment from Hyundai Motor Co and Kia Motors Corp.

The company works with Clojure/ClojureScript language to develop a service platform for fixing technical issues and forecasted breaks, using predictive analytics algorithms.
Why Clojure is one of the most promising and smart programming languages?
In Clojure we trust
Read the article

LISP dynasty: most popular LISP dialects

Is LISP a single language? What is the most important LISP dialect? What are the differences between them?

Well, language is a dialect with an army and navy. And of course, Common Lisp isn't the only Lisp in town. Let's briefly highlight the Lisp family and its bastard sons.

lisp programming
1
Common LISP
Common Lisp (CLisp) is actually a product of the GNU foundation and was developed as a standardized and improved successor of Maclisp. It is the multi-paradigm, compiled, and ANSI standardized descendant of the Lisp family. It has great support for OOP, fast prototyping capabilities, a powerful macro system, and a flexible run-time environment.
2
Emacs LISP
Emacs Lisp is a Lisp dialect used as a scripting language by Emacs for implementing most of the editing functionality (the remainder being written in C, as is the Lisp interpreter).
3
Scheme
Scheme is a minimalist Lisp dialect consisting of a small standard core with several tools for language extension, 'an elegant and compact version of Common Lisp'. It was created during the 1970s at the MIT AI Lab. It was designed to implement exceptionally clear semantics and to vary the ways to form expressions.
blue
Keyboard crusaders that would otherwise pounce on anyone daring to suggest that some language is better than any other will concede that Lisp is on another level.
Sinclair Target
software engineer, "Two-Bit History"
4
Clojure
Clojure is LISP 1 with some minor modifications. It shares with Lisp the code-as-data philosophy and a powerful macro system. It copes well with processing large volumes of data, data mining/commercial-AI, and large-scale predictions.We at Freshcode are quite crazy about it and suggest you read our articles and Clojure researches:

Developers' Happiness or Why Our Team Chooses Clojure

Mythbusters: Why Are You Shouldn't Be Afraid About Clojure

Multitude of Clojure Tools: Huge Advantage or Big Problem?
5
Racket
Racket is based on the Scheme and was designed to support higher-order software contracts and safe gradual typing. It is commonly used for scripting, computer science education, and research. Racket provides an extensive macro system that enables creating embedded and DSLs.

How clojure is different from other LISPs

No doubt, Clojure hit the scene as a modern LISP that embraced the JVM. It was called the most joyful programming language and there are good reasons why you should start learning Clojure.

Daniel Higginbotham, the author of "Clojure for the Brave and True", called learning Clojure a journey through the Four Labyrinths: The Forest of Tooling, The Cave of Artifacts, The Mountain of Language, and The Cloud Castle of Mindset.

So, this journey is worth trying! Let's see what is new under this Lisp hood.

  • Standing on the shoulders of giants. Clojure runs on Java Virtual Machine and JavaScript platforms as opposed to CL and Scheme with the machine-code output of a compiler
  • Interop with Java and JS libraries is seamless and comfortable
  • ClojureScript lets you compile Clojure code to JS and has all the libraries of node / npm / JS
  • Clojure borrowed OOP ideas from Common Lisp (multimethods)
  • Case sensitive
  • Most data structures are immutable
  • Dynamically rebounding. With Clojure (global) functions can be dynamically rebound (if declared dynamic) without interfering with lexical local bindings
  • There is more to collections than lists
  • Clojure sequences are not specific collections. Sequences are not necessarily concrete lists. This enables them to be lazy

For more detailed information welcome here.

Looking for Clojure Development Company?
Contact our team

Wrapping up

Lisp-family languages enable programmers to write programs fast and create powerful and flexible software that is required for complex and rapidly evolving domains.

"Lisp is dead" is one of the most commonly repeated myths. It continues to be used for development and that continues to attract new users and businesses. More telling is the growth of open-source projects and the number of communities related to Lisp-family languages.

blue
Keyboard crusaders that would otherwise pounce on anyone daring to suggest that some language is better than any other will concede that Lisp is on another level.
on Hacker News

We don't claim that LISP-like language is the silver bullet that everybody should be using. But it's worth trying! "This experience will make you a better programmer, even if you never actually use LISP itself a lot". (c) PG

Freshcode team is happy to expand horizons with Clojure and its best LISP heritage. We are ready to consult you on how to benefit from Clojure software development and what solutions are suitable for your business — just fill our contact form.

Build Your Team
with Freshcode
Author
linkedin
Artem Barmin
Co-Founder

12 years in software development. Co-founder of IT agency and EdTech company.

linkedin
Alexandra Lozovyuk
Content Strategist

With a passion for technology, business ideas and storytelling, bridges the gap between technical concepts and engaging narratives. Writes catchy texts and explores design and marketing trends to find the best experiences to implement.

Shall we discuss
your idea?
Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
What happens after you fill this form?
We review your inquiry and respond within 24 hours
We hold a discovery call to discuss your needs
We map the delivery flow and manage the paperwork
You receive a tailored budget and timeline estimation
Looking for a Trusted Outsourcing Partner?