After spending 2 decades with java language, taking peek into javascript feels unbeliable. Javascript has basically existed around same time than java, but unlike java language haven’t really evolved much. It’s really odd to see that lot of things which are simply implicitly granted to exist are simply non existent in javascript world.

Even for simple basic things, like managing namespaces and such, there ain’t real standard, but only various competing (and more-or-less incompatible) approaches. Dependency management is rather non-existent. Javascript coders are happily copy pasting code around and feeling uber-cool while doing it.

Shortly stated, looking into javascript feels like coming back to stoneage. Rather sad, since long ago I decided to stay away from javascript due to major defects on it. And when looking back into it, and seeing that major defects are still there. That simply doesn’t look very encouraging.

This means that javascript is still same what it was 15 years ago; only suitable for small scriptlets enhanging webpages. Not suitable for any big applications, unlike blindfolded javascipters seem to think. Problem really is that javascript is lacking features which are mandatory for large applications.

For example, jQuery appears to be so coool thing among javascript geeks. Well, I was wondering how namespace problems are managed with jQuery extensions. And well, answer appears to be that they are not. Good luck that you’re not trying to use two extensions which happen to use same name, since workarounds for such are problematic.

Thanks to various hacks, and not single standard, refactoring and managing large class hierarchies is also painfull. It seems that most javascript developers are just trying to avoid these, since language doesn’t support them well.

Sad fact of software engineering just is that new generation is always re-inventing already invented things badly again. Eventually comes next generation to fix mess and actually do something relevant by learning huge mess done by previous generation. Sadly after this comes yet another generation to re-write things again, since they are forgetting why previous generation did what they did, and they end of repeating same mistakes than generation before their ancestors.

Mark my words, that iteration will continue indefinitely, or until machines themselves gain intelligence.

Developer rant: Standards, Standards, Standards, Standards, Standards, Standards!!
And problem of ”standards” is that there is always just far too many of them for any single thing in the software development world. Thus it’s pointless to argue to use ”standard” when there is so many of them. Been there and seen that.

References:
JavaScript Namespacing
Patterns For Large-Scale JavaScript Application Architecture
AMD is better for the web than CommonJS modules
Writing Modular JavaScript With AMD, CommonJS & ES Harmony
require.js
LABjs – Loading And Blocking JavaScript
jQuery Plugin Patterns

etc. endless list of arguing over different ”standards”…

Specs/Clarifications/etc.
Immediately-Invoked Function Expression (IIFE)
Closures explained with JavaScript

Named function expressions demystified
ECMA-262-3 in detail. Chapter 5. Functions
JavaScript Object Literal

/ Development

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

This site uses Akismet to reduce spam. Learn how your comment data is processed.