HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
RailsConf 09: Robert Martin, "What Killed Smalltalk Could K

O'Reilly · Youtube · 38 HN points · 14 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention O'Reilly's video "RailsConf 09: Robert Martin, "What Killed Smalltalk Could K".
Youtube Summary
Robert Martin (Object Mentor, Inc.)
"What Killed Smalltalk Could Kill Ruby, Too"
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
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]: https://www.youtube.com/watch?v=YX3iRjKj7C0 - What Killed Smalltalk could Kill Ruby.

avgcorrection
> 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 don’t understand his horrid informal writing style trend. You are clearly not quoting anyone and just providing your own interpretation. So why in the hell are you using quotation marks? In this case you could just ditch the quotation marks altogether since the colon already acts as a separator.

bayindirh
Equally, I don’t understand the horrid assumption about everyone being born in an English speaking country and has English as the native language.

So, why in the hell are you just berating me via a comment box?

I made a mistake, alright, and used quotation marks as a tone modifier, because I know no other way to do that.

However in this case you could just pointed me the right direction without berating, since pointing out the mistake already acts as a kind direction arrow.

avgcorrection
> Equally, I don’t understand the horrid assumption about everyone being born in an English speaking country and has English as the native language.

Did I even hint that I was assuming anything about native vs. non-native English speaker? Or blaming non-native speakers? No. Play that wounded ESL violin somewhere else.

> I made a mistake, alright, ...

I said that I think that it is bad style. Alright. I didn’t say that it is wrong. (People are doing it a lot these days so apparently it isn’t wrong.)

bayindirh
There's no blame, I agree, but expecting everyone to know proper use of quotation marks (incl. uncommon ways) pulls in some assumption about proper grammar, hence some long experience with the language. Quotation marks are simple tools, but they are hard to master, because they have nuanced uses too. Getting these things wrong is easy.

> Play that wounded ESL violin somewhere else.

I'm not playing a wounded violin, or any violin for that matter. I'm a double bassist. Jokes aside, I'm not being apologetic, just explaining my position. On the other hand, if reading a comment squarely in your own tone bothers you, you might want to think on that, at least a little.

Your wording of your comment implies that I'm doing something wrong by using quotation marks, and I take a note for that. Why are you so upset because somebody admits that there's a room for improvement?

The only thing I'm not agreeing on is your way of sending the message to this shore, that's it.

The thing is, neither English punctuation, nor Hacker News has many facilities to convey tone while discussing. I like to do that in my writing style to convey feelings and tone of my comment. Quotation marks seemed like a usable way to do that, and I possibly got used to that from literary works I've read, so I copied the method.

However, if a native (or more knowledgeable) person tells me that I'm wrong, I tend to believe them and try to learn the proper way, that's it.

xpressvideoz
> Go is designed with a human centric view, IMHO

If it were Go's design philosophy, it would have allowed unused variables/imports. Those restrictions are there exactly because they help computers, reducing compilation time. The over-focus of compilation time also stems from monorepos being used by Google, whose purpose is also helping computers.

bayindirh
I think it goes both ways. Yes, eliminating unused variables and imports accelerates compilation. Also, compilation speed is a great deal for Go, but keeping the code devoid of unused variables also reduces the cognitive load of humans a lot. Keeping language simple is another feature which helps both ways.
randomdata
Fast compilation times are a human-centric goal. The machine couldn't care less if it takes a millennia to compile your program. Only humans care about fast compile times.

But, I'm not sure that is even the primary benefit. The primary benefit is that you won't be incentivized to leave unused imports and variables to litter your code, as I see happen all the time in languages that aren't so strict. The Go team has even stated that they decided there would be no warnings because they've learned that warnings get ignored.

peterashford
they could have had a flag for people who prefer those issues to be warnings. for me, they slow my debugging down a great deal
bayindirh
Then most (if not all) Go programs wouldn’t compile without that flag.

If something can be abused, it’s going to be abused.

Aug 28, 2019 · 1 points, 0 comments · submitted by lelf
Feb 11, 2019 · 2 points, 0 comments · submitted by miki123211
Quite interesting, maybe one should also check this older talk:

Robert Martin, "What Killed Smalltalk Could Kill Ruby", 2009

https://www.youtube.com/watch?v=YX3iRjKj7C0

First I was reminded of Uncle Bob's talk on programming language hubris:

https://www.youtube.com/watch?v=YX3iRjKj7C0

but as I went deeper thought about the effects of programming language tribalism, I was reminded of

http://web.mit.edu/humor/Computers/real.programmers

it's reference to

https://en.wikipedia.org/wiki/Real_Men_Don't_Eat_Quiche

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.

Aug 17, 2015 · Ace17 on Why is Smalltalk Dead?
Too much dynamicity? Ward Cunningham: "What killed Smalltalk was it was just too easy to make a mess" (source: https://www.youtube.com/watch?v=YX3iRjKj7C0)
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".

https://www.youtube.com/watch?v=YX3iRjKj7C0

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

vixen99
Maybe related to your third reason, as previously noted, IT-related book publisher and seller O'Reilly appears (open to correction) not to offer one single book about Pharo or Smalltalk.
davelnewton
OTOH, there are a bunch of books out for Squeak, and most old Smalltalk books are still very relevant. (And I'd argue some of the best old Smalltalk books are required reading for people that don't work in Smalltalk.)

Re; Pharo, yeah, there's only a few self-published books.

noblethrasher
I don't recall Alan Kay pining specifically for Smalltalk; mostly he just agitates for a world in which people at least understand the big ideas behind the original articulation of OOP. In fact, Kay tried to kill Smalltalk way back in the 70s[1].

[1]: http://mythz.servicestack.net/blog/2013/02/27/the-deep-insig...

Aug 04, 2015 · 3 points, 0 comments · submitted by nly
For some context on Martin's comments his talk on how arrogance effected Smalltalk is probably relevant:

https://www.youtube.com/watch?v=YX3iRjKj7C0

and probably worth watching if you enjoy Uncle Bob's soulful stylings and are interested in his thoughts about programming language communities.

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]: http://www.youtube.com/watch?v=YX3iRjKj7C0

May 27, 2015 · 1 points, 0 comments · submitted by brudgers
Summary of the links shared here:

http://blip.tv/clojure/michael-fogus-the-macronomicon-597023...

http://blog.fogus.me/2011/11/15/the-macronomicon-slides/

http://boingboing.net/2011/12/28/linguistics-turing-complete...

http://businessofsoftware.org/2010/06/don-norman-at-business...

http://channel9.msdn.com/Events/GoingNative/GoingNative-2012...

http://channel9.msdn.com/Shows/Going+Deep/Expert-to-Expert-R...

http://en.wikipedia.org/wiki/Leonard_Susskind

http://en.wikipedia.org/wiki/Sketchpad

http://en.wikipedia.org/wiki/The_Mother_of_All_Demos

http://io9.com/watch-a-series-of-seven-brilliant-lectures-by...

http://libarynth.org/selfgol

http://mollyrocket.com/9438

https://github.com/PharkMillups/killer-talks

http://skillsmatter.com/podcast/java-jee/radical-simplicity/...

http://stufftohelpyouout.blogspot.com/2009/07/great-talk-on-...

https://www.destroyallsoftware.com/talks/wat

https://www.youtube.com/watch?v=0JXhJyTo5V8

https://www.youtube.com/watch?v=0SARbwvhupQ

https://www.youtube.com/watch?v=3kEfedtQVOY

https://www.youtube.com/watch?v=bx3KuE7UjGA

https://www.youtube.com/watch?v=EGeN2IC7N0Q

https://www.youtube.com/watch?v=o9pEzgHorH0

https://www.youtube.com/watch?v=oKg1hTOQXoY

https://www.youtube.com/watch?v=RlkCdM_f3p4

https://www.youtube.com/watch?v=TgmA48fILq8

https://www.youtube.com/watch?v=yL_-1d9OSdk

https://www.youtube.com/watch?v=ZTC_RxWN_xo

http://vimeo.com/10260548

http://vimeo.com/36579366

http://vimeo.com/5047563

http://vimeo.com/7088524

http://vimeo.com/9270320

http://vpri.org/html/writings.php

http://www.confreaks.com/videos/1071-cascadiaruby2012-therap...

http://www.confreaks.com/videos/759-rubymidwest2011-keynote-...

http://www.dailymotion.com/video/xf88b5_jean-pierre-serre-wr...

http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hic...

http://www.infoq.com/presentations/click-crash-course-modern...

http://www.infoq.com/presentations/miniKanren

http://www.infoq.com/presentations/Simple-Made-Easy

http://www.infoq.com/presentations/Thinking-Parallel-Program...

http://www.infoq.com/presentations/Value-Identity-State-Rich...

http://www.infoq.com/presentations/We-Really-Dont-Know-How-T...

http://www.mvcconf.com/videos

http://www.slideshare.net/fogus/the-macronomicon-10171952

http://www.slideshare.net/sriprasanna/introduction-to-cluste...

http://www.tele-task.de/archive/lecture/overview/5819/

http://www.tele-task.de/archive/video/flash/14029/

http://www.w3.org/DesignIssues/Principles.html

http://www.youtube.com/watch?v=4LG-RtcSYUQ

http://www.youtube.com/watch?v=4XpnKHJAok8

http://www.youtube.com/watch?v=5WXYw4J4QOU

http://www.youtube.com/watch?v=a1zDuOPkMSw

http://www.youtube.com/watch?v=aAb7hSCtvGw

http://www.youtube.com/watch?v=agw-wlHGi0E

http://www.youtube.com/watch?v=_ahvzDzKdB0

http://www.youtube.com/watch?v=at7viw2KXak

http://www.youtube.com/watch?v=bx3KuE7UjGA

http://www.youtube.com/watch?v=cidchWg74Y4

http://www.youtube.com/watch?v=EjaGktVQdNg

http://www.youtube.com/watch?v=et8xNAc2ic8

http://www.youtube.com/watch?v=hQVTIJBZook

http://www.youtube.com/watch?v=HxaD_trXwRE

http://www.youtube.com/watch?v=j3mhkYbznBk

http://www.youtube.com/watch?v=KTJs-0EInW8

http://www.youtube.com/watch?v=kXEgk1Hdze0

http://www.youtube.com/watch?v=M7kEpw1tn50

http://www.youtube.com/watch?v=mOZqRJzE8xg

http://www.youtube.com/watch?v=neI_Pj558CY

http://www.youtube.com/watch?v=nG66hIhUdEU

http://www.youtube.com/watch?v=NGFhc8R_uO4

http://www.youtube.com/watch?v=Nii1n8PYLrc

http://www.youtube.com/watch?v=NP9AIUT9nos

http://www.youtube.com/watch?v=OB-bdWKwXsU&playnext=...

http://www.youtube.com/watch?v=oCZMoY3q2uM

http://www.youtube.com/watch?v=oKg1hTOQXoY

http://www.youtube.com/watch?v=Own-89vxYF8

http://www.youtube.com/watch?v=PUv66718DII

http://www.youtube.com/watch?v=qlzM3zcd-lk

http://www.youtube.com/watch?v=tx082gDwGcM

http://www.youtube.com/watch?v=v7nfN4bOOQI

http://www.youtube.com/watch?v=Vt8jyPqsmxE

http://www.youtube.com/watch?v=vUf75_MlOnw

http://www.youtube.com/watch?v=yJDv-zdhzMY

http://www.youtube.com/watch?v=yjPBkvYh-ss

http://www.youtube.com/watch?v=YX3iRjKj7C0

http://www.youtube.com/watch?v=ZAf9HK16F-A

http://www.youtube.com/watch?v=ZDR433b0HJY

http://youtu.be/lQAV3bPOYHo

http://yuiblog.com/crockford/

ricardobeat
And here are them with titles + thumbnails:

http://bl.ocks.org/ricardobeat/raw/5343140/

waqas-
how awesome are you? thanks
Expez
Thank you so much for this!
X4
This is cool :) Btw. the first link was somehow (re)moved. The blip.tv link is now: http://www.youtube.com/watch?v=0JXhJyTo5V8
"What Killed Smalltalk Could Kill Ruby, Too" - Robert "Uncle Bob" Martin -- http://www.youtube.com/watch?v=YX3iRjKj7C0
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: https://www.youtube.com/watch?v=YX3iRjKj7C0

Also, just look at the top comment in that video. The irony.

Thx for the responses. I just watched "What Killed Smalltalk Could Kill Ruby, Too" http://www.youtube.com/watch?v=YX3iRjKj7C0 pretty interesting
Apr 09, 2010 · 31 points, 15 comments · submitted by Robin_Message
swombat
Can anyone summarise the main points? I don't feel like watching a 1-hour video on this topic just to get to the "mystery".
felixge
He basically warns for the ruby community to become too arrogant about their technology and tools and stop following all the good practices of software engineering (especially unit testing), because they "don't need them".

It's actually a really inspiring video, I watched it twice so far : )

kunley
Just try, it's equally inspiring & entertaining pro-TDD anti-ego talk, with some interesting points to history and people behind the scenes (Ward Cunningham!)
ccheever
+1
ccheever
Basically, at 21:30 "What killed Smalltalk is that in Smalltalk, it was just too easy to make a mess."
beilabs
Smalltalk & Ruby are deeply interrelated.

Much of the same syntax between the two languages

From 1970s Smalltalk was the language to watch

Smalltalk epitomized Object Orientated Design

Described C++ as a mans language (need balls to code in it and make it work)

Describes Java as an estrogen type language

Smalltalk had a productivity benefit of a factor of 5. Compared to a C application.

Refactoring in Smalltalk was a breeze

What killed Smalltalk? ( umm, at this stage I have no idea, he jumps to a new topic)

Definition of clean code - "when you look at a routine and its pretty much what you expected"

Best metric for clean code is 0 WTFs per minute

What killed Smalltalk is that it was just too easy to make a mess (Finally, 20 mins in!) Quote from Ward Cunningham

So easy to make an indirect and impenetrable system over time

Companies developing in Smalltalk were screwed up at the time

You can make a mess in Ruby, simple, elegant, wonderful language; still easy to make a mess

Projects in Ruby start well, but the framework is often violated over time; making a mess...

Boyscout rule, leave the campground cleaner than when you entered it. (Actual quote - leave life better than you found it) - apply this to your source code. Would make code get better and better as time goes by. Most of the time, cleaning code is hard!

Quote of the presentation - "If you touch it, you will break it. If you break it, it becomes yours. The best policy is to walk away, run. the messes are hard to clean"

Test Driven Development is the solution

Rails and Ruby is great for Test Driven Development.

Other languages have TDD, was born in Smalltalk.

Talks about TDD methods; If you follow TDD, regularly write and run tests, then there is no fear to change code.

Nothing makes a system more maintainable than a suite of tests

He loves Rspec and Cucumber (Behaviour Driven Development BDD)

TDD never really became a part of Smalltalks culture but is integral to the Ruby community

TDD will keep your code clean

There was an arrogance to the Smalltalk community ( I sometimes can see this in the Ruby community )

Our tools are so good, our language is so good we don't need to follow the rules. Smalltalk people didn't want to do regular programming (Enterprise Applications, etc)

Your language may be powerful, but you must be careful with it. just because we can do a thing, it does not necessarily mean we must do that thing (Star Trek quote) Us vs them feeling in the Smalltalk community.

Ruby community is not going to go down this path because: Discipline - TDD makes you feel good inside

Professionalism - did the doctor wash their hands, did you write your tests?

Acceptance - we need to solve the dirty problems ( Need to adapt to the enterprises needs - do not solve only the problems you like.)

We have a great tool in Ruby, we can kill it, let's not do that!

My thoughts - Great presentation style, he's quite funny. Very inspirational lecturer for developers confirming that TDD/BDD are the ways forward for software engineering.

stcredzero
I've been working in Smalltalk since 1998. The most important points:

    - Companies developing in Smalltalk were screwed up at the time
    - There was an arrogance to the Smalltalk community
    - TDD never really became a part of Smalltalks culture
I just got a vendor to pay attention to an (admittedly subtle) bug in GUI event processing that's been around for 12 years, causing mysterious unhanded exceptions at every company I've worked with since 2003. Their theory before this: delusional customers.

Heed this man's advice.

Your developer culture is more important than your technology! A good culture will help maintain good companies and good public relations.

Smalltalk is not dead, just hiding in niches. I plan on starting new projects soon.

jf
What are your thoughts on AIDA/Web and Seaside?
stcredzero
Seaside is pretty slick. Cincom's WebVelocity even more so. I'd stay with open licensing, though.

If the new projects work out, we will be using Seaside.

jf
Thanks! I'm really intrigued with Smalltalk by way of Squeak (I've been working through Squeak by Example). I wasn't sure where I should be looking regarding web development. Thanks for your sharing!
binarray2000
already posted...

http://news.ycombinator.com/item?id=623823 for the discussion

lg
Come on, it's easy to make a mess in any language except the straitjacket ones nobody uses. Smalltalk is not as well-integrated with Unix as other languages, and also the syntax and libraries are kind of anal, I think that's what killed it.
MartinMond
This video was uploaded 1 day after the conference. I remember searching and not finding any videos of railsconf 09 expect dhh's keynote.

Were these videos really available all the time and I just didn't find them?

None
None
devin
If you like Uncle Bob he was caught yesterday singing Clojure's praises.

http://twitter.com/unclebobmartin/status/11845284938

j23tom
this video made me a day thx for posting.
jhancock
Martin's arguments (summarized well by beilabs and stcredzero) are interesting and represent various real problems. But none are what killed Smalltalk.

As always, everything points to money...

1 - Smalltalk tech was owned by a small clutch of companies. All had revenue driven by developer licensing. None were able take seriously the thought of radical change to their revenue model.

2 - Lack of licensing costs for Javascript enabled it to be dropped into Netscape with Microsoft following suit. Lack of licensing costs for Java enabled Sun to give it away during a time when revenue for other Sun products was able to fuel the Java giveaway.

3 - Corporate decision makers took a wait and see approach to further engagement with traditional internal IT investment starting around 1996. This was mainly fueled by drive from within these companies to start focusing on internet strategy. Up to this point, most IT organizations were internal focused.

4 - All the major IT companies wanted to try their hand at capturing the internet technology stack.

It took about a year, maybe less, to kill Smalltalk's momentum. In my retrospective opinion, the only thing that would have saved Smalltalk is for the investors at any one of the major Smalltalk vendors to make a radical shift in their business model and give away the core technology and runtime. This would have enabled Smalltalk to be dropped into a browser instead of Javacsript and enabled Smalltalk to make meaningful progress as an "open" language. Even if this happened, IT companies would have attempted to co-opt this new free-er Smalltalk in much the same way they did with Java and Javascript.

HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.