Skip to content

Latest commit

 

History

History
83 lines (70 loc) · 4.94 KB

File metadata and controls

83 lines (70 loc) · 4.94 KB

mobilege / languages /

Languages

C lang   ·   Haskell   ·   JS   ·   Python   ·   Swift

Comparison

Language Family Functional/Imperative Type System Mostly used in Wiki Link
Clojure Lisp Functional Dynamic Web Development Clojure
Erlang Prolog Functional Dynamic Telecoms Erlang
Elixir Lisp Functional Dynamic Web Development Elixir
Haskell ML Functional Static Academia Haskell
Io Smalltalk Imperative Dynamic Robotics Io
Javascript C Imperative Dynamic Web Development Javascript
ML Language ML Functional Static Academia ML Language
Objective C C Imperative Static iOS Development Objective C
Racket Lisp Functional Dynamic Academia Racket
Rust C Imperative Static Systems Rust
Scheme Lisp Functional Dynamic Academia Scheme
Swift C Imperative Static iOS Development Swift
Typescript Javascript Imperative Static Web Development Typescript
  • Dynamic: Python Ruby
  • Functional: Haskell, ML Language
  • Functional - Lisp like: Scheme, Racket, Clojure (JVM, 7L7W, 7CM7W)
  • Prototype languages: Javascript, Io (7L7W)
  • Concurrent, Distributed, Fault-tolerant: Erlang (7L7W), Elixir (7CM7W Actors)
  • Logic programming: Prolog (7L7W)
Lisp Based
ML Based
  • OCaml
    • Reason
  • F#
Seven Languages in Seven Weeks
  • Ruby
  • Io
  • Prolog
  • Scala
  • Erlang
  • Clojure
  • Haskell

Learn the dynamic typing that makes Ruby, Python, and Perl so flexible and compelling.
Understand the underlying prototype system that’s at the heart of JavaScript.
See how pattern matching in Prolog shaped the development of Scala and Erlang.
Discover how pure functional programming in Haskell is different from the Lisp family of languages, including Clojure.
Explore the concurrency techniques that are quickly becoming the backbone of a new generation of Internet applications.
Find out how to use Erlang’s let-it-crash philosophy for building fault-tolerant systems.
Understand the actor model that drives concurrency design in Io and Scala.
Learn how Clojure uses versioning to solve some of the most difficult concurrency problems.

Seven More Languages in Seven Weeks
  • Factor: composition of functions - concatenative
  • Lua: prototypes
  • Elm: reactive
  • Elixir: distributed - Erlang virtual machine - Clojure-style macros - syntax of Ruby
  • Julia: multicore architectures - Scientific computing
  • MiniKanren: logic programs (like Mercury or Prolog)
  • Idris: type model - (like Haskell, Agda)