The Mess We've Made

The Mess We've Made

2 7


This project has moved:

On Github bodil / the-mess

The Mess We've Made


Avoid success at all costs.

Java is the most distressing thing to hit computing since MS-DOS.
— Alan Kay
What a horrible language. What a horrible VM.
— Linus Torvalds
The rise of Java helps turn inferior programmers into average programmers.
— Erik Naggum

The rise of Java helps turn inferior programmers into average programmers.

As the number of Java programmers goes up, the capabilities of the average programmer will approach that of the Java programmers.

  • OO all the things!
  • Write once, run anywhere.
  • Rich ecosystem.
"The only reason Java has been accepted is because it is a product of a company, SUN, that has made enormous advertisement for it."
— Edsger W. Dijkstra

  • Java had become so enterprise even Larry noticed.
  • Every time Larry acquires a patent, his yacht grows by a foot.

  • Kicked Java out of its SUN induced inertia.
  • If it's too broken, you can't fix it.
  • If it's too big, you can't stop it.

  • Build on top of Java and Microsoft's market dominance.
  • ???
  • Enterprise!

  • C# = basically Java with some extras.
  • CLR = basically the JVM with some extras.
  • Unlike Java, it's been evolving quickly. It was designed to.

  • LINQ
  • Reactive Extensions
  • Web apps used to be giant enterprise apps or PHP.
  • Ruby on Rails appeared at the perfect time to fill the void.
  • Ruby, by accident, turned mainstream by association.
Emacs taught me how to code. —Yukihiro Matsumoto
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC. — Edsger W. Dijkstra
Emacs taught me how to code. —Yukihiro Matsumoto
  • More than 30 different syntaxes for lambda functions
  • LISP like metaprogramming through method_missing
  • Best of breed package manager

make it look like java

what is this

by next week pls kthx

i don't even

wow much sorry so regret

ohai look js ALL the things

moarrrrrr js

what is this

lead us in holy war

get away from me halp

moarrrrrrr js


Season 1 Episode 10

Swarm of the Century

Category Theory



Philip Wadler's


Is there a way to combine the indulgences of impurity and the blessings of purity? —Philip Wadler


  • Purer than Oliver Cromwell in a detergent factory
  • Lazy evaluation is best evaluation
  • 100% guaranteed Curry-Howard isomorphic
  • Zygohistomorphic prepromorphisms

do not want

The ML Family

            fun funfunfun lol = lol ^ lol ^ lol;

            funfunfun "fun";
  • Parametric polymorphism!
  • Type inference!
  • Best modules ever!




  • Uncrazify the Lisps
  • Optimise ALL the tail calls
  • Curry-Howard is for suckers
I just don't make that kind of mistake. —Daniel Friedman

In the intersection between industry and academia...

  • Values first.
  • Integrate neatly with the host organism.
  • Pragmatism above all else.



  • Turn Java into Haskell.
  • Turn Java programmers into Real Programmers.
  • Turing complete by 2.9
  • Sentient by 2.10
  • All humans destroyed by 3.0
  • s/JVM/CLR/g
  • s/Haskell/OCaml/g
  • s/Martin Odersky/Don Syme/g
  • F#
  • To succeed, build on the establishment's tech.
  • If you stare deep enough into the JVM, the JVM stares back.


[...] groups of co-workers dying together. —Robert Virding

Live fast. Die young.The system stays up.

So I've been thinking...

We already have our success stories.

The enterprise is a factory line.

Java developers are just machine parts.

Only the most passionate programmers ever move beyond the mainstream.

These are the people who build the ideas that change everything.

These people are you.

The enterprise can only imitate, never innovate.

The enterprise is the Roman Empire.

You are the Visigoths at the gate.

We can own the future, or we can relive the past.

Avoid success at all costs.

And always keep them guessing.

Thank you!