Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Alan Kay describes OOP as defining interactions with/between values via mini languages/algebras. In a language like Smalltalk (using whitespace and mixfix syntax) this very much feels like crafting a lightweight/hosted DSL. Other languages require a lot more squinting, to get past the host language's punctuation and ceremony.

For example, compare something like the following:

  canvas drawA: circle at: topLeft in: red.

  canvas.draw(circle, at=topLeft, in=red);


I think the discoverability of Smalltalk code within the IDE lends nicely to that too. It'd be quite obscure to many these days, but there's something to be said about the ability to browse and experiment with a catalogue of classes like a graphical REPL on steroids.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: