You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Today if a product is not easily searchable, it almost certainly
cannot become popular.
Searching for anything SML-related is a pain. To find about sth I
usually start with "SML" "sth". If nothing pops up, I continue with
"Standard ML" "sth". And so on, with "StandardML", "Standard-ML",
"ML97", "ML`97", "ML'97", and if I'm desperate I will also try
"Standard Meta Language", or just "ML". Even if my search "SML" "sth"
returns some relevant results, I'll often continue with other names,
as I'm often interested in exhaustive search.
The same goes for library search. When I was looking for SML books, I
had to look up the catalogue under ML, SML, StandardML.
Unfortunately, the name SuccessorML is as bad as StandardML, or maybe
even worse. I've seen variants such as: "SuccessorML", "Successor ML",
"Successor-ML", "sML".
Also it is a problem that "SML" (for Standard) and "sML" (for
Successor) differ only by case. This makes it hard to express
succinctly without ambiguity which language I'm talking about. This
can lead to people forming even more names, i.e. "SuccML" found here:
Also "SML" and "sML" are indistinguishable by search engines. This
makes it impossible to search for information about only one of
them. If they were called X and Y, then I could search for only "X",
only "Y", or "X or Y". But as it is now, I'm always searching for
both, so the option to search for only one of them is not available.
The problem is compounded by the fact that there are hundreds of other
things (companies, products, etc.) that abbreviate to SML.
Here are some desirable properties for language name that I can think of:
There must be exactly one name. No variations, abbreviations,
synonyms, different spellings. This prevents the search-hell.
Must be as unique as possible. No other things called the same.
Must be short, so people don't feel the pressing need to shorten
it. Shortening leads to multiple names, which leads to search-hell.
Not like a common word (e.g. go), too many false hits.
Should be pronouncable. E.g. "5~f" has all previous properties, but is
hard to pronounce.
Should refer to previous versions of the language, if they are similar.
To give an example of a name close to ideal (having all of the above
properties): C++.
IMHO one good possibility would be "ML16", with anything between "ML"
and "16" being explicitly forbidden by the standard. That would also
clarify which snapshot of the language we're talking about. It looks
like Successor is supposed to be an evolving, roling-release language,
but this makes it very hard for compiler writers to specify (and for
programmers to understand) what does a given compiler conform to. If a
compiler claims successor support, is it successor definition from a
week ago, a month ago, some specific git version, or? It's much better
to make a branch of successor called "ML16 alpha", stabilize, and
release as "ML16", and do such a thing every year.
The text was updated successfully, but these errors were encountered:
@Ud71p, I’ll point out that "C++" was maximally terrible for searchability until search engines started to built in all sorts of special handling to recognise it as a search term — which they only did because it was so popular already. Try searching for “C—“ to see the difference.
Today if a product is not easily searchable, it almost certainly
cannot become popular.
Searching for anything SML-related is a pain. To find about sth I
usually start with "SML" "sth". If nothing pops up, I continue with
"Standard ML" "sth". And so on, with "StandardML", "Standard-ML",
"ML97", "ML`97", "ML'97", and if I'm desperate I will also try
"Standard Meta Language", or just "ML". Even if my search "SML" "sth"
returns some relevant results, I'll often continue with other names,
as I'm often interested in exhaustive search.
The same goes for library search. When I was looking for SML books, I
had to look up the catalogue under ML, SML, StandardML.
Unfortunately, the name SuccessorML is as bad as StandardML, or maybe
even worse. I've seen variants such as: "SuccessorML", "Successor ML",
"Successor-ML", "sML".
Also it is a problem that "SML" (for Standard) and "sML" (for
Successor) differ only by case. This makes it hard to express
succinctly without ambiguity which language I'm talking about. This
can lead to people forming even more names, i.e. "SuccML" found here:
#16
Also "SML" and "sML" are indistinguishable by search engines. This
makes it impossible to search for information about only one of
them. If they were called X and Y, then I could search for only "X",
only "Y", or "X or Y". But as it is now, I'm always searching for
both, so the option to search for only one of them is not available.
The problem is compounded by the fact that there are hundreds of other
things (companies, products, etc.) that abbreviate to SML.
Here are some desirable properties for language name that I can think of:
There must be exactly one name. No variations, abbreviations,
synonyms, different spellings. This prevents the search-hell.
Must be as unique as possible. No other things called the same.
Must be short, so people don't feel the pressing need to shorten
it. Shortening leads to multiple names, which leads to search-hell.
Not like a common word (e.g. go), too many false hits.
Should be pronouncable. E.g. "5~f" has all previous properties, but is
hard to pronounce.
Should refer to previous versions of the language, if they are similar.
To give an example of a name close to ideal (having all of the above
properties): C++.
IMHO one good possibility would be "ML16", with anything between "ML"
and "16" being explicitly forbidden by the standard. That would also
clarify which snapshot of the language we're talking about. It looks
like Successor is supposed to be an evolving, roling-release language,
but this makes it very hard for compiler writers to specify (and for
programmers to understand) what does a given compiler conform to. If a
compiler claims successor support, is it successor definition from a
week ago, a month ago, some specific git version, or? It's much better
to make a branch of successor called "ML16 alpha", stabilize, and
release as "ML16", and do such a thing every year.
The text was updated successfully, but these errors were encountered: