Common Lisp vs Dart vs JavaScript

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

Common Lisp

256
250
+ 1
145
Dart

3.8K
3.6K
+ 1
452
JavaScript

349.2K
265.8K
+ 1
8.1K

Common Lisp vs Dart vs JavaScript: What are the differences?

# Key Differences Between Common Lisp and Dart and JavaScript

Common Lisp, Dart, and JavaScript are three different programming languages that offer unique features and functionalities. Here are the key differences between these languages:

1. **Type System**:
Common Lisp is a dynamically typed language with strong support for functional programming, making it versatile and powerful for various applications. Dart is a statically typed language that provides strong type checking at compile time, ensuring fewer runtime errors. JavaScript, on the other hand, is weakly typed, allowing for flexible and easy development but potentially leading to unexpected behaviors.

2. **Concurrency and Parallelism**:
Common Lisp has built-in support for advanced concurrency features like multithreading and parallel programming through libraries like `bordeaux-threads`. Dart provides Isolates as a way to achieve concurrency, making it easier to develop efficient concurrent programs. JavaScript, although single-threaded, can utilize asynchronous programming with features like Promises and async/await for efficient execution.

3. **Development Environment**:
Common Lisp has a rich eco-system of libraries and tools like Quicklisp for package management and environments like Emacs with SLIME for integrated development. Dart offers a comprehensive development environment with tools like Dart SDK, Flutter for mobile app development, and WebStorm IDE. JavaScript has a wide range of frameworks and libraries like Node.js, React, and Angular, along with text editors like Visual Studio Code for development.

4. **Performance**:
Common Lisp is known for its high performance due to its compiler optimizations and direct access to machine resources, making it suitable for demanding computational tasks. Dart is optimized for fast execution through its AOT (Ahead-Of-Time) compilation, making it efficient for mobile and web applications. JavaScript's performance varies depending on the runtime environment and optimizations applied, making it versatile but sometimes less performant than compiled languages.

5. **Language Paradigm**:
Common Lisp supports multiple paradigms like procedural, object-oriented, and functional programming through its flexible nature, allowing developers to choose the best approach for their needs. Dart is primarily an object-oriented language with support for functional programming, providing a structured approach to software development. JavaScript is a multi-paradigm language that combines object-oriented, functional, and imperative programming, offering flexibility but potentially leading to complex codebases.

6. **Community and Support**:
Common Lisp has a dedicated community of users and contributors who actively maintain libraries, frameworks, and documentation to support its ecosystem. Dart is backed by Google and has a growing community around web and mobile development, with official documentation and resources. JavaScript has one of the largest and most active communities in the programming world, with abundant resources, tutorials, and community-driven frameworks for development.

In Summary, the key differences between Common Lisp, Dart, and JavaScript lie in their type systems, concurrency models, development environments, performance characteristics, supported paradigms, and community support, offering developers a range of choices based on their project requirements and programming preferences.
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Common Lisp
Pros of Dart
Pros of JavaScript
  • 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
  • 59
    Backed by Google
  • 53
    Flutter
  • 39
    Twice the speed of Javascript
  • 35
    Great tools
  • 30
    Scalable
  • 27
    Open source
  • 26
    Made for the future
  • 25
    Can be used on Frontend
  • 22
    Polymer Dart
  • 22
    Angular Dart
  • 18
    Cross platform
  • 16
    Like Java
  • 14
    Easy to learn
  • 13
    Dartanalyzer
  • 12
    Runs on Google Cloud Platform
  • 10
    Easy to Understand
  • 9
    Amazing concurrency primitives
  • 8
    Is to JS what C is to ASM
  • 7
    Flutter works with darts
  • 3
    R
  • 3
    Can run Dart in AWS Lambda
  • 1
    Looks familiar, with purposely implemented features
  • 1.7K
    Can be used on frontend/backend
  • 1.5K
    It's everywhere
  • 1.2K
    Lots of great frameworks
  • 896
    Fast
  • 745
    Light weight
  • 425
    Flexible
  • 392
    You can't get a device today that doesn't run js
  • 286
    Non-blocking i/o
  • 236
    Ubiquitousness
  • 191
    Expressive
  • 55
    Extended functionality to web pages
  • 49
    Relatively easy language
  • 46
    Executed on the client side
  • 30
    Relatively fast to the end user
  • 25
    Pure Javascript
  • 21
    Functional programming
  • 15
    Async
  • 13
    Full-stack
  • 12
    Setup is easy
  • 12
    Its everywhere
  • 11
    JavaScript is the New PHP
  • 11
    Because I love functions
  • 10
    Like it or not, JS is part of the web standard
  • 9
    Can be used in backend, frontend and DB
  • 9
    Expansive community
  • 9
    Future Language of The Web
  • 9
    Easy
  • 8
    No need to use PHP
  • 8
    For the good parts
  • 8
    Can be used both as frontend and backend as well
  • 8
    Everyone use it
  • 8
    Most Popular Language in the World
  • 8
    Easy to hire developers
  • 7
    Love-hate relationship
  • 7
    Powerful
  • 7
    Photoshop has 3 JS runtimes built in
  • 7
    Evolution of C
  • 7
    Popularized Class-Less Architecture & Lambdas
  • 7
    Agile, packages simple to use
  • 7
    Supports lambdas and closures
  • 6
    1.6K Can be used on frontend/backend
  • 6
    It's fun
  • 6
    Hard not to use
  • 6
    Nice
  • 6
    Client side JS uses the visitors CPU to save Server Res
  • 6
    Versitile
  • 6
    It let's me use Babel & Typescript
  • 6
    Easy to make something
  • 6
    Its fun and fast
  • 6
    Can be used on frontend/backend/Mobile/create PRO Ui
  • 5
    Function expressions are useful for callbacks
  • 5
    What to add
  • 5
    Client processing
  • 5
    Everywhere
  • 5
    Scope manipulation
  • 5
    Stockholm Syndrome
  • 5
    Promise relationship
  • 5
    Clojurescript
  • 4
    Because it is so simple and lightweight
  • 4
    Only Programming language on browser
  • 1
    Hard to learn
  • 1
    Test
  • 1
    Test2
  • 1
    Easy to understand
  • 1
    Not the best
  • 1
    Easy to learn
  • 1
    Subskill #4
  • 0
    Hard 彤

Sign up to add or upvote prosMake informed product decisions

Cons of Common Lisp
Cons of Dart
Cons of JavaScript
  • 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
  • 3
    Lack of ORM
  • 3
    Locked in - JS or TS interop is very hard to accomplish
  • 0
    A
  • 22
    A constant moving target, too much churn
  • 20
    Horribly inconsistent
  • 15
    Javascript is the New PHP
  • 9
    No ability to monitor memory utilitization
  • 8
    Shows Zero output in case of ANY error
  • 7
    Thinks strange results are better than errors
  • 6
    Can be ugly
  • 3
    No GitHub
  • 2
    Slow

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

Dart is a cohesive, scalable platform for building apps that run on the web (where you can use Polymer) or on servers (such as with Google Cloud Platform). Use the Dart language, libraries, and tools to write anything from simple scripts to full-featured apps.

What is JavaScript?

JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.

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

What companies use Common Lisp?
What companies use Dart?
What companies use JavaScript?

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

What tools integrate with Common Lisp?
What tools integrate with Dart?
What tools integrate with JavaScript?

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

Blog Posts

May 6 2020 at 6:34AM

Pinterest

JavaScriptC++Varnish+6
5
3365
JavaScriptGitHubReact+12
5
4131
Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
954
Oct 11 2019 at 2:36PM

LogRocket

JavaScriptReactAngularJS+8
5
1961
Oct 3 2019 at 7:13PM

Ably Realtime

JavaScriptPythonNode.js+8
5
3823
JavaScriptPythonPubNub+4
7
1501
What are some alternatives to Common Lisp, Dart, and JavaScript?
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