duck!

Steven Schveighoffer schveiguy at yahoo.com
Sat Oct 16 11:55:42 PDT 2010


On Sat, 16 Oct 2010 14:32:10 -0400, Walter Bright  
<newshound2 at digitalmars.com> wrote:

> Steven Schveighoffer wrote:
>> On Sat, 16 Oct 2010 13:19:36 -0400, Andrei Alexandrescu  
>> <SeeWebsiteForEmail at 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


More information about the Digitalmars-d mailing list