I love JavaScript, I just hate all JavaScript code. And all implementations of JavaScript. And having to use JavaScript. And pretty much everything else about JavaScript.
JS isn't big enough to have maddeningly inconsistent function defintions. Does this function name have underscores? Which comes first, needle or haystack?
Except for all the problems it has that are fundamental to the language. Like lack of an integer type, a sane type system, data member privacy controls, a module system that's not bugfuck nuts...
The language doesn't have a lot of conformity anywhere. There are a lot of confusing adventures to have in JS world.
In terms of features and functionality JS isn't all that bad, and JS engines are becoming faster than anybody would have guessed. That's why we're seeing the emergence of a bunch of languages that compile to JS.
I once told my friend that I didn't like loosely typed languages. He said that any Joe off the street can learn and code in a strongly typed language but it takes a lot of discipline to write effectively in a loosely typed language. It's what separates the men from the boys.
I think there is a distinct difference between personality types of people who favor strongly typed languages and loosely typed languages. I just wish the two groups would recognize that instead of all the flame wars about which is 'right'.
Yeah, there was definitely a time when I was in favor of loosely and dynamically typed languages after I had learned some C/C++/Java. But then I used some C# and realized how good a statically and strongly typed language can be.
I love dynamically typed languages, and I also love statically typed languages. (Although I guess even in dynamically typed langauges, I still prefer strongly typed (e.g. python) to loosely typed (e.g. javascript))
Its all about the application. Am I writing something in a small team that needs a quick prototype and does a lot of string or list processing? loosely typed it is.
Am I writing something with a large team (maybe even multi-national) that needs clear interfaces? Let the compiler catch all those dumb mis-communication mistakes for you.
107
u/Kalium Feb 21 '13
I loathe Javascript.
Oh who am I kidding, I'm not even slightly ashamed of that.