Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As a diehard functional programmer (who used to shun OOP as a fad) who's been dabbling with Pharo over the last few weeks, I must say I'm impressed. And, like the article pointed out, I'm having the same "seeing the light" experience that I first had with Lisp and Erlang.

After experiencing what OOP is really all about, an interactive environment with live objects sending messages to each other, readily available to be inspected and manipulated [0], I find it a drag to go back to Python and Clojure (less so) on my day job.

I now feel like every other OOP implementation (without the live environment) is just a horrific bastardized version of Smalltalk.

[0] http://simberon.blogspot.nl/2013/01/swimming-with-fish.html




I would say Smalltalk is really two concepts that people don't often encounter rolled in to one term. OOP in the Smalltalk sense is message passing and is a fantastic way to structure larger programs if possible. If you think about the internet as one large system, you can see that software complexity can scale with message passing methodologies separating components, especially if you don't care about latency and ultimate performance between them.

The live environment is another extremely powerful and useful aspect, but I wouldn't say that it is OOP. Smalltalk may have pioneered it but it is something that is just good in it's own right from a tools standpoint.

I actually think the more pure a programming language is in one concept the more academic it becomes. I see functional programming as being useful at a different complexity layer than Smalltalk style OOP (and of course Smalltalk does have many functional programming features).




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: