duck!

Michael Chen sth4nth at gmail.com
Sat Oct 16 14:52:53 PDT 2010


totally agreeed. let advertisability to influence a function name is
ridiculous to me. you gotta have some princeple for names, but
advertisability? i dont think so.

On Sunday, October 17, 2010, Steven Schveighoffer <schveiguy at yahoo.com> wrote:
> On Sat, 16 Oct 2010 16:26:15 -0400, Walter Bright <newshound2 at digitalmars.com> wrote:
>
>
> Steven Schveighoffer wrote:
>
> 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'.
>
>
> It's an example of a phenomenon I've seen over and over. How about the names Google and Yahoo? Boy did I think they were stupid names for companies and products. Boy was I wrong. How about the perjorative name "twitter" and the hopelessly undignified verb "tweet"? I still can't bring myself to say I "tweeted". Ugh.
>
>
> This is called cherry picking.  What about microsoft, IBM, apple, gillette, DOS, etc.  All these names aren't "wacky", yet they are still successful.  How do you explain that?  You might lump GoDaddy.com as one of those 'wacky' names that made it, but that has nothing to do with it.
>
> Google and Yahoo succeeded because their product was good.  D will succeed because it does duck typing, not because the function that does duck typing is called 'duck'.  Now, if D was all about duck typing, and you called it 'ducky', then I think that the name might be appropriate, and actually help with marketing.  But naming the function that does duck typing 'duck' doesn't seem to me like it makes or breaks D at all.  I want to be clear that duck is not my first choice, but it's certainly a name that makes sense.  I'm just saying that marketability of D does not change no matter what appropriate term you choose.
>
>
> I also couldn't believe all the mileage Borland got out of naming minor features "zoom technology" and "smart linking". So I don't buy that we programmers are above all that.
>
>
> But were there functions named zoomTechnology() and smartLink()?  Were their tools named zoom or smartl or something?  Is that what pushed them over the edge, or was it the bullet on the packaging that said:
>
> * Includes zoom technology!
>
>
>
> "duck" *is* indicative of what the feature does, and so it is a lot better than "zoom" or "smart" or "yahoo", which I'd have a hard time justifying. I guess that's why I'm not a marketer!
>
>
> Yes, duck is a valid option.  And the fact that duck typing is what it does is a very good reason to use it.  I just don't see 'marketing draw' as being a factor whatsoever.  It's useless noise.
>
>
> 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.
>
>
> A lot of people do think duck typing is very important.
>
>
> And D already does duck typing.  Templates do duck typing.  'adaptTo' does it too, and it's cool, but it's not *that* important (no offense, Kenji).
>
>
> 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.
>
>
> I think 'zip' got peoples' attention, and then pkzip delivered the goods (better than arc). lharc, on the other hand, had a ponderous name and failed despite being significantly better. So yeah, I think the name got pkzip on the map, but yes, the product also had to deliver. A cute name is not enough to save a crap product, but it will help with a good one.
>
> If you want people to notice something and give it a chance to be good, having a boring name (that is also not google-friendly) will never give it a chance.
>
>
> But people don't search google for "duck typing programming languages" and pick the language they're going to use from this list!  I think you are really going cuckoo over this feature like it's the best thing since ranges, and I don't see it being that.  Not only that, but *D DOES DUCK TYPING*, just use a template.
>
>
> And besides, as Andrei pointed out, I'll get really tired of saying ad infinitum "Yes, you can do duck typing in D, just use the adaptTo function." Say that 1000 times, and you too will decide that "duck" is a better name.
>
>
> Invariant vs. immutable is not the same as adaptTo vs. duck.  Invariant already had a meaning in D1, and when choosing a new name, it was logical to use immutable.  Is immutable an 'exciting marketing term'?  No, it's as boring as they come.  But it's definitely the best term for the job.  Let's focus on choosing the best term for what 'adaptTo' does, and when we market that D does duck typing in an article or a list of features (that shows up on google), we can include all the features of D that do duck typing.
>
> -Steve
>


More information about the Digitalmars-d mailing list