ThoughtWorks Away Day Presentation: Common Myths about Type Systems

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.

7 Responses to “ThoughtWorks Away Day Presentation: Common Myths about Type Systems”


  1. 1 Rafael Peixoto de Azevedo Aug 12th, 2009 at 10:54 pm

    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.

  2. 2 Ola Bini Aug 13th, 2009 at 2:15 am

    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. =)

  3. 3 Leandro Silva Aug 13th, 2009 at 7:24 am

    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

  4. 4 Rafael de F. Ferreira Aug 13th, 2009 at 9:34 am

    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).

  5. 5 Phillip Calçado "Shoes" Aug 13th, 2009 at 9:46 am

    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 :(

  6. 6 Rob Hunter Aug 17th, 2009 at 11:42 am

    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?

  7. 7 Phillip Calçado "Shoes" Aug 17th, 2009 at 8:09 pm

    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

Leave a Reply








Creative Commons License

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.