OK, so the actual anniversary was back in March. But I just
(re)discovered the InfoWorld site, and was surprised to discover it
has become such a software-development-focused place (was it before?).
This article <https://www.infoworld.com/article/3836901/10-things-developers-love-about-javascript-and-10-things-they-dont.html>
goes over some of the things the author(s) love about JavaScript, and
some things they donrCOt.
In terms of punctuation, didnrCOt they know semicolons (at least as
statement terminators) are optional in JavaScript? Yes, the rule is a
bit more subtle than in Python, but even I, a Python programmer, was
able to figure it out.
Type conversion: this I do not love. Being able to compare integers
and reals is natural and reasonably safe, bringing strings into the
mix is not. ThererCOs a reason why Python is able to get away with not needing a rCL===rCY operator, while JavaScript and PHP are not.
Truthiness: yes, this is a pitfall, too. Languages should just take
the Pascal route and insist that conditions be of Boolean type.
Truthiness: yes, this is a pitfall, too. Languages should just take
the Pascal route and insist that conditions be of Boolean type.
I would like to have the semicolons mandatory.
At least '===' and '!==' are there so there is no need to use '=='
or '!=' when one doesn't want.
Fortunatly conditions are usually in contexts that marks them as
conditions.
One problem with many program languages is that the program does not
identify the revision of the standard. This would be important with Javascript as the same program is intended for a large variety of implementations that are not updated to the latest revision or are
aleady updated to a revision that is published after the publication
of the program.
The subject line means that Javascript already existed 30 years ago.
In some sense that is false: the Javascript that we know today is
not the same as the Javascript 30 years ago.
On Mon, 13 Jul 2026 16:12:42 +0300, Mikko wrote:
The subject line means that Javascript already existed 30 years ago.
In some sense that is false: the Javascript that we know today is
not the same as the Javascript 30 years ago.
So when did todayrCOs JavaScript come into being? How old would you say
it really was, if not 30 years?
On 14/07/2026 01:31, Lawrence DrCOOliveiro wrote:
On Mon, 13 Jul 2026 16:12:42 +0300, Mikko wrote:
The subject line means that Javascript already existed 30 years
ago. In some sense that is false: the Javascript that we know
today is not the same as the Javascript 30 years ago.
So when did todayrCOs JavaScript come into being? How old would you
say it really was, if not 30 years?
One can say that every time the standard is updated it creates a new lanugage. But often it is reasonable to say otherwise.
On 24/04/2025 04:52, Lawrence D'Oliveiro wrote:This is a statement :
OK, so the actual anniversary was back in March. But I just
(re)discovered the InfoWorld site, and was surprised to discover it
has become such a software-development-focused place (was it before?).
This article
<https://www.infoworld.com/article/3836901/10-things-developers-love-
about-javascript-and-10-things-they-dont.html>
goes over some of the things the author(s) love about JavaScript, and
some things they donrCOt.
In terms of punctuation, didnrCOt they know semicolons (at least as
statement terminators) are optional in JavaScript? Yes, the rule is a
bit more subtle than in Python, but even I, a Python programmer, was
able to figure it out.
I would like to have the semicolons mandatory. They should also be
required after a '}' if the statement the block is part of endt there
(no 'else' or 'until' follows).
Incidentally, the history of semicolons in javascript is that a lot
of people scream loudly if semicolons aren't used, and just as many
scream loudly if they are. :-(
On Tue, 14 Jul 2026 10:50:33 +0100, John Harris wrote:
Incidentally, the history of semicolons in javascript is that a lot
of people scream loudly if semicolons aren't used, and just as many
scream loudly if they are. :-(
I think there are more that scream loudly if they arenrCOt ...
function add_element(parent, name, objattrs, tagattrs, children = null)
/* general routine for creating a new HTMLElement, initializing
attributes, and attaching it to a parent element and attaching
child elements, if specified. */
/* I think objattrs and tagattrs are largely interchangeable ... */
{
const result = document.createElement(name)
if (objattrs !== null)
{
for (const [name, value] of Object.entries(objattrs))
{
result[name] = value
} /*for*/
} /*if*/
if (tagattrs !== null && tagattrs !== undefined)
{
for (const [name, value] of Object.entries(tagattrs))
{
const attr = document.createAttribute(name)
attr.value = value
result.attributes.setNamedItem(attr)
} /*for*/
} /*if*/
if (children !== null)
{
for (const child of children)
{
result.appendChild(child)
} /*for*/
} /*if*/
if (parent !== null)
{
parent.appendChild(result)
} /*if*/
return result
} /*add_element*/
On 24/04/2025 04:52, Lawrence D'Oliveiro wrote:
Truthiness: yes, this is a pitfall, too. Languages should just take
the Pascal route and insist that conditions be of Boolean type.
Fortunatly conditions are usually in contexts that marks them as
conditions.
One problem with many program languages is that the program does not
identify the revision of the standard.
This would be important with Javascript
as the same program is intended for a large variety of
implementations that are not updated to the latest revision or are
aleady updated to a revision that is published after the publication
of the program.
In Javascript there is the pragma "use strict".
A similar pragma could be used to identify the revision expected to
be supported.
In addition there should be a global constant or constants or function
that tells the revision acutally supported so that program can adapt to
what is available.
The subject line means that Javascript already existed 30 years ago.
In some sense that is false: the Javascript that we know today is
not the same as the Javascript 30 years ago.
But it is true as much of what Javascript was 30 years ago
is still present in the moders Javascript.
On 14/07/2026 01:31, Lawrence DrCOOliveiro wrote:
On Mon, 13 Jul 2026 16:12:42 +0300, Mikko wrote:
The subject line means that Javascript already existed 30 years ago.
In some sense that is false: the Javascript that we know today is
not the same as the Javascript 30 years ago.
So when did todayrCOs JavaScript come into being? How old would you say
it really was, if not 30 years?
One can say that every time the standard is updated it creates a new lanugage.
But often it is reasonable to say otherwise.
Mikko wrote:
On 24/04/2025 04:52, Lawrence D'Oliveiro wrote:
Truthiness: yes, this is a pitfall, too. Languages should just take
the Pascal route and insist that conditions be of Boolean type.
Fortunatly conditions are usually in contexts that marks them as
conditions.
One problem with many program languages is that the program does not
identify the revision of the standard.
What do you mean by that?
This would be important with Javascript
There (still) is no "Javascript": <http://PointedEars.de/es-matrix>
[Granted, the feature list is not up-to-date anymore, and I am not sure if I will manage to update it -- I have so much else to deal with right now; but the basic argument that I presented there is still correct.]
as the same program is intended for a large variety of
implementations that are not updated to the latest revision or are
aleady updated to a revision that is published after the publication
of the program.
In Javascript there is the pragma "use strict".
In ECMAScript Ed. 5 and later, therefore in implementations of that.
A similar pragma could be used to identify the revision expected to
be supported.
I think that you have a major misconception about ECMAScript and the landscape of ECMAScript implementations.
In addition there should be a global constant or constants or function
that tells the revision acutally supported so that program can adapt to
what is available.
This is pointless because there is no implementtion that is fully compliant with any Edition of ECMAScript, and there are so many features that it is impossible to keep track of them. It is better to test the features that
one actually uses. And eventually one has to decide which syntactical constructs one uses, considering that every syntactical construct sacrifices a bit of backwards compatibility.
The subject line means that Javascript already existed 30 years ago.
Not "Javascript", but (Netscape) JavaScript, literally.
In some sense that is false: the Javascript that we know today is
not the same as the Javascript 30 years ago.
You are the one who started with this false equivalence in the first place.
But it is true as much of what Javascript was 30 years ago
30 years ago the nonsensical term "Javascript" that was introduced by people who were either too lazy or too uninformed did not exist yet.
is still present in the moders Javascript.
You do not know what you are talking about. That probably comes from
reading books by people who also do not know what they are talking about but present themselves as "gurus", like John Resig.
Much of what I said above is based on my experiences with various
programming languages, including old and new Javascript.
On Sun, 19 Jul 2026 11:40:07 +0300, Mikko wrote:
Much of what I said above is based on my experiences with various
programming languages, including old and new Javascript.
You still havenrCOt said what you consider to be rCLoldrCY versus rCLnewrCY JavaScript.
On 20/07/2026 02:29, Lawrence DrCOOliveiro wrote:
On Sun, 19 Jul 2026 11:40:07 +0300, Mikko wrote:
Much of what I said above is based on my experiences with various
programming languages, including old and new Javascript.
You still havenrCOt said what you consider to be rCLoldrCY versus rCLnewrCY >> JavaScript.
What was released 30 years ago is old. The current standard is new,
at least until the next revison.
On Mon, 20 Jul 2026 09:42:55 +0300, Mikko wrote:
On 20/07/2026 02:29, Lawrence DrCOOliveiro wrote:
On Sun, 19 Jul 2026 11:40:07 +0300, Mikko wrote:
Much of what I said above is based on my experiences with various
programming languages, including old and new Javascript.
You still havenrCOt said what you consider to be rCLoldrCY versus rCLnewrCY >>> JavaScript.
What was released 30 years ago is old. The current standard is new,
at least until the next revison.
If I understand you correctly, are you saying that everything prior to
the latest version (16th edition, from June 2025 as of this writing),
is rCLoldrCY?
So your idea of rCLnewrCY JavaScript can never be much more than about a
year old?
ThatrCOs fine. The rest of us will continue to refer to rCL30 years of JavaScriptrCY. You do you.
On 20/07/2026 11:08, Lawrence DrCOOliveiro wrote:
On Mon, 20 Jul 2026 09:42:55 +0300, Mikko wrote:
What was released 30 years ago is old. The current standard is
new, at least until the next revison.
If I understand you correctly, are you saying that everything prior
to the latest version (16th edition, from June 2025 as of this
writing), is rCLoldrCY?
Depends on what you are doing.
ThatrCOs fine. The rest of us will continue to refer to rCL30 years of
JavaScriptrCY. You do you.
Others may count the years. I con't care.
On Tue, 21 Jul 2026 08:57:57 +0300, Mikko wrote:
On 20/07/2026 11:08, Lawrence DrCOOliveiro wrote:
On Mon, 20 Jul 2026 09:42:55 +0300, Mikko wrote:
What was released 30 years ago is old. The current standard is
new, at least until the next revison.
If I understand you correctly, are you saying that everything prior
to the latest version (16th edition, from June 2025 as of this
writing), is rCLoldrCY?
Depends on what you are doing.
ThatrCOs not what you said above. You said rCLthe current standard is
newrCY, and nothing else was.
--ThatrCOs fine. The rest of us will continue to refer to rCL30 years of
JavaScriptrCY. You do you.
Others may count the years. I con't care.
Funny, didnrCOt you do exactly the same thing?
On 18/07/2026 05:46, Thomas 'PointedEars' Lahn wrote:
Mikko wrote:
On 24/04/2025 04:52, Lawrence D'Oliveiro wrote:
Truthiness: yes, this is a pitfall, too. Languages should just take
the Pascal route and insist that conditions be of Boolean type.
Fortunatly conditions are usually in contexts that marks them as
conditions.
One problem with many program languages is that the program does not
identify the revision of the standard.
What do you mean by that?
That reading the program text does not reveal what revision of the
standard did the programmer or programmer's or tester's compiler
or interpreter use.
[irrelevant quotes]
The subject line means that Javascript already existed 30 years ago.Not "Javascript", but (Netscape) JavaScript, literally.
That's false, the subject line did not say "Netscape JavaScript".
In some sense that is false: the Javascript that we know today isYou are the one who started with this false equivalence in the first place.
not the same as the Javascript 30 years ago.
No, it already was on the subject line.
But it is true as much of what Javascript was 30 years ago
30 years ago the nonsensical term "Javascript" that was introduced by people >> who were either too lazy or too uninformed did not exist yet.
The name was introduced with the release of Netsace Navigator in
December 1995.
is still present in the moders Javascript.
You do not know what you are talking about. That probably comes from
reading books by people who also do not know what they are talking about but >> present themselves as "gurus", like John Resig.
Much of what I said above is based on my experiences with various
programming languages, including old and new Javascript.
On 20/07/2026 02:29, Lawrence DrCOOliveiro wrote:
On Sun, 19 Jul 2026 11:40:07 +0300, Mikko wrote:
Much of what I said above is based on my experiences with various
programming languages, including old and new Javascript.
You still havenrCOt said what you consider to be rCLoldrCY versus rCLnewrCY >> JavaScript.
What was released 30 years ago is old. The current standard is new,
at least until the next revison.
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 74 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 53:05:49 |
| Calls: | 1,101 |
| Calls today: | 1 |
| Files: | 1,339 |
| Messages: | 276,193 |