Haskell

Haskell

Haskell is a purely functional programming language that can accomplish a wide range of tasks in a seamless and streamlined manner.

Download Haskell
Features of Haskell
  • A purely functional programming language with a wide range of applications
  • Supported by a huge number of packages
  • Built with concurrent programming in mind
Pros of Haskell
  • Pure functionality means that it can serve as the swiss army knife of coding languages
  • Abstraction means less need to learn complex syntax or byzantine rules
  • Refactoring is much easier than with an OO language
Cons of Haskell
  • Does most everything well, but doesn't offer the focused functionality of more specialized languages
  • Performance isn't as good as pure C languages or Java
Haskell Reviews

There are a seemingly limitless number of programming languages around, and it can be difficult to figure out which one is ideal for your project. It can be incredibly frustrating to make it halfway into a project before you realize that the unique peculiarities of a language are working against your best interests, and success means subverting the syntax and creating unwieldy if creative workarounds rather than being able to trust that the language has clean functions that serve your specific needs. Haskell's strength comes in its flexibility and the simplicity of its syntax. Where many other languages specialize in particular types of development, Haskell serves as an all-around workhorse, and its syntax has a simple but powerful logic that makes Haskell easy to pick up and jump right into. One of the underlying strengths of Haskell is that it's a purely functional language. That means it's mathematically pure, and once you understand the principles of the language, you can accurately predict what every line of code will do. There are no peculiarities, and Haskell works solely with expressions. You don't have to worry about mutating language or the complicated difficulties that come from combining different classes of variables. Since you aren't mutating variables, there's a consistency throughout the code, which makes it easier for new developers to come in, understand, and update your code, a necessity in most modern programming projects. Unlike object oriented programming, where essentially invented language is being used to supplement the raw code that a computer analyzes, it strips everything down to the core, removing the barrier between human language and machine language more effectively than most other programming frameworks. This philosophy of simple and mathematical code can be reflected in how Haskell handles control constructs. Unlike a language like Python, where you have different variables denoting values and evaluators, Haskell has no evaluators. Through these lazy functions, you can compress together otherwise highly complicated if then chains, and most programmers know that the simpler an argument is, the lower the risk of errors along the way. Of course, a language ultimately lives and dies on its packages. Designing every single aspect of your project from scratch is a senseless and costly endeavor, and every coder comes to rely on shortcuts to achieve their end results effectively. Haskell has an expansive and enthusiastic development community, and there are over 6,000 free packages readily available. These cover everything from statistical analysis and web server management to zip compression and text encoding. Since so much of the functionality of Haskell is confined to its packages, you can simply import the functions that matter to you and compartmentalize your project's components. And the basic logic that drives Haskell's syntax means that regardless of the package you import, you can learn the ins and outs of it very quickly.

Alternatives to Haskell

Java

Free
Java is a longstanding collection of computer software and rules that is responsible for the development and deployment of hundreds of thousands of applications and websites. What sets Java
Show details

OCaml

Free
(* Binary tree with leaves carrying an integer. *) type tree = Leaf of int | Node of tree * tree let rec exists_leaf test tree = match tree with | Leaf v -> test v | Node (left, right) -> exists_leaf test
Show details

Lua

Free
Lua is a lightweight programming language that contains a serious amount of power underneath the hood.
Show details

Scala

Free
Scala is a coding language that bridges the gap between functional and imperative programming.
Show details

Rust

Free
Empowering everyone to build reliable and efficient software.
Show details

ASP.NET

Free
Build web apps and services that run on Windows, Linux, and macOS using using C#, HTML, CSS, and JavaScript. Get started for free on Windows, Linux, or macOS.
Show details

Dart

Free
Dart is a language optimized for client-side development for web and mobile.
Show details

Kotlin

Free
Kotlin · Learn Community Try Online. Statically typed programming language for modern multiplatform applications. 100% interoperable with Java™ and Android™. Try Kotlin Kotlin 1.2 available
Show details

Haxe

Free
Haxe is an open source toolkit based on a modern, high level, strictly typed programming language.
Show details

Nim (programming language)

Free
Nim is a systems and applications programming language. Statically typed and compiled, it provides unparalleled performance in an elegant package.
Show details

Erlang

Free
Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer
Show details

Clojure

Free
Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure
Show details

Elixir

Free
Professional Consulting and Development for companies using Elixir or Ruby. Projects Inception, Design and Software Development.
Show details

Ceylon

Free
August 21, 2017: Ceylon is moving to the Eclipse Foundation!
Show details

Quorum

Free
The world's first evidence-oriented programming language.
Show details

Hack

Free
4 Jan 2016 ... There are a bunch of tutorials here on null---byte and around the internet on how to hack a website with a specific tool, in case you want to learn you are in right place, just look around,
Show details

Tcl

Free
Already one of the world's best-selling consumer electronics brands, TCL is now the fastest-growing TV brand in North America. TCL TVs feature stylish design and the latest technology.‎TCL
Show details