11 ms·
Null is more popular than OOP. It's also something all programmers can agree is a huge mistake. But this concept is replicated literally everywhere. See: https
by deltaonefour 5y ago
Null is more popular than OOP. It's also something all programmers can agree is a huge mistake. But this concept is replicated literally everywhere.
See:
https://www.reddit.com/r/AskComputerScience/comments/bhgtzp/why_did_tony_hoare_apologize_for_inventing_the/ https://www.reddit.com/r/AskComputerScience/comments/bhgtzp/...
People in general are stupid. They get onto hype trains they develop biases and they vote for Trump and try to invade the Whitehouse.
Programmers are people. Hence why stupid concepts can propagate throughout the community.
(Not saying OOP is stupid, just saying that something being popular doesn't negate it from being placed in the stupid bucket.)
- wvenable 5y agoI'm not saying OOP is popular, I'm saying it's successful. You're not making an argument against that at all. You're saying it's popular (not what I'm saying) and bad things can be popular. So what! Good things can also be popular. In fact, good things are often popular.
- readthenotes1 5y agoLike tobacco, sugar, whisky, and caffeine, brussel sprouts, cod liver oil, ...
- deltaonefour 5y ago>I'm not saying OOP is popular, I'm saying it's successful.You're not making an argument against that at all. No. No. I am NOT making an argument saying is OOP is NOT Successful. I never Made such an argument EVER. What I am saying is that your argument is completely Invalid. I am saying you can make no such argument for OOP being successful. Big difference. I make no argument on anything other than saying your argument CANNOT be made with your given evidence. The evidence you present only supports OOP's popularity. Not it's success. Unless you count popularity as success. The argument can still be made that for every application of OOP on ANY project a better non-OOP solution could have been made. This is a possibility. My post only opens this as a possibility and dismisses your post as the absolute truth.
- wvenable 5y agoThe flaw in your argument is that those non-OOP solutions were not made. They don't exist. The idea that some other programming paradigm is more successful based on products that don't exist is ridiculous.
- deltaonefour 5y agoLinux is not OOP. The react and redux pattern eschews OOP. (You can use OOP components but the overarching pattern is functional) Many solutions are made without OOP.
- wvenable 5y ago> People in general are stupid. Many people in the singular are brilliant. You are hand-waving away the fact that the most highly experienced and skilled developers in the world, have in the majority, chosen to develop their software using object-oriented programming. And that software is what we use the most every day.
- deltaonefour 5y agoTons of smart people vote for trump (Peter Thiel for example). I mean you get what I'm saying. Just because some smart people use it doesn't mean it's right. Just because something is popular doesn't mean it's a success.
- wvenable 5y agoWhat will take for you to see that earth is round? Popular is bad. Smart people use it, it's bad. Billions of successful products making trillions of dollars, bad. You've come to a conclusion and no amount of absolutely overwhelming evidence can convince you otherwise.
- deltaonefour 5y agoThe entire world produces green house gases which will ultimately end the human race doesn't mean it's good even though overwhelming people use it. >You've come to a conclusion and no amount of absolutely overwhelming evidence can convince you otherwise. I didn't come to a conclusion. All I am saying is YOUR conclusion has no basis. Popularity is not evidence for success.
- wvenable 5y agoWhat is evidence for success then?
- deltaonefour 5y agoA mathematical proof that OOP programs are more modular and less complex then procedural or functional programs. We are in the realm of logic and idealized language primitives. Thus things can be proven via logic. Science, statistics and other data driven methods are weaker wherever something can be proven via logic. So while popularity doesn't even serve to slightly support the hypothesis of success, even if it did, a logical proof is superior and makes the conclusion definitive. If such a thing is discovered it is definitive. It will destroy all arguments against OOP. Until then the next best thing is examples. Given an OOP program, give the FP or imperative equivalent. Prove the OOP program is definitively better for the one single case.
- invalidname 5y agoNo. Null is great and has no good alternative. The attack on null stems from: * Bad implementations of null handling * Functional programming which doesn't handle null well Null itself is efficient. It has hardware/OS support and is literally zero overhead. It fails fast so you don't see nonsense like "undefined" columns or bad data in your database. When null fails in a good language you usually get a stack directly to your problem. You have one concept to follow through the code instead of multiple concepts. I'm not here to convince you. I'm a fan of OOP and you obviously won't agree with me on either. But claiming "all" or even most without data to back it means you live in a bubble.
- deltaonefour 5y ago> No. Null is great and has no good alternative. First off you don't know what you're talking about. The inventor of the concept of Null has this to say about Null: "I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years." The attack on null stems from Tony Hoare the inventor hating on null. It also stems from programmers who know what they're talking about. >Null itself is efficient. It has hardware/OS support and is literally zero overhead. On x86-64, the general registers are simply bits that are mostly interpreted as integer values. They do not have additional states such as “null” in the sense of “not currently holding a value”. (Some architectures do have such additional states, and the floating-point registers in IA-32 can have such a state.) Unless the OS exposes it's own custom ISA (which they don't) then this is NOT an OS concept either. >When null fails in a good language you usually get a stack directly to your problem. You have one concept to follow through the code instead of multiple concepts. The argument against null stems from the fact that the failure wouldn't even exist in the first place if null didn't exist period. The language itself should statically handle undefined concepts via types. By moving all runtime errors to compile time errors you eliminate the need of even looking at the stack. Possibly the most extreme example of this is elm. It is not possible for the elm language to have ANY runtime errors. All errors that are otherwise runtime errors in C or C++ are caught as compiler errors in elm. >I'm not here to convince you. I'm a fan of OOP and you obviously won't agree with me on either. I'm not a fan of OOP or FP. I'm an unbiased observer. The argument your making here is not either OOP or FP. It's part of mathematics. Type theory. I have a type called int. Why do I have this entity called Null within the type that fails even though everything type checks? It's a violation of the type contract. Your argument is saying the violation is ok for practical purposes. I'm saying it's not. > But claiming "all" or even most without data to back it means you live in a bubble. All programmers know how to sort a list. Do I need data to back up that statement? Perhaps I'm wrong. There are programmers out there who don't know how to do this. I thought null being bad was as obvious as sorting a list. Guess there's one person out there who doesn't know it's bad. It's unreasonable for me to get "data" on a If you want data, the quote from the inventor of null is the best possible one.