Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2666

T

Teaching, Playing, and Programming

Personal blog · okasaki.blogspot.comprogramming

Teaching, Playing, and Programming is a personal blog at okasaki.blogspot.com about programming. Since 2008, 29 different Hacker News readers have linked it 37 times, most often “In praise of mandatory indentation for novice programmers”. The last post was in 2013, but the archive is still widely read.

Visit the blog
37mentions?
29HN people?
2008–2026first – last linked?
Links on Hacker News per year · peak 17 in 2008

Too few sampled comments (15) to say how often HN recommends it.?

Why HN links it

Chris Okasaki's blog covers teaching, programming languages such as mandatory-indentation syntax, functional data structures and games. Commenters link it and recommend it as a whole.

Summarised by Claude from a sample of 15 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Most-linked posts?

  1. In praise of mandatory indentation for novice programmers
    6 people · 8 mentions · first linked 2008-02-25
  2. Teaching, Playing, and Programming: Ten Years of Purely Functional Data Structures
    5 people · 5 mentions · first linked 2008-02-08
  3. /
    4 people · 4 mentions · first linked 2008-04-14
  4. Teaching, Playing, and Programming: Designing a Data Structure
    2 people · 2 mentions · first linked 2008-05-20
  5. Games for Programmers: Zendo
    2 people · 2 mentions · first linked 2008-02-17
  6. Why I Don't Use PowerPoint For Teaching
    2 people · 2 mentions · first linked 2008-02-08

What Hacker News says?

  1. I think if you find those algorithms obvious and you're able to write memoized solutions, then you already know most of what you need to know about dynamic programming. For example, Dijkstra's algorithm for shortest paths can be seen as DP. The main thing is to write down a formulation for the answer for n in terms of answers for smaller n, or the answer for (n, k) in terms of answers for smaller (n, k). (And don't…

    Comment linking /2008/10/score-one-for-induction.html

    on “Algorithms, by Jeff Erickson”
  2. Submitted Teaching, Playing, and Programming: Ten Years of Purely Functional Data Structures as a story · 22 points

    HN discussion
  3. I happen to have a definite, knock-down argument in favour of a particular semi-column free style: mandatory indentation (which also eliminates curly braces). http://okasaki.blogspot.com/2008/02/in-praise-of-mandatory-i... I'll grant you that's not a large scale experiment on a peer reviewed paper. But I trust Chris Okasaki on this one, and to me, his experiment counts as strong evidence against semicolons and brack…

    Comment linking /2008/02/in-praise-of-mandatory-indentation-for.html

    on “Bootstrap's maintainer hates the semicolon”
  4. Submitted In praise of mandatory indentation for novice programmers as a story · 17 points

    HN discussion
  5. Chris Okasaki has some high praise for languages implementing indentation as part of the syntax http://okasaki.blogspot.com/2008/02/in-praise-of-mandatory-i... Personally I think Coffeescript is a big step forward. A pity it will likely never gain enough momentum to see native implementations on the major browsers.

    Comment linking /2008/02/in-praise-of-mandatory-indentation-for.html

    on “CoffeeScript: The beautiful way to write JavaScript”
  6. Submitted What the heck is a math trade? as a story · 11 points

    HN discussion
  7. Interesting to contrast this paper’s opinion of significant indentation (“detrimental cleverness”) with “I will never again voluntarily use a language without mandatory indentation for teaching novice programmers”. http://okasaki.blogspot.com/2008/02/in-praise-of-mandatory-i...

    Comment linking /2008/02/in-praise-of-mandatory-indentation-for.html

    on “Seven Deadly Sins of Introductory Programming Language Design (1996) [pdf]”
  8. Submitted In Search of Epiphany as a story · 10 points

    HN discussion
  9. Wouldn't that be backwards? The purpose of notation is to aid human thought and communication. Technology should adapt to whatever notation would be most useful to mathematicians, rather than mathematicians adapting their notation for the sake of technology (like “more easily typesettable”). The blackboard-bold fonts are an interesting example of this, with computer typefaces being created for what mathematicians us…

    Comment linking /2008/01/why-i-dont-use-powerpoint-for-teaching.html

    on “Boiling lead and black art: a history of mathematical typography”
  10. Submitted Functional Programming in...Ada? as a story · 10 points

    HN discussion
  11. This is a great read for any programmer, not only those interested in functional programming. Also related (HN discussion): http://news.ycombinator.com/item?id=1138979 And Cris Okasaki's blog: http://okasaki.blogspot.com/

    Comment linking /

    on “Storage is Cheap, Don't Mutate - Copy on Write”
  12. Submitted Binomial queues as a nested type as a story · 8 points

    HN discussion
  13. From Okasaki's blog: Sales were steady but trending downward, until 2004, when a book review by Andrew Cooke appeared on Slashdot. After that, sales doubled and have stayed at that level for several years. Of course, I can't be sure this increase was because of Slashdot, but it seems likely. Thanks, Andrew! http://okasaki.blogspot.com/2008/02/ten-years-of-purely-func...

    Comment linking /2008/02/ten-years-of-purely-functional-data.html

    on “"Purely Functional Data Structures" by Chris Okasaki [pdf]”
  14. Submitted Teaching, Playing, and Programming: Designing a Data Structure as a story · 8 points

    HN discussion
  15. Deestan · 2010-02-20Recommends
    Just bought this book in hardcover last month; I can't recommend it enough. Be sure to also check out Chris Okasaki's functional programming blog: http://okasaki.blogspot.com/

    Comment linking /

    on “"Purely Functional Data Structures" by Chris Okasaki [pdf]”
  16. Submitted Other disciplines outside the arts also require creativity: we need to teach them that way as a story · 7 points

    HN discussion
  17. Both, actually. A computer engineering professor once told me that OO was about instantiation. In procedural code, you would have only one point, probably held in a global variable. My C code would look OO to him. Chris Okasaki once wrote a programming language for one of his CS classes. For whatever reason, he chose to make indentation mandatory, and he got rid of semicolons and curly brackets. The result strongly…

    Comment linking /2008/02/in-praise-of-mandatory-indentation-for.html

    on “Taboo "OO"”
  18. Submitted Games for Programmers: Zendo as a story · 7 points

    HN discussion
  19. The syntax is more cumbersome than actually needed. It probably should use mandatory indentation as well. We lovers of curly brackets may not like that, but it makes things easier for beginners.[1] In this case, the first listing would have looked like that: hello = ^name -> "Hello " + name repeat {times: 3} print hello {name: "John"} Or, without the keyword arguments: hello = ^name -> "Hello " + name repeat 3 print…

    Comment linking /2008/02/in-praise-of-mandatory-indentation-for.html

    on “Move Lang”
  20. Submitted Hey, you got your loop in my recursion as a story · 3 points

    HN discussion
  21. here's something related: http://okasaki.blogspot.com/2008/02/in-praise-of-mandatory-i... (re: indentation-sensitive languages for teaching)

    Comment linking /2008/02/in-praise-of-mandatory-indentation-for.html

    on “Why Python is a great language for teaching introductory programming classes”
  22. Submitted On Balanced Trees and Car Insurance as a story · 3 points

    HN discussion
  23. He also has a very good blog: http://okasaki.blogspot.com/

    Comment linking /

    on “Algorithms in Lisp”
  24. Submitted Ten Years of Purely Functional Data Structures as a story · 2 points

    HN discussion
  25. It looks like the author has little or no acquaintance with Lisp or Scheme in teaching, based on this post: http://okasaki.blogspot.com/2008/02/boolean-confusion.html

    Comment linking /2008/02/boolean-confusion.html

    on “In praise of mandatory indentation for novice programmers”
  26. Submitted Ten Years of Purely Functional Data Structures (2008) as a story · 2 points

    HN discussion
  27. raganwald · 2008-04-14Recommends
    You're very welcome :-) BTW, if you like the article, even briefly... consider subscribing to his feed. Very interesting, very eclectic. He is the author of "Purely functional data structures" which goes into some depth on high-performance data structures. He also write fun things about games and thinking and... Oh for Pete's sake stop reading my rambingss and read his well-chosen words instead ;-) http://okasaki.bl…

    Comment linking /

    on “Other disciplines outside the arts also require creativity: we need to teach them that way”
  28. Submitted In praise of mandatory indentation for novice programmers (2008) as a story · 1 points

    HN discussion
  29. Many years ago, on Boardgamegeek, there was a game trading system called "Math Trades", where participants would list a number of trades they were willing to make, and they ran some complicated calculations to figure out how to let as many as possible trade. CS professor Chris Okasaki, known for his book on purely functional data structures, also played board games and he came across this phenomenon. He realized tha…

    Comment linking /2008/03/what-heck-is-math-trade.html

    on “Bipartite Matching Is in NC”
  30. Submitted Ten Years of Purely Functional Data Structures (2008 as a story · 1 points

    HN discussion

Search all of HN for okasaki.blogspot.com

Linked by the same people?