Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Murach’s JavaScript (2nd ed.)
Delamater M., Mike Murach & Associates, Inc., Fresno, CA, 2015. 630 pp. Type: Book (978-1-890774-85-1)
Date Reviewed: Jan 5 2016

Though I am not a web developer, JavaScript’s high profile has remained in some recess of my consciousness for some time now. A previous, half-hearted, interrupt-plagued (I’m a manager!) attempt at the beginnings of mastery [1] ended in the proverbial whimper: I saw a small portion of the JavaScript “little picture,” and a much smaller part of the “big picture.” Regarding the big picture, and as I learned from the introduction to this book, the JavaScript-expert author (Mary Delamater; Michael Murach is series editor and publisher) confirms that “JavaScript is surprisingly difficult to learn, [also] for experienced programmers.” JavaScript is “one of the four technologies that every web developer should master”: HTML5, CSS3, JavaScript proper, and jQuery (a JavaScript library).

This excellent book is a very good means of avoiding the reputed danger of “a little knowledge,” and I recommend it both to fellow JavaScript amateurs and (I hope not presumptuously) to seasoned professionals. Regarding the former, of whom I am one, I recently experienced an unexpected benefit with respect to understanding an esoteric use of regular expressions in Perl [2], by accidentally coming across the equivalent JavaScript command during initial browsing of this book. The accident certainly cleared things up with respect to Perl. I am surely not alone in having benefited from such a programming-language “cross-learning” experience, and thus recommend enhancement of JavaScript skills (via this book in particular) irrespective of specific web-development ambitions. Mastery of JavaScript will enrich one’s object-orientation and structured-programming insights, though I admit to wishing that “until” were, in addition to “while,” a JavaScript (and, by the way, C) keyword. (As my native high-level language was Fortran II, there remains enthrallment with E. W. Dijkstra et al.’s structured programming [3] and its robust and long-lived constructs.)

Among the attributes that contribute to the book’s high quality are:

  • placement and clarity of writing, crisp and apposite code examples, and illustrations;
  • the seemingly optimal organization or “architecture” of the book, with buildup from the simpler essentials to complex syntheses; and
  • a general flow that anticipates students’ and readers’ difficulties.

The last point reminds me, perhaps far-fetchedly, of The Feynman lectures [4], where the great physicist goes out of his way to indicate clearly “things that [the student] cannot possibly know” from the lectures so far. This JavaScript book captures the spirit of such good pedagogy by validating the reader’s difficulty in immediately grasping some ideas or features of the language and its environment at large. (It’s decidedly unfair for me at this time to evoke, in contrast, the significant hours I’m currently spending on reverse-engineering the semantics of Perl. An analogous book like the present one would certainly be the antidote.)

The book amply realizes its intended “self-paced approach.” Along with its rich index there are two tables of contents. The first table enumerates chapter titles under the three main sections:

  • Section 1 (six chapters) for a “fast start” with JavaScript;
  • Section 2 (six chapters) on JavaScript essentials; and
  • Section 3 (five chapters) on advanced JavaScript skills.

The (more detailed) “expanded contents” lists such chapter sections and subsections as: “How a Web Application Works”; the HTML, CSS, and JavaScript components of an application; necessary HTML5 skills (semantic, div and span, and attributes); necessary CSS skills; “How to Test a JavaScript Application”; JavaScript in an HTML document; “The JavaScript Syntax”; JavaScript statements, conditionals, loops, and arrays; objects, functions, and events; “How to Script Forms and Controls”; JavaScript testing and debugging, including the use of Google Chrome’s developer tools; and data types such as numbers, strings, and dates and times.

Within Section 2, “JavaScript Essentials,” there are, in addition to explications of arrays, functions, and web storage,

  • a serviceable mini-course on objects and object-oriented programming,
  • a very efficient exposition on the use of regular expressions, and
  • an introduction to exception-handling.

Section 3, which the author characterizes as “the expert level,” completes the scope of contemporary JavaScript with expositions of the use or creation of timers, images, events, closures, callbacks, modules, and JavaScript Object Notation (JSON). Major applications include the Task Manager, Slide Show, and such methods, in the object-oriented sense of the word, as “stringify” and the parse method. The treatment of jQuery, the open-source JavaScript library, in the last chapter partakes of the same high quality that characterizes the exposition in the rest of the book. The author is very helpful in answering the implicit question about when to use jQuery, with “whenever you can.”

It is rare to attribute the adjective “elegant” to a quintessentially practical, real-life programming book, but this book is certainly elegant in appearance, content, and style. It cannot fail to impart professional-level JavaScript knowledge and skill to serious readers, and thus has my highest recommendation.

More reviews about this item: Amazon, Goodreads

Reviewer:  George Hacken Review #: CR144079 (1603-0180)
1) Van der Veer, E. A. JavaScript for dummies. Wiley, Hoboken, NJ, 2004.
2) Schwartz, R. L.; Foy, B. D.; Phoenix, T. Learning Perl. O'Reilly, Sebastopol, CA, 2011.
3) Dahl, O. J.; Dijkstra, E. W.; Hoare, C. A. R. Structured programming. Academic Press, London, UK, 1972.
4) Feynman, R. P.; Leighton, R. B.; Sands, M. L. The Feynman lectures on physics. Addison-Wesley, Reading, MA, 1965.
Bookmark and Share
  Featured Reviewer  
 
Object-Oriented Programming (D.1.5 )
 
 
Javascript (D.3.2 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Object-Oriented Programming": Date
Object-oriented programming systems, languages, and applications
Paepcke A.  Object-oriented programming systems, languages, and applications,Phoenix, AZ,Oct 6-Oct 11, 1991,1991. Type: Whole Proceedings
Oct 1 1992
Object lifecycles
Shlaer S., Mellor S., Yourdon Press, Upper Saddle River, NJ, 1992. Type: Book (9780136299400)
Apr 1 1993
Object-oriented programming
Voss G., Osborne/McGraw-Hill, Berkeley, CA, 1991. Type: Book (9780078816826)
Oct 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy