Skip to content

Latest commit

 

History

History
51 lines (32 loc) · 1.83 KB

why-clojure.md

File metadata and controls

51 lines (32 loc) · 1.83 KB

End to end development

  • performant back end on the JVM, interop with Java, Scala and other JVM libraries, largest coverage of actively developed libraries in the world
  • Clojurescript is a clean front end development language with simple way to use javascript and its libraries (cljsjs), producing efficient, lightweight JavaScript code for production (Google Closure compileer)
  • simple to use, declarative project management (in Clojure not XML)
  • additiional back end and office integraiont with Microsoft .Net (CLR)
  • possible to host on other platforms (Erlang VM, etc)

Simple, powerful, fun

  • puts the fun back into programming
  • clean syntax and straightforward design idioms
  • immutable data structures keep design elegant
  • state management handled internally (STM, atom, ref) - like having an atomic database in memory that manages state changes

One of the two parents of all programming language design

  • fortran & lisp
  • Clojure is a lisp for the modern world

Powerful features as libraries

  • Clojure can be extended easily by libraries and macros, explaining the rapid development of so many additional features
  • simple asynchronous programming with core.logic (like the channels from go-lang)
  • logic programming (like pascal) with core.logic

Simple to use tooling (Leiningen)

  • the hardest thing about managinge projects is saying the word leiningen (he is the killer of giant ants)
  • one tool to do everything

Robust server-side development

  • core set of libraries - ring, compojure, hiccup|selma, for easy server-side web development

Creative arts

  • quil, thi.ng
  • overtone

Security

  • leverages the host platforms years of efforts around security
  • authentication & authorisation libraries

Design aspects (deeper stuff) Modeling complexity or reducing to simplicity Fractal complexity - use simple functions to model complext worlds