You seem to be taking this personally, as if someone criticising a language you&#x27;ve chosen to learn is criticising you.<p>That seems like an odd reaction. It&#x27;s perfectly possible to say &quot;JavaScript is crap&quot; without also implying &quot;And everyone who learns it is an idiot. Including you.&quot;<p>It&#x27;s actually useful - really, really useful - to understand where these strong opinions come from. As a beginner&#x2F;outsider you may not understand a lot of the criticism, and when you do understand if you may not agree with it.<p>But the standard criticisms of all the popular languages <i>are directly linked to how well programmers at all levels can work with them.</i><p>So if someone has an opinion about Java, they&#x27;re really saying &quot;I think Java is a bad language because...&quot;<p>They may also be saying - and often are saying - &quot;I know a lot about programming because I have a strong opinion about this.&quot;<p>What they&#x27;re not saying is &quot;You&#x27;re an idiot&quot; - because most often if you ask someone, they actually have no opinion about your competence, probably don&#x27;t know enough about you to assess it (unless they&#x27;ve worked with you for a while) and realistically aren&#x27;t all that interested in a random stranger anyway (unless they have a good professional reason to be.)<p>So the next time someone criticises a language, ask them why they don&#x27;t like it, and ask them what they&#x27;d recommend instead and why they&#x27;d recommend it.<p>You don&#x27;t have to agree with them or take their advice, but their reasons may help you understand why we have so many different languages, why no one is really happy with any of them, and why secretly pretty much everyone wishes the whole scene was simpler, better, and less frustrating and imperfect.