
We can (re-)consider 'boost::meta':
Doesn't look bad at all, actually.
I'm a big fan of using "meta" instead of "mpl".
FWIW, I'm not. I type it often enough to be bothered by the completely unnecessary extra character.
And I'd prefer boost::metaprogramming, but I'll settle for meta if it's the best that I can get. ;-) Human languages are full of "extra characters": why should programming languages be different in this respect? If the typing truly bothers you, try out an editor that supports word completion. fs is arguably sufficiently common, but I still prefer filesystem. Not all that long ago someone posted something here and abbreviated it as "rng", and I thought to myself that it was very odd that they'd use something that, as far as I am concerned, abbreviates "random number generator". On the flip side, perhaps if I had referred to one of these as "rng" they would be thinking the converse. Ergo, prefer filesystem: those who want it shorter probably don't want the boost:: part either, and will define fs = ::boost::filesystem once and use four characters (fs::) from there on. Besides which, "fs" is difficult for an English-as-a-second-language speaker to look up in the dictionary. I have the impression that some simply don't care about that because English is _their_ first language -- an unfortunate attitude. Last year I vistied Slovenia, and when I said "standard-eye-oh-dot-aitch" to some people, they didn't understand me, and asked what I was talking about. After some discussion back and forth, it turns out that they spell that header name out character by character: "s-t-d-i-o-pika-h". (pika = dot, and all the letters are pronounced differently too, of course.) They had no idea that "std" was being used as an abbreviation for standard in this context. "So 's-t-d' means standard?" "Yes... how do you say standard in Slovene?" "Standardija." (!) This demonstrates that even small differences for us can be huge differences for others. It turns out that the "i-o" for input/output doesn't translate well into Slovene, so those person (and all their programming friends, I'm sure) are now happily calling it "standardija-i-o-pika-h", something I'm sure most readers of this message will have taken the English equivalent of for granted since the first week they programmed in C. Had "standard" been used instead of "std", this confusion would never have arisen, but more importantly the name would have been meaningful to more people. Re: boost::algorithm::<subnamespaces>, it's easy to add using directives to bring things defined in these up to boost::algorithm. The opposite operation is not easy. If it turns out do be better to have them all together, using declarations can be added to boost itself down the road. Dave P.S. I think that the average teenager probably has a different meaning for 'std' than we do too, though I'll grant that that's less relevant. ;-)

Dave Gomboc wrote:
Besides which, "fs" is difficult for an English-as-a-second-language speaker to look up in the dictionary. I have the impression that some simply don't care about that because English is _their_ first language -- an unfortunate attitude.
Well. It's actually the opposite. Because English is (presumably) your first language, you prefer the non-abbreviated "filesystem" over "fs". From the perspective of someone who doesn't "think in English", the two have pretty much the same inherent value, i.e. they are arbitrary identifiers. A mental mapping translates these identifiers into the entities they represent. Since the extra letters in the longer identifier do not add any semantic value to non-English speakers, they are merely clutter and do not contribute to readability. Your observation that "stdio" is a _word_ in non-English programmer cultures, and not an abbreviation of "standard input/output", is very much in line with the above.

Besides which, "fs" is difficult for an English-as-a-second-language speaker to look up in the dictionary. I have the impression that some simply don't care about that because English is _their_ first language -- an unfortunate attitude.
Well. It's actually the opposite. Because English is (presumably) your first language, you prefer the non-abbreviated "filesystem" over "fs". From the perspective of someone who doesn't "think in English", the two have pretty much the same inherent value, i.e. they are arbitrary identifiers.
And to prove the point I didn't realize until following this thread that stdio was "standard i/o". I've always pronounced it "studio" and never stopped to think why the "u" was dropped and what it had to do with studios.
A mental mapping translates these identifiers into the entities they represent. Since the extra letters in the longer identifier do not add any semantic value to non-English speakers, they are merely clutter and do not contribute to readability.
Exactly. And if the longer name causes a line break then it has reduced readability. Darren

On Sat, Feb 21, 2004 at 09:28:54PM +0200, Peter Dimov wrote:
Dave Gomboc wrote:
Besides which, "fs" is difficult for an English-as-a-second-language speaker to look up in the dictionary. I have the impression that some simply don't care about that because English is _their_ first language -- an unfortunate attitude.
Well. It's actually the opposite. Because English is (presumably) your first language, you prefer the non-abbreviated "filesystem" over "fs". From the perspective of someone who doesn't "think in English", the two have pretty much the same inherent value, i.e. they are arbitrary identifiers. A mental mapping translates these identifiers into the entities they represent. Since the extra letters in the longer identifier do not add any semantic value to non-English speakers, they are merely clutter and do not contribute to readability.
Your observation that "stdio" is a _word_ in non-English programmer cultures, and not an abbreviation of "standard input/output", is very much in line with the above.
I'm a non-English programmer. All I can say is that I agree with the above. Altough I understand that "stdio" is and abrevation of "standard input/output", for me it is and it always will be just stdio. I don't need to find a natural-language meaning for that, because the I'm using it only in relation to computers. Similary it is with the filesystem. It is only a term identifying something what have to do with organization of files. Without propert background in computers, it has no natural meaning at all (or very unrelated to the real purpose). Actualy for me, a "file" is most of the time a file on the disk. I learned the meaining of th real-world file quite a long time after I learned a lot about computer files. And I never felt, that I need this information to understand what does computer file mean. What I'm trying to say is that, it does not matter for me if an entity has a very nice sounding english name or if it is just an abrevation for something. The term will denote only that paricular entity and nothing else. I will not try to assign some natural association with the real world. Such an association is many times more confusing then helpful. Now about the long namespaces. I would always prefer shorter, but still meaningful abrevation to a loooooong name. I'm always have to use namespace alias for filesystem. Simply, because to code is much less readable when I would have to use filesystem:: all the time. In the code, more important part is after "filesystem::" (a method name), and long prefix is just a distraction when reading the code. If somebody is reading a code, she/he woudld have to look into documentation anyway, to understand what is hidden under namespace filesystem::. It is very same for abrevation "fs". How can anybody try to understand the code without knowing what's behind the calls? I don't think, that code: the_great_library::sublibrary::specific_part::get_line( the_second_great_library::common_stuf::line(1) ); is any more readable then gl::get_line( sl::line(1) ); First example hides the important parts of the code behind the long prefixes, making the code much less readable. In my code, I try to never use more then one level of namespaces. I don't like global "using namespace" directives, so I'm using aliases for deeper namespace. For example: namespace lambda=boost::lambda; namespace fs=boost::filesystem; That's my 0.5 SKK Regards, Pavol

"Dave Gomboc" <dave@cs.ualberta.ca> wrote in message news:001501c3f8ad$877f6690$6701a8c0@cyborg...
P.S. I think that the average teenager probably has a different meaning for 'std' than we do too, though I'll grant that that's less relevant. ;-)
Is it a pop-band? br Thorsten

"Thorsten Ottosen" <nesotto@cs.auc.dk> wrote in message news:c192nd$2lc$1@sea.gmane.org...
"Dave Gomboc" <dave@cs.ualberta.ca> wrote in message news:001501c3f8ad$877f6690$6701a8c0@cyborg...
P.S. I think that the average teenager probably has a different meaning for 'std' than we do too, though I'll grant that that's less relevant. ;-)
Is it a pop-band?
Clap, not pop. Jonathan

On Sat, 21 Feb 2004 19:14:43 -0700, Jonathan Turkanis wrote
P.S. I think that the average teenager probably has a different meaning for 'std' than we do too, though I'll grant that that's less relevant. ;-)
Is it a pop-band?
Clap, not pop.
Oh, for goodness sake -- look it up in the dictionary. Standard isn't the first interpretation... http://dictionary.reference.com/search?q=std Jeff

Oh, for goodness sake -- look it up in the dictionary. Standard isn't the first interpretation...
http://dictionary.reference.com/search?q=std
Jeff
Oh!! Good pointer: STD abbr. sexually transmitted disease. Gennadiy.
participants (8)
-
Darren Cook
-
Dave Gomboc
-
Gennadiy Rozental
-
Jeff Garland
-
Jonathan Turkanis
-
Pavol Droba
-
Peter Dimov
-
Thorsten Ottosen