5 ms·
If this is so stupid and obvious, why does apparently 99.99% of software designed by professional engineers seem to be designed by people completely oblivious t
by _yb2s 2y ago
If this is so stupid and obvious, why does apparently 99.99% of software designed by professional engineers seem to be designed by people completely oblivious to these ideas and considerations?
Following these philosophical principles themselves- it seems like a simpler and more accessible treatment of these ideas would be vastly more effective then a more rigorous and complete one- because the ideas are indeed simple.
- ninetyninenine 2y ago> If this is so stupid and obvious, why does apparently 99.99% of software designed by professional engineers seem to be designed by people completely oblivious to these ideas and considerations? It’s similar to why a big portion of the world believes in Christianity and another portion believes in Buddhism. Basically only one or none of these religions is correct rendering at least one population of people believing in a completely made up fantasy concept. Much of what is preached in software is religion and what is preached by the majority can be completely ludicrous. The majority believing or not knowing something doesn’t mean anything.
- _yb2s 2y agoReligious “truths” are not factual truths- they are better thought of as psychological technology or techniques, and are “true” if they work for the intended purpose. Many conflicting religious “truths” are all “true.” Even calling them truths is only done to make the religions accessible to people that can’t mentally process nuance, and the techniques only work for them if labeled as truth. Intelligent religious scholars understand this well- for example Mahayana and Vajrayana Buddhism both teach nearly opposite and factually incompatible perspectives on almost everything, yet are often both used by the same religious teachers for different pupils as appropriate. The same is true for software design- an approach is not literally true or false, but either works for its intended purpose or does not. Conflicting philosophies can both be “true” just with different underlying goals or values. To circle back here, my point is that this information is presented in a simple way that will let people reading it design better software. Saying they have no right to present it without a much less accessible and more complex framework that would likely make it less useful to the intended audience does not make sense to me. FWIW, I am also a functional programmer, but would love to see people that are not follow some of these ideas.
- drdeca 2y ago1 Corinthians 15:13-19 (NIV) : “ If there is no resurrection of the dead, then not even Christ has been raised. And if Christ has not been raised, our preaching is useless and so is your faith. More than that, we are then found to be false witnesses about God, for we have testified about God that he raised Christ from the dead. But he did not raise him if in fact the dead are not raised. For if the dead are not raised, then Christ has not been raised either. And if Christ has not been raised, your faith is futile; you are still in your sins. Then those also who have fallen asleep in Christ are lost. If only for this life we have hope in Christ, we are of all people most to be pitied.” —— There is only one kind of truth. “All truths are God’s truths.” If Christianity is not true, then it is false. If Christianity and Buddhism strictly contradict each-other, then at most one of them is true. Christianity is not meant to be a, what, psychological trick? It makes claims, and these claims should be believed if true and disbelieved if false.
- _yb2s 2y agoIt's no trick, it's a spiritual path that can't be understood without following and practicing it- the path very much leads to something real that cannot be experienced or explained any other way. Everything Christianity teaches is true in the sense that I mean here. You are not understanding what I am saying and I do not personally know how to explain it more clearly[1], which, as I explained above, is why religions pragmatically also offer this view you hold as the official explanation to lay people, despite being obvious nonsense as an objective truth to anyone that thinks very hard about it. I posit almost all intelligent monastics and religious people are smart enough to tell the difference between objective truth and religious truth- but it is taboo to explain this to lay people as they will be confused and think it means the religion is "fake" or a "trick", however I don't feel the need to respect said taboo. Perhaps I will learn to respect it by trying to explain it to people unsuccessfully. [1] David Chapman may be able to: https://vividness.live/visionary-and-objective-truths https://vividness.live/visionary-and-objective-truths
- graemep 2y ago> I posit almost all intelligent monastics and religious people are smart enough to tell the difference between objective truth and religious truth- but it is taboo to explain this to lay people as they will be confused and think it means the religion is "fake" or a "trick", however I don't feel the need to respect said taboo. That is positing a conspiracy theory level of deception. At least as far as Christianity goes, the "intelligent monastics and religious people" write down their beliefs, and have done so for millennia, and they read each others writings. What you suggest might be possible with an oral tradition, but not with a written one. Christianity is very much concerned with objective truth, and one of the distinguishing characters of it (and some other religions too) is a belief that there is an objective truth.
- musicale 2y agoGood explanation, really. Imperative systems programmers reject one or more of the fp commandments (perhaps finding them impractical), and are probably heretics in the eyes of the fp cult.
- graemep 2y ago> It’s similar to why a big portion of the world believes in Christianity and another portion believes in Buddhism. Basically only one or none of these religions is correct rendering at least one population of people believing in a completely made up fantasy concept. You have picked religions with as little as possible in common. It would be rather different if you had picked any two monotheistic religions for example: one could be entirely right, and that would mean the other was partially or mostly right.. Despite your choice, there are many things in common: a path to redemption, monasticism, wealth being a barrier to redemption, meditation and mysticism... its quite possible those common elements might be right. The same with software. Some things that are widely believed may be true and other false.
- ninetyninenine 2y agoReligions claim to be the absolute truth of reality. Thus since all religions have details that are conflicting and opposing if one is true all the others are false.
- vouwfietsman 2y agoNo, its not similar at all. Parent is telling you: "if A is so simple and obvious, why does nobody do A", your counter argument: "if many people believe A it does not mean it is true". This is entirely unrelated, the point is that these things are NOT obvious to the average programmer, he/she would benefit from learning this, and claiming that these things are broadly "stupid and obvious" is petty and false. Also, the things you're saying just don't add up with your criticism that the author is missing some fundamental part of software philosophy. If the author is only missing something, then it still makes sense for the majority to learn the things he is saying, at least, as explained by your parent. Finally, if anything can be compared to religion, it surely is the evangelism of functional programming zealots.
- ninetyninenine 2y agoAuthor made an argument to why does everybody do A and I said everybody doing A doesn’t mean shit and I used religion as an illustration on how everybody doing A doesn’t mean shit. > If the author is only missing something, then it still makes sense for the majority to learn the things he is saying, at least, as explained by your parent. Sure but from my pov he’s teaching mathematics while skipping over algebra or addition. We can all agree that something huge is missing if you don’t learn algebra or addition. > Finally, if anything can be compared to religion, it surely is the evangelism of functional programming zealots. I don’t deny it. Nobody can really prove their viewpoint to be true. Even the atheist is a zealot. The only way to not be a zealot is to be a zealot about being unsure of everything. But then that makes you a zealot. People insinutated a lot of things because I used religion as an analogy. The ONLY point I was trying to make is that a majority or large group of people believing in or doing plan A doesn't mean shit for plan A.
- vouwfietsman 2y ago> ... an illustration on how everybody doing A doesn’t mean shit. I don't think you understand either the parent or me. The point is that the majority of people do something wrong that the author is trying to help prevent, so just by virtue of that being true it stops being "stupid and obvious". > We can all agree that something huge is missing if you don’t learn algebra or addition. We can indeed all agree on a separate topic, but that does nothing for the topic we are actually discussing. The core of your entire argument is that somehow FP is fundamental to solving complexity, you seem to think that everybody already agrees with this. We don't. > Even the atheist is a zealot No, he is not. Being an atheist or not is a completely internal world view, being a zealot implies being vocal and aiming to convert or convince others. > The only way to not be a zealot is to be a zealot about being unsure of everything No this is also not true, see above. Things are not as black and white as you think. > People insinutated a lot of things because I used religion as an analogy. The point of an analogy is to improve the discussion through clarity, you made a bad analogy and in doing so made the discussion worse and less clear. > The ONLY point I was trying to make is that a majority or large group of people believing in or doing plan A doesn't mean shit for plan A. Which, again, is missing the point. The majority is already judged by the parent, namely: they are doing something wrong. Hence it does not matter that the majority is not always right, the point of the parent is already that the majority is wrong. You are trying to argue for something that nobody brought up, you are arguing against the statement: "the book is good because everybody is doing what it describes". Nobody is saying that, and so you're arguing into the void.
- Mikhail_Edoshin 2y agoWell, there is a parable of seven blind men who met an elephant, touched different parts of it and later described the animal in wildly different terms. Listening ot these different tales can we say that only one of these men is right and all others are wrong? Or maybe all are wrong? Or all are right? Also, do contradictions in their tales mean that the elephant does not exist?
- markgoho 2y agosturgeon's law also, just because someone writes poor code doesn't mean they don't know how to write good code - intent isn't always clear, and it's a mistake to assume ignorance based only on the output