# I am the Watcher. I am your guide through this vast new twtiverse.
#
# Usage:
# https://watcher.sour.is/api/plain/users View list of users and latest twt date.
# https://watcher.sour.is/api/plain/twt View all twts.
# https://watcher.sour.is/api/plain/mentions?uri=:uri View all mentions for uri.
# https://watcher.sour.is/api/plain/conv/:hash View all twts for a conversation subject.
#
# Options:
# uri Filter to show a specific users twts.
# offset Start index for quey.
# limit Count of items to return (going back in time).
#
# twt range = 1 7
# self = https://watcher.sour.is/conv/rcurxoq
Object-Oriented Programming is Bad - YouTube
This was a really interesting video. I _think_ he really has a lot of valid points here, especially on encapsulation. I also especially agree on the point of just writing your program procedurally rather than getting bogged down in abstractions that just lead to premature mess -- or something I'm paraphrasing 😅
What do you think? 🤔
Object-Oriented Programming is Bad - YouTube
This was a really interesting video. I _think_ he really has a lot of valid points here, especially on encapsulation. I also especially agree on the point of just writing your program procedurally rather than getting bogged down in abstractions that just lead to premature mess -- or something I'm paraphrasing 😅
What do you think? 🤔
@prologic
- Lots of opinions, many of which aren't cited and probably not super accurate (e.g., that Java is the reason for the rise of OO programming, when Xerox PARC, Sun Microsystems, Smalltalk, Alan Kay, etc etc led to Java and other things)
- His rant about OO programming is really about Java (and its variants). Smalltalk is quite a bit different. Objective C is too.
- The Actor model more or less fits his notion of what OO programming is, yet is hugely successful
- He imposes a bunch of arbitrary rules on OO programming based on a rigid understanding of what objects, states, and encapsulation mean. He then uses this to argue that messages can only be copies of state, not real state; that for one object to send a message to another object it must hold a reference to that object; that objects aren't allowed to have references to anything; etc.
- "The Most Important Programming Video You Will Ever Watch" <--- no, never say this about your own stuff it makes you sound like a crackpot
Got about halfway through, but speaking as an Old guyâ„¢ my high-level takeaway is that this sounds like a 30-something programmer who's starting to grapple with some of the warts of programming that they wish they'd known in their 20s.
you're completely right about half of the things that he said in some of his rants which have no basis in fact some of which I think are actually completely wrong as you pointed out.
however the only point that he does make that I do agree with based on my own experiences as well as one of encapsulation which just doesn't work. In my opinion I think interfaces are a better way to encapsulate behavior ala Go.
you're completely right about half of the things that he said in some of his rants which have no basis in fact some of which I think are actually completely wrong as you pointed out.
however the only point that he does make that I do agree with based on my own experiences as well as one of encapsulation which just doesn't work. In my opinion I think interfaces are a better way to encapsulate behavior ala Go.
@prologic yes, I listed the things I didn't like and forgot to put the things I did like! I agree with you, and him, about encapsulation, especially at the low level. I switched from java to scala about ten years ago and one of the first things I did was stop writing in the java OO style. But I never switched to the full-on disciplined functional style of code ala Haskell, because I find that almost as bad. scala's nice in that it runs on the JVM and you can use OO, FP, imperative, or some cobbled-together hybrid of all three styles as you see fit.