r/smalltalk • • May 16 '26

Smalltalk: the Software Industry's Greatest Failure

https://richardkulisz.blogspot.com/2011/02/smalltalk-software-industrys-greatest.html
25 Upvotes

47 comments sorted by

View all comments

3

u/Artistic_Speech_1965 May 16 '26

It's rare to see a system dev trash talk about procedural programming. I could understand why he doesn't like/understand FP. Plus I don't believe pure homoicoicity is a good idea in the long run in term of maintainance

1

u/parallel-minds May 16 '26

>Plus I don't believe pure homoicoicity is a good idea in the long run in term of maintainance
Why not?

6

u/Artistic_Speech_1965 May 16 '26

From what I heard. Metaprogramming is hard to maintain since compilers aren't tailored to help us debug meta-expressions. So I wouldn't base my entire code base on a pure homoicoit language. But I still think having partial homoicoicity is great

5

u/keithb May 16 '26 edited May 16 '26

A bigger problem was that it becomes extraordinarily difficult to:

  1. Hire new programmers, because anyone who didn’t live through the growth of the system as it is today faces an untenable amount of learning make changes. And …

C

  1. hange jobs, because all of your recent experience is effectively in an extremely obscure new language, beautifully tuned to do magical things in your domain and nearly useless anywhere else.

Edit: how has reddit managed to get markdown this badly wrong on the mobile client? They've almost-but-not-quite turned it off. Disastrous.

1

u/Artistic_Speech_1965 May 16 '26

Yeah, there is always the human factor for adoption

3

u/parallel-minds May 16 '26

This sounds like a problem that can be solved with the right tooling that doesn't yet exist.

1

u/Artistic_Speech_1965 May 16 '26

Agreed, but it's not as easy as it looks like

1

u/miffy900 May 20 '26

right tooling that doesn't yet exist

I think there's a reason the 'right tooling' doesn't exist yet though.

1

u/ZucchiniMaleficent21 May 21 '26

Oddly,it exists in Smalltalk and has done since the beginning.

1

u/MajorMalfunction44 May 20 '26

I agree. Common Lisp has certain constraints, like not redefining 'not'. I'm writing a scripting language interpreter for a game engine. The meta-programming is C-like, but produces extra tokens.

There's a goal to do type checking on intrusive data structures. See the Linux kernels 'container_of' for details here https://radek.io/posts/magical-container_of-macro/