On Sat, 16 Oct 2010 14:32:10 -0400, Walter Bright
<newshou...@digitalmars.com> wrote:
Steven Schveighoffer wrote:
On Sat, 16 Oct 2010 13:19:36 -0400, Andrei Alexandrescu
<seewebsiteforem...@erdani.org> wrote:
The problem with "adaptTo" is that, just like itoa or printf, it is
too boring to have marketing value.
Wait, really? This statement has no place in a programming language
decision IMO.
One would think programmers are above all that, but we are not.
We are not talking about a feature name, we are talking about a *function*
name. I personally think 'as' is better than 'adaptTo' or 'duck'.
Nobody is going to start using D because it has a function *named* duck.
Maybe not, but it will raise awareness that "D has duck typing".
Otherwise, I guarantee you that people will argue that "I need duck
typing, and Z has it and D does not" if it is named adaptTo.
People will search on "duck typing in D" and with the duck template,
they'll drop right in on it. With "adaptTo", it'll be on page 67 of the
results, they'll never find it, and will conclude that D cannot do duck
typing.
I would expect them to search for it and find the 'duck typing' section of
the D marketing documents, and see that 'D does duck typing, see
adaptTo'. Or find it on wikipedia.
Unless you plan on handing people a full copy of the phobos docs as
'marketing material'...
Let's change writef to shazam! Let's call File BitLocker! And 'to'
really should be called transformationVehicle!
Think of it another way. Remember zip files? What a great name, and yes,
it seemed silly at first, but zip entered the lexicon and D has a zip
module and it never occurs to anyone it might be better named
std.compressedArchive. Phil Katz renamed arc files "zip" files, called
his compressor "pkzip" and blew away arc so badly that most people are
unaware it even existed.
I think the catchy, silly "zip" name was a significant factor in getting
people to notice his program. In contrast, the superior "lharc" with its
"lzh" files never caught on.
These are completely unsubstantiated statements focused on a very narrow
set of variables. It's like all those studies that say X causes cancer
because look most people who use X have cancer. Well, yeah, but they are
all 40-70 yr old people, who freaking knows how many factors went into
them getting cancer!!! And it proves itself again and again when the next
year, they say, 'well that study was flawed, we now *know* that it was
really Y'.
Besides, duck isn't the compiler name, it's a very very small part of the
library. I think you associate more weight to this than there actually
is. Let's concentrate on finding the name that best describes the
function. This might be 'duck', but let's leave marketing considerations
out of it. If duck was a verb that meant 'walk like a...' then I'd agree
it was a fine term.
How about if we can say D's functions are named intuitively instead of
after some colloquial term that describes the function?
And yeah, I agree zip is now a de-facto term, so much so that I think
std.range.Zip should be renamed :) But was it zip that made the tool
famous or the tool that made zip famous?
Let's also not forget the hundreds, probably thousands, of 'cute' names
that didn't save their respective products because the marketing material
sucked.
-Steve