-
• #2
I learned it way back when it first came out. I hate to admit that I think my first script was to make a scrolling message in the browser status bar (can't remember what that was called), but both javascript and my dev skills have improved a ton since then ;)
-
• #3
And now I'm so excited to use it on microcontrollers (especially the STM32's since the other toolchains I'd tried were so complicated, limited or expensive). Honestly, the only way I'd be happier is if it was Python, but Javascript is probably better for it's event-based approach.
-
• #4
I learnt it for websites too - I wanted to do animations with it...
There is actually Python for Microcontrollers called PyMite (I'm not sure it has the interactive console though).
I just really don't 'get' Python though. I love the huge amount of libraries it has (and I do use it because of that), but I don't understand why it has a completely different syntax to every other modern language.
-
• #5
I learned it for the web, mostly when mucking around with forms.
I had an idea back in 1999 that I could make a search engine that didn't require a search engine. It was for football videos, and the form had a load of SELECT lists that I wanted to filter each other, such that you searched by choosing things: "This team, in that season, against this other team, at that venue, show me the goals and fouls.".
I kinda knew it was possible, but at the time that meant writing my own cross-browser library to figure out the differences between Netscape Navigator and Internet Explorer.
Then I went mad on this new-found knowledge and decided that what the world really needed were IFRAMEs. Except they didn't really exist at the time, and so I used a frameset to hide a 1 pixel high frame in the bottom of the window.
Then I made the JavaScript in the main window detect changes in a SELECT list, and load a pre-defined JavaScript file in the hidden frame. Once that frame loaded it would reference a function in the main frame as a kind of callback mechanism, and populate the next SELECT list.
I sat down and did the math, and if I just splatted 310,000 JavaScript files onto the file system to cope with every permutation of SELECT list, then I would've created a search engine that used filtered lists to search and was driven totally by static files.
It took a few days to write, and more than a little smashing of my head against the wall as I quickly discovered the quirks between Netscape and Internet Explorer, but to my total shock it worked.
Not only did it work, but it worked well. When the site was eventually launched across 300 football club sites, this one part of the site was heavily promoted and had hundreds of thousands of concurrent users in the first weekend. Because it was all just static files, nothing broke at all.
I liked JavaScript after that, probably went a bit overboard with it for a while, now I use it sparingly but quite enjoy it when I do use it.
-
• #6
Ever since the beginning of JS I had never even considered learning it. My world was "real" languages like C and C++ on embedded systems. Why on earth would I be concerned about some stupid, slow, scripting language in a browser?
Until a year or so ago then...
My boss wanted animated visualizations of a real-time data streams from our embedded systems as a Web App. "Oh crap", I know nothing of FLASH or HTML5 or JavaScript, I have not even worked on server side web technologies for ten years.
My saviours were: HTML5 with WebGL and the Three.js and IvanK libraries. Data streamed to the browser via Web Sockets. But how to feed those web sockets? Easy write a little HTTP server in Node.js. BINGO JS everywhere up and running in a few weeks learning everything from scratch.
Of course I initially thought this was all going to be a disaster, I mean, "JS is not a real language right". After being annoyed at the JS quirks I soon discovered Douglas Crockford and "JavaScript the Good Parts" and jslint and 'use strict';. I was very surprised to find out how sophisticated JS actually is what with inner functions, first class functions, closures etc. Damn thing is actually a big step up from Java in many respects!
The other big surprise is that we now have server side components rewritten in JS and running under node.js that perform almost as well as their previous C++ incarnations but are a thousand times easier to develop and maintain.
JS on those embedded systems? Yep, I already have communication centric work being done in Node.js out in the field on small ARM boards. All be it a lot less small and cheap than the Espruino.
Personally i learned JavaScript for the web and for Unity game design. What about you?