Skip to content

{ Tag Archives } Smalltalk

It’s not the dynamic dispatch!

Joel has decided to blame the use of dynamic dispatch for Ruby’s speed issues: Without knowing much about the implementation of Ruby, I would guess that the biggest issue is around late binding and especially duck typing, which prevents type inference or strong typing, which means that function calls will always be slow because you […]

Also tagged , , , , , , , , ,

Programming language terminology lesson: Closures

In reading Beyond Java by Bruce Tate, I saw the following: Java’s syntax lacks features like closures and code blocks (which let you pass a block of code as an argument). Argh! In the vast majority of languages that support them, a block is a closure! Blocks, closures, lambdas — they’re all just different words […]

Also tagged , , , ,

Steve Yegge describes what’s wrong with Lisp

Steve Yegge, Lisp is Not an Acceptable Lisp: You’ve all read about the Road to Lisp. I was on it for a little over a year. It’s a great road, very enlightening, blah blah blah, but what they fail to mention is that Lisp isn’t the at the end of it. Lisp is just the […]

Also tagged , , , , , , , , ,

Cooperative User Threads vs. Preemptive Kernel Threads

James Robertson, Cooperative Threading: Well, in Cincom Smalltalk, this model gives you predictability – you know exactly what a thread is going to do. The issue with runaway threads rarely comes up for a simple reason – most processes end up pausing for I/O (user input, db access, file access, sockets – what have you). […]

Also tagged , ,