User Tools

Site Tools


fp:home

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
fp:home [2014/10/19 21:48]
djo
fp:home [2017/07/12 21:41] (current)
djo [Lisps, more generally]
Line 1: Line 1:
-====== ​Functional Programming ​======+====== ​Clojure and Scala ======
  
-Why Functional Programming (FP)?+At the time I originally created this page, functional programming on the JVM was a controversial idea.  Today, Scala and Clojure are de-facto standards for large scale distributed systems development and in my current job we use both.  Here I index blogs and links on these topics.
  
-I do not oppose object oriented programming ​(and think that OO can coexist nicely with FP), rather, I believe that a style of programming that embraces the advantages of both OO and FP can realize significant benefits. ​ For example:+===== Clojure(script=====
  
-  * Easier tests with fewer fixtures and mocksthat refactor cleanly with the production code +  * [[http://​hoplon.io|Hoplon]], the most innovative web programming environment I've seen in a long time 
-  * More natural parallelism  +  * [[https://​coconutpalm.github.io/​clj-boot/​|Boot Boot]], a batteries-included setup for easy library creation with Boot: 
-    * Using a functional architectureoften parallelism can be added automatically as a feature of the librarywithout requiring synchronization or locking+    * Including live compile/​test followed by hot code reload 
-    * With multiple cores being standard equipment on today'​s computers, having natural parallelism that you just switch on is a huge advantage.+    * Markdown to documentation with live browser reload 
 +    * and (optional) upload to gh-pages and Clojars 
 +  * **Perun** - static web sites using Clojure 
 +    * [[http://​deraen.github.io/​hello-world/​|Introductory blog]] 
 +    * [[http://​perun.io|Home page]] 
 +    * [[https://​github.com/​Deraen/​deraen.github.io/​blob/​blog/​build.boot|Example web site / blog using Perun]]
  
-Put quite simplya functional style of programming can be achieved in any programming language, from //Java// to //Scala//, or pretty much any language--yet it is not the usual style that is practiced.+===== Lispsmore generally =====
  
-In this space I index my writings on functional ​programmingand particularly on Monads.+  *[[http://​practicaltypography.com/​why-racket-why-lisp.html|Why Racket]] is an excellent blog describing benefits that the Lisp family of languages generally brings to programming
 +  *[[http://​www.lispcast.com/​idea-of-lisp|The Idea of Lisp]] provides useful context ​and history explaining why Lisp has endured and remains useful today. 
 +===== Scala ===== 
 + 
 +  * http://​noelmarkham.github.io/​scalaz-scala.io -- Excellent Scalaz presentation 
 + 
 +===== Java and FP (pre Java-8) =====
  
-  * [[Trigram Generator Series Notes]] 
   * [[blog:​improvements_on_null_safety_for_java_and_eclipse|An Option Monad for Java]]   * [[blog:​improvements_on_null_safety_for_java_and_eclipse|An Option Monad for Java]]
   * [[blog:​databinding_chaining_observablevalues_together|Monads and Eclipse Databinding]]   * [[blog:​databinding_chaining_observablevalues_together|Monads and Eclipse Databinding]]
   * [[blog:​comprehensibly_comprehending_monads|An Informal Introduction to Monads for Java and Scala Programmers]]   * [[blog:​comprehensibly_comprehending_monads|An Informal Introduction to Monads for Java and Scala Programmers]]
   * [[blog:​java_and_scala_monad_tutorials|A list of Scala and Java monad tutorials]]   * [[blog:​java_and_scala_monad_tutorials|A list of Scala and Java monad tutorials]]
 +
  
fp/home.1413769717.txt.gz · Last modified: 2014/10/19 21:48 by djo