Depending on who you ask, right now JavaScript is either turning into a modern, reliable language, or a bloated, overly complex dependency hell. Or maybe both?
What's more, there's just so many options: Do you use React or Angular 2? Do you really need Webpack? And what's this month's recommended way of dealing with CSS?
Like you, I spent far too many hours reading about all this, and at the end I still wasn't sure. So I decided to create a survey to see what everybody else thought. It seems like I must've hit a nerve, because I got over 9000 answers in just over two weeks!
Further down in the article, the survey results are listed, though not in an easily scrape-able format. Oddly enough, the site degrades gracefully, and does not require Javascript to be enabled.
http://stateofjs.com/2016/introduction/
-- submitted from IRC
(Score: 3, Insightful) by Snotnose on Tuesday October 11 2016, @06:59PM
If i'm writing php, javascript, or C# then a lot of typing is "magic" and you really don't care.
See, this is the mentality I'm talking about and why Javascript sucks. I don't care what language I'm in, if I try to add a string and an int I don't want it to silently convert the string to an int and add, or vice versa on a different machine. No, I want to hear "I sorry, I can't do that, Dave".
I will never intentionally try to combine types, and if I do so it's most definitely a mistake I want to be told about.
My ducks are not in a row. I don't know where some of them are, and I'm pretty sure one of them is a turkey.
(Score: 2) by tibman on Tuesday October 11 2016, @07:20PM
I don't think there's anything wrong with your complaint. It's very valid. Especially for people coming from a strongly typed background. But in javascript you cannot say "int x = 3;". The language doesn't permit you. So, you have to be a bit more flexible and cavalier in your thinking/programming for those languages. You can't always choose your language, unfortunately. The good news is that testing frameworks are plentiful in nearly all languages and you can prove run-time functionality in an automatic way.
C# and PHP are a middle-ground of sorts where you can do either int or var. In C# the compiled results are identical and type-checked at compile-time. Very safe. Dynamic type being the exception but let's ignore it. PHP would only give you run-time type errors, unfortunately. But you can at least be explicit with your typing if you want. C only gets a mention here because we know it is strictly explicitly typed. No idea about python, ruby, or others.
SN won't survive on lurkers alone. Write comments.
(Score: 1, Insightful) by Anonymous Coward on Tuesday October 11 2016, @07:42PM
The point for me is this - you can't produce reliable code without very careful testing. Why go through the hell of C++ syntax when you need to be thorough and careful at the testing point anyway. The weakly-typed cycle of is faster than the strongly-typed cycle of and gets no worse results in terms of reliability. In particular, I get hideously tied up in C++ templates and inheritance syntax whenever I want to write something general/low level. Or I just convert everything to a void*, and then why did I bother using C++ in the first place?
ps: I never touched javascript, but I have spent many years writing C++ code and python code. I learnt C++ first and then "discovered" python. C++ I do for processing speed, python I do for ease of development.
(Score: 0) by Anonymous Coward on Tuesday October 11 2016, @08:12PM
it gobbled my text. Must be javascript?
> The weakly-typed cycle of is faster than the strongly-typed cycle of and gets no worse results in terms of reliability.
Should have been
The weakly-typed cycle of "code" "test" is faster than the strongly-typed cycle of "code" "compile" "test" and gets no worse results in terms of reliability.