That might be a false assumption (look, some people just don't care) but you gain very little by complaining and getting mad at things that already happened.
We love to complain about things our predecessors did wrong, but often, we don't do those things either :)
One example I see all the time is my more liberal/left-leaning friends assuming that their conservative adversaries (especially on the internet) are motivated solely by stupidity.
This trips them up when they are confronted with evidence of intelligence and solid reasoning from the people they had presumed to be capable of neither.
The reverse also happens of course, with the conservative person characterising their adversary as the stereotypical "Dumb Hippy".
At one extreme, you may discover a flaw in your reasoning. Even if not, you may find that while not entirely sound, there are valuable aspects to the other person's point of view, which can make your world-view more nuanced. Or perhaps you will simply confirm your initial perspective... but even then, you're much more likely to inspire the other person to think on the subject than if you come in with the perspective that they're provably wrong (and perhaps a bit pitiable for it). By seeking to really understand someone, you inspire them to do the same for you.
You said: "by definition is an unjustified belief ... no reason or logical backing ... malfunction of your reasoning system"
exactly proving the point. You've made a blanket statement regarding anyone who has come to a different conclusion from you regarding the supernatural. It must be stupidity! It can't possibly be justified, or even clear the bar of not-totally-irrational! There's no room to even try to have a conversation, because "by definition" people on the other side are stupid.
I was raised in a religion that emphasizes understanding the belief system and arguments for it (the focus on valuing the truth was what caused me to ultimately leave, btw.). So I do have first-hand experience of what it means to believe in something for perfectly good reason with strong, consistent arguments. And I have to tell you, while most religious people probably believe for reasons like you just described, I've seen and talked to many self-proclaimed atheists and many refuse to believe for exactly the same reasons - they were raised as atheists. Or they discovered that atheism is what cool people do, or didn't want to stand out from the crowd.
People who don't believe in supernatural aren't inherently smarter than those who do. For many (I suspect most) of them, atheism is a blind faith, the same way Christianity is for their parents.
I have met very few people like this.
And, again, you are making the OP's point. You have it all figured it out -- you know how wrong everyone who disagrees with you is. Whether you call it "stupid" or "a disease" or "irrational", the point is that you're not attempting to learn from them or understand them, you're simply being dismissive of everyone who concludes differently from you.
Religion is 'solved' in the sense that they are man made belief systems, all which proclaim to be true, and most holding mutually exclusive claims between each other.
It is not debatable in a way left-right politics and their backers' stances and reasonings are. I'm not hating on them because it is not their fault. I feel for those trapped, I really do.
Given time societies turn (and have already turned in large parts) away from it through education and the undrstanding of the universe and the human condition via scientific method. There is no middle ground in this specific instance.
You would not entertain an alchemist or an astrologist either. Religion will soon join them in that regard in the collective consciousness.
And why do you think people won't entertain an alchemist or an astrologist? Why do you think religion will become similar to those disciplines?
It's not because people are getting smarter. It's because alchemy is not popular, science is! Most people don't understand a thing about either, but they have a firm opinion. That's just blind faith, the only thing that changes over the centuries is the object of faith.
It's completely orthogonal to the discussion about which is right and which is wrong. Most people don't know and don't care, as long as they believe the same thing their peers do, so I wouldn't be quick to judge one group, because the other is not smarter, it just sticks to the currently popular belief.
I feel fairly confident not entertaining someone who claims to be able to turn a lead brick into gold in their living room, because I know enough about physics and chemistry to understand the energy difference between lead and gold. But I would entertain someone who had nuclear-lab-grade equipment who claimed to be able to convert a small number of atoms. They might actually be full of crap, but my domain knowledge is not specific enough to be able to say.
When it comes to religion, I think the same thing with non-experts happens, and you're doing it. You claim to know all religious are "man made belief systems", "unjustified", with "no logical backing" -- claims that a domain expert can make regarding perhaps a few religions they're intimately familiar with, but not that anyone can actually make for all religions. How many religions have you studied deeply enough to really be able to make that claim? If Christianity is on your list, have you ever read the Didache, or De Principiis? If Mormonism is on your list, do you know about the Seer Stone or Elijah Abel? If Judaism is on your list, are you familiar with the Midrash or Siddur? These aren't particularly obscure references; they're things anyone well-enough versed in any of these religions to say "it's bogus because..." should know about.
If you don't know about those things, but you're sure each of those religions are "man-made", "unjustified", with "no logical backing", you should consider where your certainty comes from and how certain it really is.
- identify the central claims of a given religion
- identify the version of a central claim which is actually necessary for the religion
- determine what it would take to "refute" one of those claims sufficiently (rather than, for example, merely calling into question one of those claims, or refuting only one variant of a claim which has other variants.)
I contend that nobody on earth knows enough about "all religions" to be able to make such a claim. I further contend that, of the religions I mentioned above, if you didn't at least recognize the details I named, it's reasonably likely that your expertise is not deep enough to be able to follow those steps. For example, if you have never heard of The Didache, your awareness of Christianity is probably focused on only a small subgroup, whose "central claims" don't necessarily correspond to the claims of the broader religion; refuting one of that subgroup's claims may or may not have any relevance for someone from another subgroup.
With regard to identifying essential claims, I'd propose that any claim that is believed by a good number of the sect's adherents is an essential claim, as refuting it invalidates those particular adherents' beliefs.
Beyond that, the question is what epistemological value can be derived from the remaining religions? What reason can be given to accept them? The burden of proof should be on them to demonstrate that they together, or one of them alone, should be accepted as accurately describing reality.
P.S. Thanks for the interesting discussion.
Sure -- but unless you're reasonably well-educated on a particular religion, how do you know if the variations are subtle or substantial? How do you know if they're "broadly held", particularly among that religion's scholars? (You brought up "unerring divine origin of scripture", which is a common belief of Fundamentalist Christians; do you know how broadly that belief is held by non-Fundamentalists? Do you know what the other common views are among the more populous Christian and Jewish sects regarding the same scriptures? Are you aware that Mormons believe the Bible has been corrupted?)
> "any claim that is believed by a good number of the sect's adherents is an essential claim, as refuting it invalidates those particular adherents' beliefs"
In practice, it doesn't work that way. Every religion I've studied carefully has a lot of inessential beliefs which are nonetheless widely held -- beliefs which, if they were overturned, would not in any way shake the faith of that religion's adherents.
It's common for outsiders to misidentify how popular certain beliefs are, how strongly they are held, and how essential they are. It's also common for outsiders to believe they've refuted something, when in reality they've stated some fact that has been known and accepted for centuries and which is actually the tip of the iceberg for scholarly study within a given religion.
That's why I suggest that, if you haven't heard of some of the specifics I named above, you're probably not capable of actually refuting those religions. It's not that those things are critical, so much as that to identify and address the actual core beliefs in relevant ways requires a depth of knowledge which would also expose you to topics like the Didache, the Seer Stone, or the Midrash. (And I wouldn't dream of making any sort of claim about the refutability of "all" African tribal religions, or "all" eastern religions, because I don't have that sort of depth of knowledge. I can say that I don't presently believe any of them, but that's a much weaker claim than "they're all irrational and a disease".)
> "The burden of proof should be ... to demonstrate that they ... accurately describing reality"
This ties us back to my original contribution to this discussion. How does one demonstrate that their position accurately describes reality, to an audience that thinks they are "motivated solely by stupidity"? How does one demonstrate there is value to be found in their belief system to someone who issues blanket dismissals? How does either party get value out of a conversation if one of them believes it's a monologue -- an opportunity to tell their stupid opponent how wrong they are, with no expectation that they might learn something?
If you begin with the assumption that someone else is stupid and you don't need to listen carefully to them, whether you're talking about their religion or politics or software, then it's unlikely you'll go through the sort of critical thinking process the original article described (and likely you'll "get lazy about challenging your own assumptions".)
But let s just say that some of the greatest philosophers were also believers of some sort of diety. As well as some of the greatest scientists.
Indicative of this was a request to take a table of data that already existed (on a website) and add a button to export a CSV of that data. For anyone familiar with .NET (and I assume most other languages) if you've already got the data in the format you want to export this is literally a 10-minute task, including a unit test or two for the functionality. His quote was something on order of 18 hours which included time to write a set of TableDataExportService methods that would support a whole host of file formats in the future.
And once you've done that ten minute job on this page, how long will it take you to add it to the other 25 pages which also have tables of data that need CSV export? And when the table format changes to add another column, does the next developer also have to adjust your CSV output code?
Sure, YAGNI, but... there's no excuse to just throw a bunch of CSV-export logic inline into a page that previously had shown no interest in knowing how to format CSV files. Take a little longer, think about where to put the logic. There's a middle ground here.
Six months later everything was going horribly wrong because there was not a single one of us who was willing to solve a simple problem with simple code. Everybody was engineering the hell out of every single 'solution' and the code was impossible to read.
From this I learned a couple of things. One was that I had not learned as much from my Second System Syndrome as I thought I had. The second was that every project benefits from having people who are entertained by solving 'mundane' problems, to whom you can assign all concerns that are not part of the information architecture.
But the most important is that the best solution is -never- the one that is dazzlingly brilliant. It's often the one that's subtly clever (everyone agrees "that works", but some can wax poetic about how great it is at satisfying the concern), but sometimes it's the one that's dead simple.
Few solutions are easier to replace than the dead simple one.
Maybe this client was notorious for asking for CSV export but really meant CSV, XLS, XLSX, PDF? Maybe the build and release infrastructure is so slow that any change - no matter how small - needs 3 days to be built, tested, and deployed? Maybe the complexity makes sense in other areas of the system and they decided to adopt patterns across the codebase to aid in teaching/onboarding new developers?
Just to be clear, maybe you will find that the reasons are totally invalid and this is gold-plated-abstracted-to-hell code. (It sounds like you probably will)
But if you assume from the start that everything is an over-complicated pile of junk and you could rewrite it in a day, I think you will find yourself jaded and unhappy with your environment.
Software should be implemented as simple as possible, and then refactored as necessary when new functionality is required (the only exception is things you are very sure is going to be needed, e.g a password reset functionality on a password dialog).
Anyhow that is my development philosophy.
Which is not meant to detract from the fact that the code was great 99% of the time. It just took 10x longer than it should have and cost 10x as much and half of it was never used.
There is a messy code and there is a messy code. Changing shared data without synchronization is incompetence, but having a 3-page long for-loop is not. In reality though, once you've cleaned stables a dozen times spaghetti code is the red flag of incompetence and the correlation is there.
Question is, where's the incompetence?
Yup, like any profession, there are developers out there who just suck.
But the same is true of middle and senior company management. Can you honestly say you've never cut a corner because some incompetent manager mismanaged the schedule or customer expectations and then forced you to compromise quality in order to meet an absurd date?
And in any organization with that type of management, those issues are rarely isolated. Any one manager can do a little damage, but when an organization is dysfunctional, well-meaning coders on the ground may be forced to compromise code quality time and time again in order to deal with unrealistic schedules.
Think of it like a professional sports team. Sometimes, yeah, the players just suck. But a bad coach or general manager can have an outsized effect on an organization.
Now, I would never claim that all bad code is a product of bad management. Again, some folks just suck at their job. But speaking as a guy in middle management, I'd be willing to believe at least half of the bad code lying around in the real world is a product of an incompetent management structure.
Getting back to the article, that would represent the kind of hidden incentive that would cause an outsider to assume developer incompetence, even though the reality is very much different.
Even in your example of shared data/synchronization - what if the original developers were told that the code would never need to be thread-safe? Or what if there was a constraint that required this trade-off to be made? It's not so black and white.
I've worked on a legacy codebase where the developer both admitted that the code was a hack job, got guilty-defensive about it, and then refused to schedule any time to help make progress.
You just want to shake them by the shoulders and be like "Look, it's fine that you did the best you could, but you need to either help clean up the mess or get out of the way."
Chesterton's Fence is wise in moderation--otherwise, it ends up as technological hoarding.