There are plenty of great articles on here for various programming languages / libraries and so I thought I'd write my first article on another asp...
For further actions, you may consider blocking this person and/or reporting abuse
I think people sometimes get scarred by a frustrating experience and develop a really strong opinion. Like, based on personal experience, they get really really really strong opinions.
It's also probably a fallacy that certainty is often rewarded over it depends kind of answers. Certainty is probably an antipattern in our craft.
I totally agree that certainty is an antipattern in our craft. Unfortunately, I've seen certainty be rewarded far more often than not. I find that certainty (zealotry) lowers my respect for people, but managers seem to quite often prefer "simple," "certain" answers. Meanwhile, they often penalize people who grasp subtleties and nuances.
I believe it is plain psychology. People defend their opinions strongly. And they do it because they take their opinions too personally. So if an opinion is screwed and torn into pieces by another fellow, they become devastated.
Programmers, I believe, have stronger-than-average-egos(not sure why, just a statistical observation) and thus we end up to framework-wars.
For me i'd prefer to never use java if I don't have to, simply because I think there's always a better tool than java.
But obviously it's better to use java in scenarios where other people who perform better when using java also has to work on a project, or somebody else or I have knowledge with a framework that only works with java (since not everyone knows other JVM languages)
I think this is more of a preference and less of a generalization.
This sort of statement is quite tiring to hear, because everyone thinks they're picking the best tool for the job, of course they do!
It's the same as when someone says to me
Eugh.
Anytime someone says "never" they're probably misinformed
Never use COBOL to build your website frontend.
Sort of an extreme case that no one would ever say, but I'll bite.
Compile from web assembly to create in browser COBOL learning tool?
Man someone should make that. Instead of hearing about COBOL's crappiness, you coyld experience it firsthand.
Yep, that would be awesome lol.
I think this post is better viewed from the perspective of when a person brings something up like "I do it this way" and someone responds "You should never do that".
Sure there are edge cases when someone says something like "I want to do DOM manipulation with MySQL" but still there is a vein of truth where maybe the meant they want to store templates in a database and execute them through Ajax requests... So even with the biggest conceivable edge case there still is an exception to the "never" unless it is entirely nonsensical.
how do you know that is the right tool?
I think it's a mixture of drawing upon previous experience and research / discussing the problem with others.
I've found focusing on what I'm trying to achieve works well. For example, if I'm building an internally facing web app for a company who all use Chrome and the app is fairly rich / interactive, a SPA makes perfect sense since it's running on a fast intranet. Alternatively, if this was a public facing website, where SEO matters and the users had a variety of internet speed and devices, then server-rendered web app with limited JavaScript might be the better option.
Yeap, it's a mature approach of experienced engineer. But I found what all that framework, languages, database wars born in low competency communities, literally between scholars or/and fresh grade. Because they don't have enough experience and knowledge, so in this case you can only repeat silly stamps like: "I use Mac/Linux cuz very secure and have no viruses and Windows sucks" or "Python is slow because it slow". People just wants to look smarter and more important than they are, it's ok. But when I hit 30 years old I found what I don't want to participate in that loose talks if it doesn't touch me directly. World has lot of nonsense and IT industry not an exception, better to stay aside of these "extremists"
"surely we should just be picking the right tool for the right job?"
But why is it the right tool and how does it affect the other jobs? If I choose react in one place how does angular pan out for the other, no jquery is really nice in this spot... Your tools can effect what is right for the job and navigating while predicting the future to find that right tool may not work out as desired.