Top all-time · #2666
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.
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?
- In praise of mandatory indentation for novice programmers6 people · 8 mentions · first linked 2008-02-25
- Teaching, Playing, and Programming: Ten Years of Purely Functional Data Structures5 people · 5 mentions · first linked 2008-02-08
- /4 people · 4 mentions · first linked 2008-04-14
- Teaching, Playing, and Programming: Designing a Data Structure2 people · 2 mentions · first linked 2008-05-20
- Games for Programmers: Zendo 2 people · 2 mentions · first linked 2008-02-17
- Why I Don't Use PowerPoint For Teaching2 people · 2 mentions · first linked 2008-02-08
What Hacker News says?
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”Submitted Teaching, Playing, and Programming: Ten Years of Purely Functional Data Structures as a story · 22 points
HN discussionI 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”Submitted In praise of mandatory indentation for novice programmers as a story · 17 points
HN discussionChris 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”Submitted What the heck is a math trade? as a story · 11 points
HN discussionInteresting 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]”Submitted In Search of Epiphany as a story · 10 points
HN discussionWouldn'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”Submitted Functional Programming in...Ada? as a story · 10 points
HN discussionThis 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”Submitted Binomial queues as a nested type as a story · 8 points
HN discussionFrom 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]”Submitted Teaching, Playing, and Programming: Designing a Data Structure as a story · 8 points
HN discussionJust 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]”Submitted Other disciplines outside the arts also require creativity: we need to teach them that way as a story · 7 points
HN discussionBoth, 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"”Submitted Games for Programmers: Zendo as a story · 7 points
HN discussionThe 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”Submitted Hey, you got your loop in my recursion as a story · 3 points
HN discussionhere'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”Submitted On Balanced Trees and Car Insurance as a story · 3 points
HN discussionHe also has a very good blog: http://okasaki.blogspot.com/
Comment linking /
on “Algorithms in Lisp”Submitted Ten Years of Purely Functional Data Structures as a story · 2 points
HN discussionIt 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”Submitted Ten Years of Purely Functional Data Structures (2008) as a story · 2 points
HN discussionYou'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”Submitted In praise of mandatory indentation for novice programmers (2008) as a story · 1 points
HN discussionMany 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”Submitted Ten Years of Purely Functional Data Structures (2008 as a story · 1 points
HN discussion