Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #26365
| Path | csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail |
|---|---|
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
| Newsgroups | comp.lang.javascript |
| Subject | Re: JavaScript: The Definitive Guide |
| Date | Sat, 20 Dec 2014 23:00:19 +0100 |
| Organization | PointedEars Software (PES) |
| Lines | 83 |
| Message-ID | <2190158.3roXFedf12@PointedEars.de> (permalink) |
| References | <4ca7db7d-5a3b-457d-8601-aa9c72afab36@googlegroups.com> <4276616.1vbvTFgubW@PointedEars.de> <m6qipb$s6v$1@solani.org> |
| Reply-To | Thomas 'PointedEars' Lahn <cljs@PointedEars.de> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset="UTF-8" |
| Content-Transfer-Encoding | 8Bit |
| X-Trace | solani.org 1419112823 27701 eJwNx8kBwCAIBMCWOJaNlKMg/Zdg5jfhVNYHBhETs3sgeUNxoKVWbOu2DNtCCq6n/1lp62AvfxS5ED4= (20 Dec 2014 22:00:23 GMT) |
| X-Complaints-To | abuse@news.solani.org |
| NNTP-Posting-Date | Sat, 20 Dec 2014 22:00:23 +0000 (UTC) |
| User-Agent | KNode/4.14.2 |
| X-User-ID | eJwNx0cBA0EMBDBK7uPAcVv+EC76yTU4BhYe5s9f//j+s9rF5PaTGNeTGcp1JB7lKFh4r4y0vapBOClGqH5j6RWI |
| Cancel-Lock | sha1:+qZR5gAAPQ6+YvNlJHLgFcSE+1E= |
| X-NNTP-Posting-Host | eJwNysERACEIA8CWzEFAynEw9F+Ct++lBaLTg+EczgbjGORo3rmS7E7WyGvW+XxXptyAf2uxHyWdEUI= |
| Xref | csiph.com comp.lang.javascript:26365 |
Show key headers only | View raw
Christoph M. Becker wrote:
> Thomas 'PointedEars' Lahn wrote:
>> He is writing „JavaScript“, but he is actually describing several
>> ECMAScript implementations in Web browsers which may or may not have all
>> of the described features in common, without being aware of it.
>
> Flanagan explains his use of the term "JavaScript" in a box in the
> introduction chapter of the 6th edition[1]:
>
> | [...] In practice, just about everyone calls the language JavaScript.
> | This book uses the name "ECMAScript" only to refer to the language
> | standard.
>
> One may argue that this is awkward, but at least he informs the reader
> about his chosen nomenclature.
But it is not well-defined (“the language”), so whatever statement he makes
using it is most certainly wrong. If so, it will be only subtly wrong,
therefore misleading to the beginner who must acquire the misconception that
they are dealing with only one programming language.
>> He is _not_ describing several other ECMAScript implementations, and may
>> be wrong with regard to the common features of those that he thinks he is
>> describing, in Web browsers and elsewhere, being blissfully unaware of
>> it. Somewhat of a result, so were you – until now.
>
> Indeed, it seems that the current (6th) edition does not even mention
> the availability and usage of ECMAScript implementations other than in
> Web browsers, what renders the title of the book deficient. Other than
> that, it is to my knowledge the best available textbook on practical
> browser side scripting. Taken with a grain of salt, I consider it a
> decent *introduction* to this subject.
A *grain*?
> [1] This part of the book is (currently) available online via the book
> preview ("Look inside") on amazon:
> <http://www.amazon.com/JavaScript-Definitive-Guide-Activate-Guides-ebook/dp/B004XQX4K0/ref=sr_1_1_twi_2>
I do not have time for a full review, but if I had to pick three instances
as to why it should be avoided, it would be these:
The Introduction
-----------------
His entire description of “Client-side JavaScript” is hopelessly outdated.
Host objects have not been part of any implementation since more than a
decade ago, and then only one, Netscape JavaScript (up to version 1.3).
Operators
----------
The chapter on operators (chapter 4?) that has been random-access reviewed
by Douglas Cornford before is *still* wrong. “Member access” should be
“property access”, and is _not_ an operator. Calling a function (as a
function) is _not_ an operation. The term “operator precedence” simply does
not apply to several syntactical constructs listed there. The only
improvement that I can see is that the “Array operator” is no longer there;
it has been replaced by “member access”. But that chapter is incomplete in
the preview.
Inheritance
------------
There are neither classes nor modules in implementations of ECMAScript
Edition 5, yet there is an entire chapter “Classes and Modules” and a
section “Classes in ECMAScript 5”. One can read subsection titles like
“Defining a Subclass”.
In that line of thought, there is an important difference between Date.now()
and Date.prototype.setDate() [the latter is implicitly inherited, the former
is not], but he writes the latter “Date.setDate()” (like many other people
who are ignorant of prototype-based inheritance).
I can not only not recommend this bug^H^Hook, but I have to *strongly*
recommended against it. (Like all previous editions of it.)
--
PointedEars
FAQ: <http://PointedEars.de/faq> | SVN: <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | ES Matrix: <http://PointedEars.de/es-matrix>
Please do not cc me. / Bitte keine Kopien per E-Mail.
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Optional semicolons - wrong rule or wrong example? Peter <pilarp@poczta.onet.pl> - 2014-12-16 13:58 -0800
Re: Optional semicolons - wrong rule or wrong example? "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-12-16 23:21 +0100
Re: Optional semicolons - wrong rule or wrong example? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-12-17 00:10 +0100
JavaScript: The Definitive Guide (was: Optional semicolons - wrong rule or wrong example?) "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-12-17 01:29 +0100
Re: JavaScript: The Definitive Guide Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-12-20 23:00 +0100
Re: JavaScript: The Definitive Guide Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-12-20 23:04 +0100
Re: JavaScript: The Definitive Guide "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-12-28 23:52 +0100
Re: JavaScript: The Definitive Guide Tim Streater <timstreater@greenbee.net> - 2014-12-28 23:52 +0000
Re: JavaScript: The Definitive Guide Scott Sauyet <scott.sauyet@gmail.com> - 2015-01-01 21:46 -0800
Re: JavaScript: The Definitive Guide "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-01-02 09:32 +0100
Re: JavaScript: The Definitive Guide Andrew Poulos <ap_prog@hotmail.com> - 2015-01-03 07:54 +1100
Re: JavaScript: The Definitive Guide "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-01-02 22:14 +0100
Re: JavaScript: The Definitive Guide Andrew Poulos <ap_prog@hotmail.com> - 2015-01-03 11:46 +1100
Re: JavaScript: The Definitive Guide "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-01-03 11:59 +0100
Re: JavaScript: The Definitive Guide Andrew Poulos <ap_prog@hotmail.com> - 2015-01-03 23:46 +1100
Re: JavaScript: The Definitive Guide "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-01-03 14:57 +0100
Re: JavaScript: The Definitive Guide Andrew Poulos <ap_prog@hotmail.com> - 2015-01-04 09:31 +1100
Re: JavaScript: The Definitive Guide "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-01-04 00:29 +0100
Re: JavaScript: The Definitive Guide Andrew Poulos <ap_prog@hotmail.com> - 2015-01-04 20:17 +1100
Re: JavaScript: The Definitive Guide "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-01-04 10:57 +0100
OT: Mass, weight and friction (was: JavaScript: The Definitive Guide) "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-01-03 02:52 +0100
Re: Optional semicolons - wrong rule or wrong example? Erwin Moller <erwinmollerusenet@xs4all.nl> - 2014-12-18 14:39 +0100
Re: Optional semicolons - wrong rule or wrong example? Tim Streater <timstreater@greenbee.net> - 2014-12-18 14:04 +0000
csiph-web