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

Common Lisp

263
253
+ 1
145
MATLAB

1.1K
697
+ 1
37
Add tool

Common Lisp vs MATLAB: What are the differences?

Key Differences between Common Lisp and MATLAB

Common Lisp and MATLAB are both popular programming languages, but they have several key differences that set them apart.

  1. Syntax: Common Lisp follows a prefix notation where the function comes first, followed by its arguments enclosed in parentheses. On the other hand, MATLAB uses infix notation with operators placed between operands.

  2. Type System: Common Lisp is a dynamically typed language, allowing for flexible variable types that can change at runtime. In contrast, MATLAB is statically typed, meaning variables must be declared with a specific type before use.

  3. Built-in Functions: Common Lisp provides a rich set of built-in functions for common programming tasks such as string manipulation, file handling, and networking. MATLAB, on the other hand, is specifically designed for mathematical and scientific computing, providing extensive built-in functions for matrix operations, plotting, and numerical analysis.

  4. Development Environment: Common Lisp typically uses an integrated development environment (IDE) like Emacs or LispWorks, offering powerful debugging and code navigation tools. MATLAB, being a high-level language, has its own IDE that provides an interactive environment for data analysis, visualization, and debugging.

  5. Community and Libraries: Common Lisp has a smaller community and fewer libraries compared to MATLAB. Although Lisp enthusiasts have developed a range of libraries for various purposes, MATLAB has a vast collection of domain-specific toolboxes and extensive support for machine learning, signal processing, and image processing tasks.

  6. Performance: Common Lisp is known for its runtime performance and efficiency. It provides low-level control over memory management and allows for optimized code execution. MATLAB, however, sacrifices some performance for ease of use and productivity, as it is optimized for numerical calculations and matrix operations.

In summary, Common Lisp and MATLAB differ in their syntax, type systems, built-in functions, development environments, community and libraries, as well as performance characteristics. While Common Lisp is more general-purpose and flexible, MATLAB is tailored for scientific computing and offers a wide range of specialized tools and libraries.

Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Common Lisp
Pros of MATLAB
  • 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
  • 20
    Simulink
  • 5
    Model based software development
  • 5
    Functions, statements, plots, directory navigation easy
  • 3
    S-Functions
  • 2
    REPL
  • 1
    Simple variabel control
  • 1
    Solve invertible matrix

Sign up to add or upvote prosMake informed product decisions

Cons of Common Lisp
Cons of MATLAB
  • 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
  • 2
    Parameter-value pairs syntax to pass arguments clunky
  • 2
    Doesn't allow unpacking tuples/arguments lists with *
  • 2
    Does not support named function arguments

Sign up to add or upvote consMake informed product decisions

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 MATLAB?

Using MATLAB, you can analyze data, develop algorithms, and create models and applications. The language, tools, and built-in math functions enable you to explore multiple approaches and reach a solution faster than with spreadsheets or traditional programming languages, such as C/C++ or Java.

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

What companies use Common Lisp?
What companies use MATLAB?
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 MATLAB?

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

What are some alternatives to Common Lisp and MATLAB?
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