Programming Languages Overview

Small comparison of selected programming languages. [in progress]

Other resources:

Java

  • attrs: JIT-compiled, object-oriented, static typing, runs on JVM
  • pros: huge huge ecosystem of libraries, pretty fast
  • cons: lack of closures and first-class functions, no collection literals (both planned for future version 1.8), tends to lead to boilerplate code, larger memory footprint

Scala

  • attrs: JIT-compiled, object-oriented, functional, structural static typing with type inference, runs on JVM
  • pros: good performance, offers immutability, actors and STM, integration of both object-oriented and functional concepts
  • cons: large syntax, somewhat steeper learning curve

Clojure

  • attrs: functional, dynamic typing, runs on JVM, scripts are JIT-compiled on the fly, an option of ahead-of-time compilation

Ruby

  • attrs: scripting, object-oriented, dynamic typing, JRuby JIT-compiler for JVM available

Python

  • attrs: scripting, object-oriented, dynamic typing, PyPy JIT-compiler available

Lua

  • attrs: scripting, procedural, dynamic typing, LuaJIT JIT-compiler available

PHP

  • attrs: scripting, procedural, object-oriented, dynamic typing

Haskell

  • attrs: compiled, purely functional, lazy, static typing with type inference
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution 3.0 License