Google Squared is an impressive (but still beta) offering from The Google that seems to have some real potential for students and others who want to do quick-and-maybe-not-do-dirty research. This post is also a bit of an experiment. I want to find out whether I can capture screen shots that are large enough to be [...]
The “BuilderBuilder” posts will be my exploration of one question: “What does Functional Programming mean to me as a practicing OO software developer?” Despite contemporary buzz about how FP will save the world from bugs and single-threaded code, I don’t want to read (or write) another clever Fibonacci number generator, or another theoretical explanation of [...]
Programmers often need to talk about ranges of values (whether or not the language at hand supports the concept explicitly). For example, given the Java array String[] streetLines = new String[3]; an index i must satisfy 0 ≤ i < 3 (in normal Mathematical notation) or 0 <= i && i < 3 (in Java [...]
I happened across an interesting post on Chris Okasaki’s blog, titled Less than vs Greater than. Let me suggest that you read it before continuing here. I would paraphrase his point about errors he observed in students’ programs as follows: A student who writes an expression such as expL < expR often appears to lock [...]
I commented elsewhere on how the “Architecture of Participation” idea may be percolating into the field of programming languages. I am especially interested in seeing whether the adoption of Scala provides evidence of this phenomenon. Scala is a strongly, statically typed language implemented on the JVM—all characteristics that raise eyebrows (if not noses) in some [...]
…there’s evidence that some folks still haven’t completely bought into the idea of pure functional programming (even those who are somewhat sympathetic…
What is it? In normal function evaluation, you supply all of the arguments of a function and get back a result. Currying is a technique for specializing a function by providing some of the arguments, in which case you get back a function with fewer arguments. This technique is widely used in functional programming, and [...]
I’ve seen (and participated in) a number of discussions recently about the selection of a first programming language. I don’t think the choice is a trivial matter, and don’t necessarily think there’s a single right answer, depending on the overall goals of a curriculum. Here are some choice strategies I’ve seen discussed recently: Commercially-popular language [...]
IBM developerWorks has the first two parts of an introduction to Scala by Ted Neward. The series looks good so far, and I’m eager to see more. I was particularly interested to see in the second article that Neward described Scala as “a better Java“, a theme that Dianne Marsh and I explored in the [...]
Paul Graham seems to have reservations about Paul Prescod’s views on contrasting programming language design aspects: Python’s goal is regularity and readability, not succinctness. There’s also been a bit of a flame-war in the Scala community over the use of symbolic versus verbal notation, as in /: instead of foldLeft. Unfortunately that debate has seen [...]