In our everyday developer life
- simplicity / no incidental complexity
- rapidity
- clarity
- feedback
- fail-fast
- KISS
- Concentrate on the pb to solve, no incidental complexity that hides the true pb
- We do have lots of stuffs to solve, the faster, the merrier
- No fighting with something out of scope
- Be able to read code from anyone
- Simplicity is intertwined here
- Want
- Know the fastest possible what’s wrong
- Unit Testing frameworks (midje, clojure.test)
- Do not want
- launch some improbable command to know that
- setup an heavy environment to do that
- wait for the CI server to feed us
- REPL
- addresses these problematics because it was created for that.
(Are we there yet? - Rich Hikey) perfect balance of idealism (lisp) and pragmatism (JVM)
- Perfect Java interop.
- Excellent parallel programming primitives (not threads)
- Cure your parenthesophobia !
Reading (nested) lists of parenthesis can be hard at first, but
it is simple, really !
easing the pain :
- Syntax to reduce the number of ():
- Code is data (list), but most data is not list (so obviously not code)→[],{},#{}
- Context is used for implicit grouping (i.e. of pairs of key, value)
- IDE to handle them :
- writing → electric parenthesis
- reading → rainbow
Only hard at the beginning, but the rewards (true meta-programming) lasts forever.
- Syntax to reduce the number of ():