6 ms·
OOP's greatest crime is needlessly adding an I-thou dichotomy to the realm of programming languages. The "switching" or context sensitive properties of deictic
by AprilArcus 4y ago
OOP's greatest crime is needlessly adding an I-thou dichotomy to the realm of programming languages. The "switching" or context sensitive properties of deictic pronoun referents is one of the last and most difficult linguistic skills that first language learners acquire. Class instances add deixis to programming languages, which never needed it and don't benefit.
- MauranKilom 4y agoCould you translate this into English, please?
- nighthawk454 4y agoattempt: a class and an instance of a class aren't the same thing, which creates cognitive load to distinguish
- samatman 4y agoI think they're complaining about `this`, which I also find annoying, but don't feel the need to dress that up in fancy terms. My issue with `this` and things like it is that the first argument (the 'object') is usually the most important thing, and it's easier to read methods if they have a name. Ok, you can call this deixis but do you need to? Clearly not.
- maxbond 4y agoYour fancy terms are someone else's terms. It was critical to their point about how deixis specifically being difficult for new language learners. Addutionally I enjoyed skimming the Wikipedia articles and considering programming languages as languages; I got more out of it than I do most HN comments. I think it's fair to skip over a comment using terminology you find tiresome, be it because you aren't familiar, or you find it irritating for some reason, or for any reason; it's your time. I think it's unnecessary to insist we all use the same terminology, as that just limits what conversations can be had and who can have them. One of the things that makes HN feel magical is when people from a weird discipline jump in to give their two cents, and they add value to the community when they bring their terminology with them.
- rglullis 4y agoThere is no value in the terminology. A sign of true expertise in a field is the ability to explain fundamental concepts without having to resort to jargon. Jargon helps communication between people who are already familiar with the concept. This does not mean that we need to dumb things down, but if OP can not explain things in a simplified matter, I'd take it as a signal that OP's criticism at best as non-practical and at worst as pseudo-intellectual BS.
- maxbond 4y agoWords are tools of thought, and it's good to be exposed to new tools. They give you different angles and nuances to approach a problem. Presenting things plainly is nice. But insisting it's the only way to communicate is silly. Not every form of communication has to be nonchallenging. Not everything has to be predigested for you. It's okay for some things to take a little work to unpack. Dismissing someone for using different terminology is dismissing someone who could surprise you or teach you something new because you don't like the aesthetics of their speech and you aren't willing to put in the effort to understand them. If you don't want to spend your time that way I understand, but why is that a stance? Why isn't that just how you've prioritized your day, without making it a moral judgement about the quality of their speech? > This does not mean that we need to dumb things down, but if OP can not explain things in a simplified matter, I'd take it as a signal that OP's criticism at best as non-practical and at worst as pseudo-intellectual BS. What you're saying here is that you'd rather rely on this heuristic to dismiss what they have to say, then figure out whether what they say has value. And you do you. But this isn't a reflection on anyone other than you. It isn't a criticism of their statement. You're kinda cheating yourself. You've just decided that along this certain axis, your thinking is done expanding and you have no more to learn. And that's unfortunate, I hope you'll reconsider because there's a lot of richness there.
- rglullis 4y agoThat is a lot of words to say "I have a fetish for intellectual babble". I didn't say that the type of speech alone is enough to dismiss the argument. I am saying that resorting to terms more complicated than needed hinders communication. If "words are tools for thought", OP is using the wrong tool and you are jerking off to someone who is employing a (overtly fancy) chisel to sand a block of wood. (And yes, I did read up on the terms. His criticism is still vague and does not seem rooted in actual experience as a programmer, teacher or programming language designer.)
- Brian_K_White 4y ago"complaining about `this`, which I also find annoying, but don't feel the need to dress that up in fancy terms." Terms? "I think you meant 'words' which I also find annoying, but don't feel the need to dress that up in fancy words." I don't feel the need to blunt precise terms down to imprecise terms. If I did find "fancy terms" annoying, I wouldn't be proud of nor advertise that.
- deleted 4y ago[deleted]
- samatman 4y ago
- maxbond 4y agoYou said something provocative and your gunnuh get rude when people are provoked? Why are you here if you don't want to have a discussion? People are neither allowed to use their preferred terminology nor disagree with you? That's really the experience you're going for? Why?
- IncRnd 4y agoThey are saying they favor the emacs model over that of vi, and that subsequent editors have not added any appreciable value. Well, that's what they said, after transpiling into an editor discussion about modal vs. non-modal editors against the backdrop of forking editors in order to add new features.
- IshKebab 4y agoI think he's trying to say that object methods now can refer to two different tenses of things - this/self/me, and everything else (it/that). In C there is only the latter. (And also "look at the clever words I know!") It's nonsense though because this/self is barely more than syntactic sugar for what C programmers do anyway - in fact languages with UFCS let you choose arbitrarily. Writing free functions with `this` as the first parameter doesn't really change anything.
- deleted 4y ago[deleted]
- maxbond 4y agoIs it that programming languages don't need deixis or that OOP does it badly? I think OOP makes context more diffuse and you encounter it more often. I think that data-oriented languages like SQL do a better job of managing context. But I can't say whether or not it is necessary and I don't think I've used a programming language without it, so I don't know what that programming paradigm would be like and whether I'm missing out something.
- klabb3 4y agoThis.
- rileyphone 4y agoIt's far from needless - doing so enables syntonic reasoning [0] by the programmer, as originally explored by Papert in Logo's turtle graphics, which was one of the direct inspirations for Smalltalk. There's a reason this "last and most difficult linguistic skill" is so handy - with it we can refer to objects across space and time. 0. https://www.tech.dmu.ac.uk/~mjdean/notes/modules/education/EDUC2323/syntonicity2.pdf https://www.tech.dmu.ac.uk/~mjdean/notes/modules/education/E...
- AprilArcus 4y agoThanks for the link, I'll enjoy reading this.
- replwoacause 4y agoI don't know what to make of this comment. On the one hand, I've worked with people who technobabble so I wonder if that's what this is. On the other hand, I question if maybe I'm just an idiot who doesn't operate on your level. Either way, I think there is something to be said about communicating succinctly in plain English. This comment reminds me of the joke/quote "Never use a long word when a diminutive one will do."
- maxbond 4y agoI was unfamiliar with these terms as well, but I looked them up and was able to figure it out. It's not technobabble and I doubt that it's just above you either, they're just words you don't know that you can look up. They didn't use words that were unnecessarily complex, they were just referring to concepts you hadn't heard the word for before, and they happen to have a stiff and academic feel to them. Concurrency, syntactic sugar, object oriented, monotonic clock, these all sound like babble to someone uninitiated as well.
- somewhereoutth 4y agoI consider OOP's greatest crime to be 'reification' at the finest level, i.e. to give small bits of data 'identity' or a concrete location. Thus suddenly you have things like the I-thou dichotomy and deictic pronoun referents, which have no place in data processing, and also potentially replicated state and thus complexity explosion. Of course this was inevitable given the place orientated von Neumann architecture (the tape, with its distinct locations). Much as OO practitioners like to think OO is special or deep in some sense, it is in fact just a conceptual hack to accommodate the inherent clumsiness of our particular adding machines, dressing their flaws in fancy clothes to hide our shame. If it wasn't for C pointers, programmers would think OO was some sort of nightmare fuel from another dimension.
- deleted 4y ago[deleted]