Comment Re:Both have their place (Score 3, Insightful) 148
Well done. Though I presume many will be offended by your comparisons I feel as you do. and those who disagree might do well to perform some introspection.
I came from a Java background in 1999 and then discovered JavaScript. I got my first big job with JavaScript in a Ruby shop. Falling in love with Ruby centric talks about OO I applied them all to JavaScript. This was maverick as it wasn’t cool to like JS. Then as my company forced TypeScript at me and I had a chance to compare.
After 27 years programming and 13 dedicated to JavaScript I feel I can say that the advantages we get from TS are not the issues we actually have in production. The protections it offers haven’t (for me) been the issue to problems I’ve ran into. For every type issue that came up we had dynamic equivalents. == means three extra unit tests when === can get away with three less.
I have come to the understanding that much of the dynamic versus static type arguments are all strawmen. There are advantage on both sides and to exclude one over the other requires some kind of blindspot to the other. I can design and code in both confidentially. At home on my own side project I’m going to use JavaScript because I find it fun. At work I am going to use TypeScript because they told me to. If I were to run my own company I might choose a dynamic language but keep a Sauron-esque eye on everything so I can tell developers to produce quality code, documentation, and unit tests. Stop being lazy thinking some fancy compiler with magically make them think they are better coders.