Here are some long lists of warts:
Are there similarly long lists for Java or Python?
(* Linters can also produce false positives which cause you to look for phantom problems. This can be a real time-waster.)
The community and ecosystem argument is certainly quite compelling. There is no doubt that these things confer substantial benefits for both businesses and programmers. The benefits, however, must be balanced against the downsides, such as:
In other words, this is user community, ecosystem, and jobs versus maintainability, reliability, and productivity. The classical contention in IT.
Of course, you can use any language to write large-scale applications. The question is, what are the risks involved? How much additional effort is required?
From the enterprise perspective, we know that it’s safer to use Java, C#, C++, Python, etc. These languages rest on a solid foundation. They are proven quantities. They don’t have Bad Parts that far outweigh the Good Parts. This is a question of trust.
Ultimately, the question comes down to this: Are you doing serious software engineering, or are you hacking together relatively simple applications (less than 20k LOC)?