4 ms·
I have a ton of respect for Alan Kay and think he's a genius. But why does it seem like every time he talks about OO it's always painting an apocalyptic picture
by warent 7y ago
I have a ton of respect for Alan Kay and think he's a genius. But why does it seem like every time he talks about OO it's always painting an apocalyptic picture like we're in some kind of twilight zone alternate nightmare reality of broken patterns and models? Surely our concept of objects and OOD can't be that bad, but his apparently contrary outlook is just so persistent...
- LandR 7y ago> I have a ton of respect for Alan Kay and think he's a genius. But why does it seem like every time he talks about OO it's always painting an apocalyptic picture like we're in some kind of twilight zone alternate nightmare reality of broken patterns and models? Because we are? Have you seen most OOP code-bases, they are a train wreck!
- marvel_boy 7y agoThis
- Pop2019 7y agoJavaScript is functional and oh boy!
- LandR 7y agoYes, but Javascript developers aren't functional. In either sense of the word.
- sctb 7y agoThe bar for thoughtfulness is higher than this here. Even if the J-word gets us, could we please be more informative and kind or just not say anything? https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- pingucrimson 7y agoWhat does "functional" mean to you? If "OO" has a hundred different meanings, then "functional" must have at least a thousand. To me, JavaScript is definitely not functional - it lacks a notion of purity, and its meaning is the evaluation of statements, not the construction of expressions.
- Pop2019 7y agoMy point was popular languages attract masses of developers and the resulting quality of code is poor on average.
- pingucrimson 7y agoThat's a good point, but it's not implied by "JavaScript is functional and oh boy!" at all.
- gnclmorais 7y agoCould you elaborate on the “most” part? Coming from my experience on Rails over the past couple of years, I’m quite happy with what I’ve found so far.
- renox 7y agoWell, Ruby is Smalltalk with a different syntax..
- 0x445442 7y agoI think one of the biggest issues is that languages such as Java account for large percentages of existing OOP in the wild and Java is a "kitchen sink" language with too many supported paradigms and styles. For example, look at class attributes and methods. I'm not sure they're needed but in a language like Java the semantics often leads to wildly different programming styles within the same code base. And it's hard to enforce consistent styles using conventions. That said, I've seen/read Kay asked directly, on more than one occasion to elaborate on his notion of a real OOP language implementation and his answers are always to coy and slippery for my taste.
- unimpressive 7y ago>Surely our concept of objects and OOD can't be that bad How would you know if it were?
- doboyy 7y agoBecause software isn't as cooperative and scalable as Alan Kay says. We are getting better at this, but probably at a painstakingly slower rate than he would like.
- enriquto 7y ago> Surely our concept of objects and OOD can't be that bad Yes, it is. Object orientation is probably the worst idea to ever have appeared in computer science, both from a philosophical and practical point of view: it is an unsound principle and it leads to disastrous engineering practices. We will be mocked mercilessly by our descendants.
- LandR 7y agoYeah, history won't be kind to OOP and OOD. It will go down as a massive mistake that costs billions in both financial cost and just wasted human effort.
- mpweiher 7y agoActually, OOP is the most successful architectural style in existence. Pretty much all the GUI software you see is OOP. Modern personal computing was invented on OO. The Web was invented on a NeXT in Objective-C on AppKit. OOP was seen by Fred Brooks as one of the few possible technologies that come close to a "silver bullet" when he wrote NSB, and ten years later he said that this had come true. Today, we tackle problems orders of magnitude larger and more complex than pre-OO. We have reuse at levels that were only dreamed of (and largely thought impossible) before. etc.
- carlmr 7y agoThere are actually two languages (aside from Smalltalk) I know that are very close to Alan Kay's idea of message passing objects (as I understand it). Those are elixir and erlang. They're usually regarded as functional languages, but they have message passing actor model at their core. It might not be the best for everything, but they definitely are very good in their niche of embarassingly parallel computation.
- moosey 7y agoI would go as far as to say that the nature of most software development is similar to the state of physical infrastructure in the United States: failing because of lack of maintenance and poor practice. I strongly believe that these problems will lead to foundational collapse of our current processes and the systems that were built from them. It is equally likely that we simply keep on living with minimal modification to current way that we do things, with what I imagine will be slowed innovation. All of the signs of general failure are starting to show: the great successes of recent computer attacks against the United States, against both public and private institutions, and the regular drum beat of data leaks. Imagine having the level of education and knowledge that Alan Kay does and seeing a contemporary code base (I don't imagine that my work would be treated kindly by Mr. Kay)? I imagine that his view of whatever is coming is far worse than mine.