RailsConf 09: Robert Martin, "What Killed Smalltalk Could K

O'Reilly5 HN recommenders · 2012–2026
87K views · talk · evergreen · Uploaded 2009-05-08

Robert Martin's RailsConf 2009 talk looks at why Smalltalk lost out despite its technical strengths. He draws lessons about language communities and arrogance that he argues could hurt Ruby too.

HN cites it in discussions of language evangelism, community dynamics and zealotry, as an accessible account of how a good language can die for non-technical reasons.

Watch on YouTube

14 comments from Hacker News

@AlexFromBelgium2012 · in “In which we plot an escape from the quagmire of equality (Clojure and Emacs)”

Thx for the responses. I just watched "What Killed Smalltalk Could Kill Ruby, Too" [VIDEO] pretty interesting

RecommendsView on HN
@mylittlepony2013 · in “What It's Like To Be Ridiculed For Open Sourcing A Project”

Having tried Ruby for a year, I have experimented this myself. With a strong OOP background, I can assert that it's not even an elite that enjoys ridiculing noobs. It reminded me of this: [VIDEO] Also, just look at the top comment in that video. The irony.

@brudgers2015 · in “Design Principles Behind Smalltalk (1981)”

I read the closing remarks: Natural Selection: Languages and systems that are of sound design will persist, to be supplanted only by better ones. and thought of Bob Martin's What Killed Smalltalk Could Kill Ruby [1]. The technical merits of Smalltalk are such that few claims "to do objects better" are taken seriously. But the lesson of Smalltalk is that "better" isn't just in the technical details. It lives in the model of community that it's speakers adopt. People speak C and JavaScript because they rode along free with Unix and the browser. Even in it's darkest days, Lisp tagged along in AutoCad and Emacs. These languages had practical purposes that let them compete outside of the "what language should I build my next project in" marketplace and outside the segment of professional software developers. Smalltalk was killed by its business models. Without runtime licensing, providing a REPL meant that every application would come with a free copy. Not providing a REPL meant knee-capping the application. [1]: [VIDEO]

@brudgers2015 · in “Some Functional Programmers Are Arrogant”

For some context on Martin's comments his talk on how arrogance effected Smalltalk is probably relevant: [VIDEO] and probably worth watching if you enjoy Uncle Bob's soulful stylings and are interested in his thoughts about programming language communities.

RecommendsView on HN
@duncanawoods2015 · in “Redline Smalltalk for the JVM”

After watching a few Alan Kay talks where he pines for Smalltalk, I happened to watch this Robert Martin talk "What killed Smalltalk could kill Ruby". [VIDEO] The tldw reasons he gives for why Smalltalk died: - too easy to make a mess where adding complexity would be punished late. - arrogance - community isolated itself from the world and did not address common industry needs - commercial only - alternative free languages dominated

RecommendsView on HN
@Ace172015 · in “Why is Smalltalk Dead?”

Too much dynamicity? Ward Cunningham: "What killed Smalltalk was it was just too easy to make a mess" (source: [VIDEO] )

@brudgers2016 · in “C is Manly, Python is for “n00bs””

First I was reminded of Uncle Bob's talk on programming language hubris: [VIDEO] but as I went deeper thought about the effects of programming language tribalism, I was reminded of [LINK] it's reference to [LINK] and how this played out as a sound bite in US popular culture at the same time as the decline in women computer science enrollment began to decline. Being in the high school graduating cohort where the decline began, the decline of women in computing a subject I'm interested in. It's one of those subtle cultural/generational differences between me and my boy.

@pjmlp2016 · in “Keep Ruby Weird Again [video]”

Quite interesting, maybe one should also check this older talk: Robert Martin, "What Killed Smalltalk Could Kill Ruby", 2009 [VIDEO]

RecommendsView on HN
@bayindirh2022 · in “Go runtime: 4 years later”

We always make this discussion with friends. I don't think every language should tick the boxes the same way. I also personally like Go a lot. It's filling the gap between C++ and Python for me. If I need something compiled with proper threading support, but C++ would be an overkill, I reach for Go. Go is designed with a human centric view, IMHO: "Make writing great programs easier rather than design a language with novel/cutting edge features, but with a high cognitive load", and I find it as a noble aim as Rust's guarantees and aspirations. I understand why people love Rust, but I don't think it's the only one, or the proverbial silver bullet that we finally achieved. Yes, it's nice. Yes, it brings many things to the table, but it's not the final solution for once and for all. You like Rust? Great, Go for it (unintended pun alert), but I think we need all languages from all paradigms and perspectives. I find this talk [0] very informative and useful while interacting with other languages and communities. I'm not sharing this with any insinuations towards you, but just find it generally perspective broadening. [0]: [VIDEO] - What Killed Smalltalk could Kill Ruby.

RecommendsView on HN
@ksherlock2022 · in “What killed Haskell, could kill Rust, too”

"_As one might have guessed, this is not an essay. It's a transcript of the following talk by R. Martin with some substitutions made (SmallTalk -> Haskell, Ruby -> Rust, and others). You are free to make any conclusions from this._ [What killed Smalltalk, could kill Ruby, too]( [VIDEO] )"

@yakshaving_jgt2023 · in “I've Misunderstood the Single Responsibility Principle”

Sure. Balls: [VIDEO] Types: [LINK] I'll concede that I misremembered cajones as balls , but the sentiment is the same.

@bayindirh2024 · in “Rewrite the VP9 codec library in Rust”

> your arguments against Rust come off as biased. Yes, I'm pretty aware of this, and I keep this bias voluntarily, because Rust is generally touted (hyped?) as a Silver Bullet, and I'm wary of Silver Bullets. So, I want to highlight that fact. > Sorry if I came across as rude. No hard feelings. As I said, I'm not under delusion of a perfect life. I just said it. > I just find it slightly puzzling how your stance on it is kind of going up and down. :) I have a habit of mirroring the tone of the person I'm talking with. Combine it with the fact that English is not my native language, it's possible that "tone adjustment" is far from perfect. > it's been quite a while since I've seen Rust zealotry on HN... Yes, there's no zealotry here, and it's great, but I'm exposed to a wider community than HN people. Unfortunately, HN represents very small percent of the programmers around. A great talk I like about this issue is Robert Martin's "What Killed Smalltalk Could Kill Ruby, Too" [0]. Let's say, I'm marred and bitter from tons of zealotry and flamewars over the years (yes, I'm not young folk). > While that likely does wonders for your mental health... [Snipped for brevity] First of all, thanks. I pray that you work in a place you love and never work again. I'm very aware that how being solo makes me different and biased, and I think I highlighted at a couple of places. On the other hand, I understand what teams and team-related activities are important for code quality. Let's say th

RecommendsView on HN
@bayindirh2025 · in “Software development topics I've changed my mind on”

Let me try to explain it a bit more. From my experience, functional programmers come in two flavors. The ones who constantly nag others by telling them "everything you do is wrong", and "hey, come here, I want to show you something!". Unfortunately, the first camp is way more dominant than others. Again, from the same article, there's observation "People who care about the craft are rare. Cherish the who cares, meet the rest at where they are". This is very true. The problem is, the people in the first camp can't cater to either group. First group has strong opinions and want a solid (not hostile, solid) discussion about how they can improve and how that tool works, and the second group doesn't care. Also, every programmer has an understanding of the machine, and they program on top of that abstraction. For me, "C virtual machine", or the modern hardware is very easy to grasp. For every line of code, I can have an educated guess about how my code will run (e.g. how will the branch predictor will behave or got inadvertently poisoned), hence imperative languages and the primitive memory management is easy for me. For others who think more meta, functional paradigm is a natural think to construct in their brains. Not meeting them at where they are is again off-putting. All in all, nobody wants to be constantly nagged to feel "stupid" about not understanding functional programming or how unelegant imperative is, and most of the functional programmers are doing this, even without

@bayindirh2026 · in “CERT is releasing six CVEs for serious security vulnerabilities in dnsmasq”

As another data point, I have gone through enough flame wars, incl. the usual ones, and Rust. There's certainly a fanatic group of Rust developers who really want to eradicate C and C++ from the people's knowledge and all codebases in this universe , so far so openly hating the developers and designers of the said languages. Same was (or still is) true for some LLVM/clang people w.r.t. GCC. This is why I use neither. I'm always happy to discuss PLT and merits of programming languages with neutral parties, even in lively fashion, but when open-mindedness gets thrown out of the window, I do leave the room. These kinds of healthy discussions will benefit both parties. Hubris, ego, closed-mindedness and fanaticism won't. Related: What Killed Smalltalk Could Kill Ruby, Too: [VIDEO]