In ThoughtWorks we get together at least once an year for a whole weekend to drink beer and do whatever people consider interesting. This year’s ThoughtWorks Australia Away Day (AKA Team Hug) was somewhere in Victoria and among other activities (and a bus crash) we had technical sessions.
I used one of those slots to do a quick presentation on some fairly common myths regarding types and typesystems. Although there was nothing really advanced in it this -to be fair I barely know the basics about types- the session was triggered by my perception that most programmers know absolutely nothing about this topic.

Thanks for these reflections on the issues lying at the heart of current polyglot programming times. As usual, you present intriguing and thoughtful ideas instead of fast, easy, absolute and WRONG answers to complex problems.
Nice overview, in general - although I really disagree with some of your conclusions. I have a glorious longer discussion of this, but the comment box is really to small to fit. =)
Great post man!
There is a time I read this article and I found interesting. If you have not read, may be you find it interesting.
http://www.pphsg.org/cdsmith/types.html
Particularly, I guess one of the biggest problems with programming languages is the hype that makes the people repeat the nonsense they hear others say.
There is not a single programming language — not a single type systems! =p
Great slides, man.
I just have one nit to pick: saying “Java/C# are buereaucratic for historical reasons, not typing” is a bit too simplistic. Full type inference for languages with subtyping is a hard nut to crack (I might be wrong, but I think it is non-terminating in the general case).
Ola,
I can see why, I’m not that happy with those bullet points either. Just bear in mind that this was a talk to application developers that have been doing C#/Java for a decade and Ruby for a few years.
Rafael F,
It is hard indeed but I guess my point there is that the bureaucratic aspect isn’t a matter of performance, safety or clarity. The problem with publishing slides is that they are often incomplete
Thanks, Lallado. I was up on the high ropes when your talk was scheduled, and there was no quick escape.
One thing, though:
What was “625 Lines of Haskell”? The BASIC interpreter (”runBASIC”) capable of interpreting the “HiLo” program?
Hi Rob,
This is the size of the BASIC embedded DSL:
pcalcado@pcalcado:BASIC-0.1.5.0$ find . | grep Language | grep hs$ | xargs cat | wc -l
649
HiLo is 34 lines:
pcalcado@pcalcado:BASIC-0.1.5.0$ wc -l examples/HiLo.hs
34 examples/HiLo.hs
You can get it here:
http://hackage.haskell.org/package/BASIC