Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Smalltalk: Our Death has been Exaggerated (cincomsmalltalk.com)
21 points by raganwald on May 10, 2009 | hide | past | favorite | 11 comments


I'd like to know if the point attributed to Ward Cunningham - that Smalltalk failed because, relative to C++ etc., it was "too easy to make a mess" - is something he (a) really said and (b) meant in the way it was quoted. The idea that C++ programs are cleaner than Smalltalk ones is just bizarre. Edit: I'd be surprised if Ward had spent much time around C++ systems.


I'd like to know a and b, too. But Bob's point wasn't that C++ programs look cleaner. His point was that it's very obvious that if you're not careful in C++, you can can shoot yourself in the foot quite quickly, and therefore, you're less likely to try crazy things in C++ that would risk foot injury.


I didn't say "look cleaner", I said "cleaner" as in not a mess, which was his point (in the sense that you describe), and it's ridiculous, an argument against higher-level languages. Of all the things one could argue killed Smalltalk's chances of becoming mainstream, this has got to be the dumbest, which is why I wonder exactly what Ward really said and in what context.

A former Smalltalker I worked with for years argues that it was mostly the greed and arrogance of the vendors that ruined its chances: greed as in refusing to make even trial versions available for free, and arrogance as in refusing to make it easier to integrate with other systems. Edit: This, by the way, was the perspective of a guy who was simply reflecting on what he had observed, not someone with a software ideology to push... as opposed to Bob Martin, who seems to be saying "Smalltalk got killed so we should all write lots and lots of tests".


I agree with most of what this article says. TDD still seems like a lot of busywork to me, which is exactly what I try to avoid as a programmer. If something is tedious, I do my best to write a script to do it for me (sometimes even if the script takes longer to write than the tedious task).

That said, I really like looking to tests/specs for instructions on how to use a new API (especially if it's undocumented). Tests are definitely nice to have, even if they're a pain to write.

Also, I like Uncle Bob's idea of making the code cleaner with every commit (though I would of course separate any refactoring into its own commit).


The claim that Smalltalk is dead is very much based on how many people use Smalltalk today - and the answer is very little. Arguing about Smalltalk's features, as awesome as they may be, does not refute the original presentation's point.


He seems to miss the point that TDD is more critical in a weakly typed/dynamically typed system. Yes, C, C++, and Java didn't have TDD when they started, but there was this thing called a compiler ...


This might be true for a theoretical perfect strongly typed language (SML comes close), but whatever C and C++ might gain by static typing, they lose by things like casts to (void *) and of course their unsafe pointers. Even Java isn't very type-safe, especially when it started - collections held Objects, which you had to downcast (bye static type-safety, hello runtime errors).


Yep. It's amusing that people go on about how compilers catch their errors and then spend hours debugging InvalidCastExceptions.


A compiler doesn't protect from segfaults.


Look up "more" in the dictionary.


Its a tragedy that all geek theaters are ultimately reduced to a chorus ...




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

Search: