D
David Mark
[...]
Yes, I can't believe that breakthrough "HTML5 framework" opened with
that old groaner.
Is that *still* there?! If so, there is truly no hope for them.
IIRC, I explained to one James Burke that it was gobbledygook (and why
that was the case) and he asked me to show him a browser where it
"fails".
If the only justification for a line of code is that it appears to get
the right result, then that line of code has no place in a production
system. You've got to have at least some semblance of an idea of
*why* it should be expected to work.
For very good reason, programming has never been about mindless
observation. Rather it is about understanding abstractions. Testing
programs does involve observation, but only to confirm that there were
no misunderstandings. And in this business, a thousand positive test
results do not mean the code will work everywhere. That's where
experience and a knowledge of history come into play.
No, they are mostly Ajax-era greenhorns. Have you seen ExtJS? Er,
Ext-js. Or was it Ext JS? Whatever. Maybe the name change wasn't
such a bad idea after all (other than breaking a million Google search
results of course).
That they are ignorant. No news there. The usual "excuse" is that
they don't have time to learn. You've got to wonder why so many
developers are keen to use their scripts. Oh wait... We are talking
about Dojo and ExtJS after all. Of course, jQuery is just as
mystically silly and, inexplicably, Prototype was once popular. Then
there's MooTools...
Somebody asked me recently whether there was any framework I *do*
like. They asked in a nice enough way, but I could sense their
implication that I was a serial doubter. Of course, I asked them "a
framework for what?" The answer was: well, something like Dojo or YUI
or jQuery... In other words, something that makes outrageous false
claims about making browser scripting accessible to the masses.
Hence, "show me where it fails" is the rallying cry for incompetent JS
developers. Show them anything but the latest versions of three or
four major desktop browsers (in their default configurations) and they
assert that they don't "care" about those cases. Of course, it's
insanity to project the cares of deluded Web developers onto the
general public (who just want working documents).
....competence, sanity, etc.
Then there are things like Dojo. I think most can agree that it does
not demonstrate skill on the part of its developers. Delusions yes,
proficiency no.
That much is clear.
I think I skimmed it at some point.
I think it gets the point across. It's very easy to by accident (or
in haste).
In contrast, I don't know what that means; so the first one is
definitely better.
But something else altogether.
Well, you can't satisfy everybody.
An example of this is seen in the opening lines to Sencha:
| window.undefined = window.undefined;
Yes, I can't believe that breakthrough "HTML5 framework" opened with
that old groaner.
Another is in dojo:
dojo.isArray = function(it) {
return it&&(it instanceof Array||typeof it=="array");
};
Is that *still* there?! If so, there is truly no hope for them.
IIRC, I explained to one James Burke that it was gobbledygook (and why
that was the case) and he asked me to show him a browser where it
"fails".
If the only justification for a line of code is that it appears to get
the right result, then that line of code has no place in a production
system. You've got to have at least some semblance of an idea of
*why* it should be expected to work.
For very good reason, programming has never been about mindless
observation. Rather it is about understanding abstractions. Testing
programs does involve observation, but only to confirm that there were
no misunderstandings. And in this business, a thousand positive test
results do not mean the code will work everywhere. That's where
experience and a knowledge of history come into play.
The authors of Ext-js and dojo may have more experience than I do.
No, they are mostly Ajax-era greenhorns. Have you seen ExtJS? Er,
Ext-js. Or was it Ext JS? Whatever. Maybe the name change wasn't
such a bad idea after all (other than breaking a million Google search
results of course).
What
does that say when they continue to publish code that shows a lack of
knowledge?
That they are ignorant. No news there. The usual "excuse" is that
they don't have time to learn. You've got to wonder why so many
developers are keen to use their scripts. Oh wait... We are talking
about Dojo and ExtJS after all. Of course, jQuery is just as
mystically silly and, inexplicably, Prototype was once popular. Then
there's MooTools...
Somebody asked me recently whether there was any framework I *do*
like. They asked in a nice enough way, but I could sense their
implication that I was a serial doubter. Of course, I asked them "a
framework for what?" The answer was: well, something like Dojo or YUI
or jQuery... In other words, something that makes outrageous false
claims about making browser scripting accessible to the masses.
Code may be obscurely written, have an unrecognized flaw that applies
exclusively to the situation (perhaps only in an uncommon case), provide
a workaround to something irrelevant, contain misleading or obsolete
comments, be mostly irrelevant, and can be full of bugs that exist in
code paths that are untested but never reached. The same code may also
fulfill the requirements.
Hence, "show me where it fails" is the rallying cry for incompetent JS
developers. Show them anything but the latest versions of three or
four major desktop browsers (in their default configurations) and they
assert that they don't "care" about those cases. Of course, it's
insanity to project the cares of deluded Web developers onto the
general public (who just want working documents).
The author is of such code may be overlooking important considerations
of code quality including clarity, efficiency, extensibility, etc.
....competence, sanity, etc.
Sufficient criteria for the assessment of front end skill has not been
formally established. You, I, and Cornford all have seem to have
expressed that to some degree.
Then there are things like Dojo. I think most can agree that it does
not demonstrate skill on the part of its developers. Delusions yes,
proficiency no.
A precursor to making assessments of front end skill is the ability to
make assessments of the quality of front end code.
That much is clear.
For that, I have been
working on the code guidelines document.
<http://jibbering.com/faq/notes/code-guidelines/>
I think I skimmed it at some point.
This document can be improved and I would like more feedback on it.
One thing that I have wanted to change is the "Avoid modifying objects
you don't own. ". While that is a nice trite phrase, it doesn't cover
the aspects of defining cohesive objects.
I think it gets the point across. It's very easy to by accident (or
in haste).
"Define cohesive objects" is better but that does not imply that doing
the opposite is wrong.
In contrast, I don't know what that means; so the first one is
definitely better.
"Avoid interdependencies" is better
But something else altogether.
and expounding on host object in
that section is still appropriate, however some interdependencies make
sense, so I can't say I'm satisfied with that, either.
Well, you can't satisfy everybody.