Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Common Lisp

264
254
+ 1
145
Perl

3.5K
934
+ 1
575
Add tool

Common Lisp vs Perl: What are the differences?

Key Differences between Common Lisp and Perl

Perl and Common Lisp are two programming languages that have their own unique features and use cases. Here are six key differences between them:

1. Syntax: Common Lisp has a more traditional syntax with its focus on lists and parentheses, making it resemble a mathematical notation. On the other hand, Perl is known for its shorthand notation, using various special characters and symbols to accomplish tasks with concise code.

2. Paradigm: Common Lisp is primarily a functional programming language with support for imperative and object-oriented programming paradigms. Perl, on the other hand, is a highly flexible language that allows programmers to combine procedural, functional, and object-oriented styles as per their requirements.

3. Community and Libraries: Common Lisp has a smaller but dedicated community, with a focus on language standards and robust libraries for various purposes. Perl, on the other hand, has a larger user base and a wide range of libraries, making it suitable for a broad range of applications.

4. Expressiveness: Common Lisp provides a powerful macro system that allows users to extend the language with domain-specific abstractions, making it extremely expressive and customizable. In contrast, Perl is known for its built-in text manipulation capabilities and regular expression support, enabling rapid development for tasks involving parsing and data manipulation.

5. Language Stability: Common Lisp has a stable language specification and follows a more conservative approach to introducing new features. This stability can be advantageous for long-term projects with a need for compatibility. Perl, on the other hand, emphasizes flexibility and has a reputation for evolving quickly, introducing new features and improvements more frequently.

6. Use Cases: Common Lisp is often used for tasks that require complex programming logic, symbolic manipulation, artificial intelligence, and large-scale software development projects. Perl, on the other hand, has gained popularity for its ability to handle text processing, file manipulation, and system administration tasks in a concise and efficient manner.

In summary, the main differences between Common Lisp and Perl lie in their syntax, programming paradigms, community support, expressiveness, language stability, and use cases. These distinctions make them suitable for different types of projects and reflect the design philosophies of each language.

Advice on Common Lisp and Perl
Needs advice
on
GolangGolangPerlPerl
and
RustRust

I intend to use a programming language which I'll use as AWS runtime and write a script that will comb through tons of files in a directory and its subdirectories and search for simple text regular expressions and process and write the matches in a file as output. I have heard that Perl is good for regex based search but I also want the performance to be good as it will have to go through tons of files for IO. In this post: https://filia-aleks.medium.com/aws-lambda-battle-2021-performance-comparison-for-all-languages-c1b441005fd1, I see that Rust works well as AWS Lambda runtime with very good performance. Which one should I choose as my AWS lambda runtime for this problem? Golang is also an option as it is fast as per the above link.

See more
Replies (1)
Recommends

I used to work in a Perl shop and must admit that the language is very simple for tasks like these, but as you mentioned it's not fast at execution time. I'm now a Go programmer professionally but I taught myself the language while in college purely out of interest and eventually found my way to the job, not the other way around. I've recently been learning a little rust because of how much that language comes up in conversations around Go. I find the concept of the borrow checker nice but I have to admit I feel lost like I am in most flavors of new fancy framework js. That's not to say Rust is really anything like js, but the learning appears the same to me as someone who's convinced they could learn just about any programming language if it was necessary (over time I've seen procedural, OOP, declarative and functional stuff but never programming logic outside of the prolog code I wrote in school).

Go isn't made for your specific task at hand but it's a very easy language to pick up and it has good directory traversal standard library code and good regex (even though with time perl's has been optimized to be faster and I think it's written in C++) but more than anything Go is "cloud native" programming in that an awful lot of new microservice tech stacks are centered around it, docker and kubernetes are written in it, and there's a thriving community whose focus is generally web-first and performance-oriented. This means for your use case there might already be a large cohort of gophers that have asked the stackoverflow questions for you

I personally would push you towards the NYT Profiler for Perl before I would towards Rest, but that's because I know you wouldn't waste any time being able to get to the task at hand and then make it go faster, and I expect all but a few rustaceans would be able to do so with the same speed.

Whatever you pick I wish you the very best of luck!

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Common Lisp
Pros of Perl
  • 24
    Flexibility
  • 22
    High-performance
  • 17
    Comfortable: garbage collection, closures, macros, REPL
  • 13
    Stable
  • 12
    Lisp
  • 8
    Code is data
  • 6
    Can integrate with C (via CFFI)
  • 6
    Multi paradigm
  • 5
    Lisp is fun
  • 4
    Macros
  • 4
    Easy Setup
  • 3
    Parentheses
  • 3
    Open source
  • 3
    Purelly functional
  • 3
    Elegant
  • 1
    DSLs
  • 1
    Multiple values
  • 1
    CLOS/MOP
  • 1
    Clean semantics
  • 1
    Will still be relevant 100 years from now
  • 1
    Still decades ahead of almost all programming languages
  • 1
    Best programming language
  • 1
    Simple syntax
  • 1
    Powerful
  • 1
    Generic functions
  • 1
    Can implement almost any feature as a library
  • 1
    Formal specification, multiple implementations
  • 72
    Lots of libraries
  • 66
    Open source
  • 61
    Text processing
  • 54
    Powerful
  • 49
    Unix-style
  • 47
    Regex
  • 37
    Stable
  • 32
    Concise syntax
  • 29
    Hackerish
  • 22
    Easy to use
  • 16
    Swiss army chainsaw
  • 13
    Code Less Do More
  • 12
    CPAN
  • 9
    Freedom
  • 8
    All purpose
  • 5
    Readability
  • 5
    Familiar
  • 5
    Many ways to do it
  • 5
    Community
  • 4
    Object-Oriented
  • 4
    Modular
  • 4
    Smart (does alot for you)
  • 3
    Postmodern
  • 3
    It's the best one-off task language
  • 2
    For a man
  • 2
    Good man pages
  • 1
    Auto case variables
  • 1
    Single Source Library (CPAN)
  • 1
    Multi-threaded support
  • 1
    Multiparadigm
  • 1
    C-style
  • 1
    Hashes

Sign up to add or upvote prosMake informed product decisions

Cons of Common Lisp
Cons of Perl
  • 4
    Too many Parentheses
  • 3
    Standard did not evolve since 1994
  • 2
    Small library ecosystem
  • 2
    No hygienic macros
  • 1
    Inadequate community infrastructure
  • 1
    Ultra-conservative community
  • 4
    Messy $/@/% syntax
  • 3
    No exception handling
  • 2
    Bad OO support
  • 2
    "1;"
  • 2
    No OS threads
  • 1
    Variables are global by default
  • 1
    Copy-on-create for interpreter-based threads
  • 1
    Barewords
  • 1
    Errors/warnings are ignored by default

Sign up to add or upvote consMake informed product decisions

668
2.7K
6.3K
2.2K
13.4K
68.1K
- No public GitHub repository available -

What is Common Lisp?

Lisp was originally created as a practical mathematical notation for computer programs, influenced by the notation of Alonzo Church's lambda calculus. It quickly became the favored programming language for artificial intelligence (AI) research. As one of the earliest programming languages, Lisp pioneered many ideas in computer science, including tree data structures, automatic storage management, dynamic typing, conditionals, higher-order functions, recursion, and the self-hosting compiler. [source: wikipedia]

What is Perl?

Perl is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Common Lisp?
What companies use Perl?
Manage your open source components, licenses, and vulnerabilities
Learn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Common Lisp?
What tools integrate with Perl?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

What are some alternatives to Common Lisp and Perl?
Clojure
Clojure is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system.
Haskell
It is a general purpose language that can be used in any domain and use case, it is ideally suited for proprietary business logic and data analysis, fast prototyping and enhancing existing software environments with correct code, performance and scalability.
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
Racket
It is a general-purpose, multi-paradigm programming language based on the Scheme dialect of Lisp. It is designed to be a platform for programming language design and implementation. It is also used for scripting, computer science education, and research.
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
See all alternatives