Edit: Why did this question get down voted? It was an honest question...
Edit: Why did this question get down voted? It was an honest question...
Edit:
Ok, for the down voters. Angular is HUGE. And all that code has to get shoved onto the client side when someone visits a page. And that's JUST for the framework. We aren't even talking about the application code yet. More and more clients are mobile. Nobody sees a problem here? You're using more (precious) data, it's slower to load and slower to run. It's just a nasty little trend going on.
NOW LET'S SEE SOME FREAKING DOWN VOTING!!!
That feeling you get when you see code with lots of type checking... A lot of engineering effort could be recovered with static typing.
"JavaScript was designed with Java's syntax and standard library in mind. In particular, all Java keywords were reserved in original JavaScript, JavaScript's standard library follows Java's naming conventions, and JavaScript's Math and Date objects are based on classes from Java 1.0" -- http://en.wikipedia.org/wiki/JavaScript#JavaScript_and_Java
"A common misconception is that JavaScript is similar or closely related to Java. It is true that both have a C-like syntax (the C language being their most immediate common ancestor language). They also are both typically sandboxed (when used inside a browser), and JavaScript was designed with Java's syntax and standard library in mind. In particular, all Java keywords were reserved in original JavaScript, JavaScript's standard library follows Java's naming conventions, and JavaScript's Math and Date objects are based on classes from Java 1.0,[116] but the similarities end there.
The differences between the two languages are more prominent than their similarities. Java has static typing, while JavaScript's typing is dynamic. Java is loaded from compiled bytecode, while JavaScript is loaded as human-readable source code. Java's objects are class-based, while JavaScript's are prototype-based. Finally, Java did not support functional programming until Java 8, while JavaScript does, as it contains many features based on Scheme."
And read this part too, it has much relevant info: http://en.wikipedia.org/wiki/JavaScript#Beginnings_at_Netsca...
[0] http://en.wikipedia.org/wiki/Brendan_Eich#Netscape_and_JavaS...
He said it looks like Java, I believe. Not "it's similar to Java".
Whole web is a mess and people are trying to monkey-patch it.
For example, I don't think it's particularly bad that array[-1] and array.charAt(-1) return different values.
Also, I don't get the Math.Max() example with booleans. Seems perfectly logical to me.
That has been true for the last 20+ years, but it gets less and less accurate as time goes on. The web today is way less messy than it was even 3 years ago. The way we write JS is way less messy, the way we write CSS is way less messy. Standards have improved, lighten up.
That said, static typing does help with intellisense/code completion, on-the-fly error checking, refactoring, etc...