JavaScript/: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
No edit summary
(Blanked the page)
 
(32 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Hearken to the days of `view-source:`.


History of free online education for web programming that led the web where it is today. I'll cover some recent history and then delve into the details of JavaScript.
"DHTML" is an old term, now, for us old luddites. But the DHTML guys in 2000-2004 were the ones pushing and advocating standards-based code that became more common around 2004. Here's a little [https://bugzilla.mozilla.org/buglist.cgi?emailreporter1=1&emaillongdesc1=1&short_desc=%20&resolution=---&emailtype1=substring&query_format=advanced&emailqa_contact1=1&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&short_desc_type=allwordssubstr&email1=dhtmlkitchen free QA for Mozilla], to put it in perspective.
For some of what I learned, I offer a background of how I got to what I know now.
Dan Steinman's Dynamic Duo's DynLayer was a wrapper or "Decorator". It worked in Netscape 4 and IE5. Dan explained all about how it worked and the source code was pretty easy to read.
Mike Hall's Brainjar had some really great articles, too. His article on Events and CSS were incredibly thorough and explained the intricacies and edge cases of these specifications and their implementations.
Soon, I would set off to build my own site much like these sites. I picked DHTMLKitchen.com.
DHTML Central forums came along and soon after that, 13th parallel. These were great sites that lead to many successful programming careers, including those of Tim Scarfe, Aaron Boodman, Daniel Pupius, Alex Russell, Michael van Ouwerkerk, Tom Trenka and many others. This was a stomping ground for us.
We helped each other out with testing and code checks. I got some help building this blast-from-the past: <a href="http://web.archive.org/web/20040504042251/http://girliemac.com/dress_room.html">Dress Room!</a> a Drag'n'Drop game for girls. That was live, until two months ago, when she deleted it in anger.
Back in those days, to support Netscape 4 meant using document.layers, which meant DFS was needed for image swaps:
```javascript
function findImage(name, doc) {
  var i, img;
  for (i = 0; i < doc.images.length; i++)
    if (doc.images[i].name == name)
      return doc.images[i];
  for (i = 0; i < doc.layers.length; i++)
    if ((img = findImage(name, doc.layers[i].document)) != null) {
      img.container = doc.layers[i];
      return img;
    }
  return null;
}
```
We hated it, of course! Around this time aListApart was getting bigger and promoting anti-Netscape4 pages or warnings. I had one on my site, as did Brainjar.
Such code was to become a thing of the past. Instead, we focused on standards there. I learned a lot about the DOM from Brainjar and from reading specs.
Years later, I had some success in making some very detailed articles about JavaScript. I read books on object oriented programming, including:
* Agile Software Development: Principles, Patterns, Practices, Robert Cecil Martin
* Effective Java, Josh Bloch
* UML Distilled, Martin Fowler
* Refactoring, Martin Fowler
* Domain Driven Design, Eric Evans
* Head First Design Patterns, Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson
I eventually found comp.lang.javascript, where I learned a lot more about ECMAScript from Richard Cornford (<a href="http://jibbering.com/faq/notes/closures/">closures</a>), Lasse Reichstein Nielse, Eric Bednarz, and Thomas Lahn. My knowledge of the DOM deepened greatly during this time.
My wife printed out a copy of the ECMAScript specification, which I kept bedside and read for months. I still have this copy.
My interests now have returned towards fitness, health, athletics, and music.
But for what I've learned, I offer a background of how I got to what I know now.  It was a long journey and I have a lot to offer.

Latest revision as of 16:36, 7 January 2014