5 ms·
Programming with Nothing (2011)
- Schwolop 12y agoI feel like I must have progressed as a programmer somewhat. Even though I doubt I could write an article like this from scratch, I can now at least follow it, and there are no more "wtf did he do there?" leaps of logic. Post this again in a decade, and we'll see how I fare then...
- seanmcdirmid 12y agoThere is nothing new in this article. They basically just did the untyped lambda calculus in Ruby; Landin already had everything worked out in the 60s! To write a similar article, just find a cool idea from the past, and then port the idea to some current technology so that readers can better empathize with it.
- dkarapetyan 12y agoYup, there is almost nothing new under the sun. Everything I use in my day to day job was discovered in the 70s. Heck, half this stuff is even worse than what was discovered in the 70s. SmallTalk was a complete OS/programming environment with checkpoints, pausing, and live migration. What do we have now that comes close?
- tachyonbeam 12y agoGranted that what we have now often seems like a pile of kludges. Probably because our modern systems evolved "organically" over a span of decades, and technical issues have been solved with compromises rather than careful planning ...However, I'm pretty sure if you booted up a SmallTalk machine from the 70s, you'd find there were A LOT of bugs and unfinished corners. The UI was really not polished or user friendly. The impression I got is that they barely had it working, that it was more of a tech demo than any kind of finished product. I don't think you'd want to trade any of your modern software for something from then. I mean, yes, they thought of clever things back in the 70s, but don't go imagining they had some nice, clean, perfect implementation of those ideas.
- dkarapetyan 12y agoSure, cutting edge stuff is always going to be rough around the edges but I see no such boldness around me any more. All I see is another version of AngularJS popping up every other week. How many MVC frameworks does a JavaScript developer need?
- seanmcdirmid 12y agoThe first step to reinventing the future is in having a good understanding of the past. If you want to know what could come after Smalltalk, well... http://research.microsoft.com/pubs/211297/managedtime.pdf http://research.microsoft.com/pubs/211297/managedtime.pdf But that is totally off topic (and perhaps you already know this is my research, and just trying to make a point?). The article is not about discovering something new, but a useful reminder of what we already should know.
- Schwolop 12y agoYes - I totally agree. I was really just congratulating myself on being able to follow it. I find it interesting that this was easier for me to follow than the original maths papers on lambda calculus, but I suppose that's just a matter of familiarity with the syntax.
- seanmcdirmid 12y agoPlease don't get me wrong, I think this is a great contribution; many of these ideas are hard to follow in their original presentations, especially given notations that are very hard for us to identify with (next up...monads in Ruby). I took an advanced logic class in university where we went on to re-derive the natural numbers (and operations on) using sets alone; this is well known, but to the typical CS undergrad, it was kind of crazy and eye opening!
- spiralganglion 12y agoThe video is wonderful - one of my longtime favourite talks.
- rzendacott 12y agoI love articles like this! They're a very fun exercise in what you /really/ need to have a programming language. Here's another one: http://stevelosh.com/blog/2013/03/list-out-of-lambda/ http://stevelosh.com/blog/2013/03/list-out-of-lambda/ It's in JavaScript for those who prefer JS over Ruby (although for the purposes of the exercise the language choice doesn't matter much).