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 <schvei...@yahoo.com> wrote: > On Sat, 16 Oct 2010 16:26:15 -0400, Walter Bright > <newshou...@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 >