Haskell vs JavaScript vs Python

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

Haskell

825
854
+ 1
471
JavaScript

164.7K
120.6K
+ 1
7.5K
Python

110K
84.3K
+ 1
6.4K
Decisions about Haskell, JavaScript, and Python
E Tidalgo

I use Powershell for everyday scripting, text manipulation, simple REST api testing and other tasks. My choice to use Powershell was primarily based on availability. At the time (2010), every company machine I was using or going to use was Windows and guaranteed to have Powershell. Python was an option but not guaranteed to be installed on every machine. The choice was not based on ease of use, flexibility or support.

See more
Fronted Rent

We’re a new startup so we need to be able to deliver quick changes as we find our product market fit. We’ve also got to ensure that we’re moving money safely, and keeping perfect records. The technologies we’ve chosen mix mature but well maintained frameworks like Django, with modern web-first and api-first front ends like GraphQL, NextJS, and Chakra. We use a little Golang sparingly in our backend to ensure that when we interact with financial services, we do so with statically compiled, strongly typed, and strictly limited and reviewed code.

You can read all about it in our linked blog post.

See more
Timm Stelzer
Software Engineer at Flexperto GmbH · | 18 upvotes · 83.7K views

We have a lot of experience in JavaScript, writing our services in NodeJS allows developers to transition to the back end without any friction, without having to learn a new language. There is also the option to write services in TypeScript, which adds an expressive type layer. The semi-shared ecosystem between front and back end is nice as well, though specifically NodeJS libraries sometimes suffer in quality, compared to other major languages.

As for why we didn't pick the other languages, most of it comes down to "personal preference" and historically grown code bases, but let's do some post-hoc deduction:

Go is a practical choice, reasonably easy to learn, but until we find performance issues with our NodeJS stack, there is simply no reason to switch. The benefits of using NodeJS so far outweigh those of picking Go. This might change in the future.

PHP is a language we're still using in big parts of our system, and are still sometimes writing new code in. Modern PHP has fixed some of its issues, and probably has the fastest development cycle time, but it suffers around modelling complex asynchronous tasks, and (on a personal note) lack of support for writing in a functional style.

We don't use Python, Elixir or Ruby, mostly because of personal preference and for historic reasons.

Rust, though I personally love and use it in my projects, would require us to specifically hire for that, as the learning curve is quite steep. Its web ecosystem is OK by now (see https://www.arewewebyet.org/), but in my opinion, it is still no where near that of the other web languages. In other words, we are not willing to pay the price for playing this innovation card.

Haskell, as with Rust, I personally adore, but is simply too esoteric for us. There are problem domains where it shines, ours is not one of them.

See more
Pros of Haskell
Pros of JavaScript
Pros of Python
  • 82
    Purely-functional programming
  • 63
    Statically typed
  • 56
    Type-safe
  • 38
    Open source
  • 37
    Great community
  • 29
    Composable
  • 28
    Built-in concurrency
  • 27
    Built-in parallelism
  • 21
    Referentially transparent
  • 18
    Generics
  • 13
    Intellectual satisfaction
  • 13
    Type inference
  • 10
    If it compiles, it's correct
  • 7
    Flexible
  • 6
    Monads
  • 4
    Great type system
  • 3
    Proposition testing with QuickCheck
  • 2
    Best in class thinking tool
  • 2
    Great maintainability of the code
  • 2
    Fun
  • 2
    One of the most powerful languages *(see blub paradox)*
  • 2
    Highly expressive, type-safe, fast development time
  • 1
    Type classes
  • 1
    Better type-safe than sorry
  • 1
    Pattern matching and completeness checking
  • 1
    Kind system
  • 1
    Purely-functional Programming
  • 1
    Reliable
  • 0
    Orthogonality
  • 0
    Predictable
  • 1.6K
    Can be used on frontend/backend
  • 1.5K
    It's everywhere
  • 1.1K
    Lots of great frameworks
  • 880
    Fast
  • 729
    Light weight
  • 407
    Flexible
  • 373
    You can't get a device today that doesn't run js
  • 278
    Non-blocking i/o
  • 227
    Ubiquitousness
  • 182
    Expressive
  • 44
    Extended functionality to web pages
  • 40
    Relatively easy language
  • 37
    Executed on the client side
  • 22
    Relatively fast to the end user
  • 18
    Pure Javascript
  • 13
    Functional programming
  • 6
    Async
  • 4
    Because I love functions
  • 4
    Setup is easy
  • 4
    Full-stack
  • 4
    JavaScript is the New PHP
  • 3
    Like it or not, JS is part of the web standard
  • 3
    Can be used in backend, frontend and DB
  • 3
    Its everywhere
  • 3
    Expansive community
  • 3
    Future Language of The Web
  • 2
    For the good parts
  • 2
    Love-hate relationship
  • 2
    Popularized Class-Less Architecture & Lambdas
  • 2
    Everyone use it
  • 2
    Easy to hire developers
  • 2
    Supports lambdas and closures
  • 2
    Evolution of C
  • 1
    Versitile
  • 1
    No need to use PHP
  • 1
    Can be used both as frontend and backend as well
  • 1
    Agile, packages simple to use
  • 1
    Can be used on frontend/backend/Mobile/create PRO Ui
  • 1
    Powerful
  • 1
    It's fun
  • 1
    Its fun and fast
  • 1
    Most Popular Language in the World
  • 1
    Hard not to use
  • 1
    Stockholm Syndrome
  • 1
    Photoshop has 3 JS runtimes built in
  • 1
    Promise relationship
  • 1
    It let's me use Babel & Typescript
  • 1
    Function expressions are useful for callbacks
  • 1
    Scope manipulation
  • 1
    What to add
  • 1
    Clojurescript
  • 1
    Client processing
  • 1
    Everywhere
  • 1
    Only Programming language on browser
  • 1
    Nice
  • 0
    Client side JS uses the visitors CPU to save Server Res
  • 0
    Because it is so simple and lightweight
  • 0
    Easy to make something
  • 0
    Easy
  • 1.1K
    Great libraries
  • 918
    Readable code
  • 812
    Beautiful code
  • 762
    Rapid development
  • 667
    Large community
  • 412
    Open source
  • 374
    Elegant
  • 263
    Great community
  • 256
    Object oriented
  • 205
    Dynamic typing
  • 67
    Great standard library
  • 50
    Very fast
  • 46
    Functional programming
  • 32
    Scientific computing
  • 31
    Easy to learn
  • 29
    Great documentation
  • 25
    Matlab alternative
  • 22
    Productivity
  • 21
    Easy to read
  • 19
    Simple is better than complex
  • 17
    It's the way I think
  • 17
    Imperative
  • 14
    Very programmer and non-programmer friendly
  • 14
    Powerful
  • 13
    Fast and simple
  • 13
    Free
  • 13
    Powerfull language
  • 12
    Scripting
  • 9
    Explicit is better than implicit
  • 9
    Machine learning support
  • 8
    Ease of development
  • 8
    Unlimited power
  • 7
    Import antigravity
  • 7
    Clear and easy and powerfull
  • 6
    It's lean and fun to code
  • 6
    Print "life is short, use python"
  • 5
    There should be one-- and preferably only one --obvious
  • 5
    Python has great libraries for data processing
  • 5
    High Documented language
  • 5
    Although practicality beats purity
  • 5
    I love snakes
  • 5
    Great for tooling
  • 5
    Flat is better than nested
  • 5
    Fast coding and good for competitions
  • 4
    Readability counts
  • 3
    Lists, tuples, dictionaries
  • 3
    Plotting
  • 3
    Socially engaged community
  • 3
    Rapid Prototyping
  • 3
    Complex is better than complicated
  • 3
    CG industry needs
  • 3
    Great for analytics
  • 3
    Beautiful is better than ugly
  • 3
    Multiple Inheritence
  • 2
    Simple and easy to learn
  • 2
    Generators
  • 2
    Special cases aren't special enough to break the rules
  • 2
    Now is better than never
  • 2
    If the implementation is hard to explain, it's a bad id
  • 2
    If the implementation is easy to explain, it may be a g
  • 2
    Import this
  • 2
    No cruft
  • 2
    Easy to learn and use
  • 2
    List comprehensions
  • 1
    Because of Netflix
  • 1
    Pip install everything
  • 1
    Easy to setup and run smooth
  • 1
    Web scraping
  • 1
    Only one way to do it
  • 1
    A-to-Z
  • 1
    Many types of collections
  • 1
    Flexible and easy
  • 1
    Better outcome
  • 1
    Batteries included
  • 0
    Powerful
  • 0
    Pro

Sign up to add or upvote prosMake informed product decisions

Cons of Haskell
Cons of JavaScript
Cons of Python
  • 6
    Too much distraction in language extensions
  • 5
    Error messages can be very confusing
  • 3
    No best practices
  • 3
    No good ABI
  • 3
    Libraries have poor documentation
  • 2
    Sometimes performance is unpredictable
  • 2
    Poor packaging for apps written in it for Linux distros
  • 1
    Slow compilation
  • 21
    A constant moving target, too much churn
  • 20
    Horribly inconsistent
  • 13
    Javascript is the New PHP
  • 8
    No ability to monitor memory utilitization
  • 5
    Shows Zero output in case of ANY error
  • 4
    Can be ugly
  • 3
    Thinks strange results are better than errors
  • 1
    No GitHub
  • 48
    Still divided between python 2 and python 3
  • 26
    Poor syntax for anonymous functions
  • 26
    Performance impact
  • 18
    GIL
  • 18
    Package management is a mess
  • 13
    Too imperative-oriented
  • 12
    Hard to understand
  • 10
    Dynamic typing
  • 8
    Not everything is expression
  • 7
    Indentations matter a lot
  • 7
    Explicit self parameter in methods
  • 7
    Very slow
  • 6
    Poor DSL capabilities
  • 6
    No anonymous functions
  • 6
    Requires C functions for dynamic modules
  • 5
    Hard to obfuscate
  • 5
    The "lisp style" whitespaces
  • 4
    The benevolent-dictator-for-life quit
  • 4
    Lack of Syntax Sugar leads to "the pyramid of doom"
  • 4
    Threading
  • 4
    Fake object-oriented programming
  • 4
    Incredibly slow
  • 3
    Not suitable for autocomplete
  • 3
    Official documentation is unclear.
  • 2
    Circular import
  • 1
    Training wheels (forced indentation)
  • 1
    Meta classes

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -
- No public GitHub repository available -

What is 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.

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.

What is 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.

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

What companies use Haskell?
What companies use JavaScript?
What companies use Python?

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

What tools integrate with Haskell?
What tools integrate with JavaScript?
What tools integrate with Python?

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

Blog Posts

Sep 29 2020 at 7:36PM
https://img.stackshare.io/company/165617/cbd54fc70c90bdc732b07283f2a61ca8fb8980bd.png logo

WorkOS

PythonSlackG Suite+17
6
2001
PythonDockerKubernetes+7
3
573
May 6 2020 at 6:34AM
https://img.stackshare.io/stack/637945/default_422005e66f7e4963dbcd1f37cfb90fb3d562758a.png logo

Pinterest

JavaScriptC++Varnish+6
3
1688
PythonDockerAmazon S3+14
11
1862
JavaScriptGitHubReact+12
5
2902
Oct 24 2019 at 7:43PM
https://img.stackshare.io/stack/513891/default_86b138c409d64e353c3d509121b4ac1dd9cf31c4.png logo

AppSignal

JavaScriptNode.jsJava+8
5
645
What are some alternatives to Haskell, JavaScript, and Python?
Scala
Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.
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.
Erlang
Some of Erlang's uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems.
Rust
Rust is a systems programming language that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory.
OCaml
It is an industrial strength programming language supporting functional, imperative and object-oriented styles. It is the technology of choice in companies where a single mistake can cost millions and speed matters,
See all alternatives
Interest over time
News about Haskell
More news