From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Factory Pattern
Date: Sun, 29 Jul 2007 10:53:49 +0200
Date: 2007-07-29T10:53:35+02:00 [thread overview]
Message-ID: <aunw1xksjyhr.ndr61dhs8wzh.dlg@40tude.net> (raw)
In-Reply-To: 1185695674.206091.43870@w3g2000hsg.googlegroups.com
On Sun, 29 Jul 2007 00:54:34 -0700, Maciej Sobczak wrote:
> On 28 Lip, 00:23, "Randy Brukardt" <ra...@rrsoftware.com> wrote:
>
>> (New standards for other languages also will have to add
>> this sort of support, or take their chances at having their standards fail.)
>
> When I think about it more, I cannot even believe it might be true.
> Consider... C. It has the ISO standard and surely will be revised.
>
> One of the things that are taken for granted in the whole industry is
> the fact that C names are immediately "extern" without any further
> tweaking. Thanks to this you can write
>
> pragma Import (C, Puts, "puts");
>
> and gain access to the standard puts function in C. Or any other.
> *Every* programming language that is even remotely useful uses this
> fact and relies on it.
>
> Now imagine that C introduces support for Unicode in names. In order
> to reuse the whole existing infrastructure of binary utilities (the
> tradition that is hard to drop) it would be necessary to introduce
> name mangling that will translate Unicode identifiers into something a
> typical linker can understand. But that will not be standardized,
> leading to complete mess. The alternative would be to require that the
> whole world starts to understand Unicode in symbol names for linking
> and import/export. The implications for the industry would be
> disastrous.
>
> My humble opinion: there will be no Unicode allowed for C identifiers
> and the binary symbol names will stay Latin1 (or even a subset of it)
> till the end of the world as we know it. This means that ISO cannot
> have any reasonable mandate to enforce Unicode support on other
> languages without the risk of undermining its credibility by being
> inconsistent.
>
> Am I missing something?
Hmm, AFAIK both C and C++ always mangled external names:
"_puts" not "puts" in C.
"??00puts@t346�$____�&G_Fsdf..." in C++.
Usability is nobody's care, anyway. Just try to link Borland C++ to a MSVC
import library, you'll see.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2007-07-29 8:53 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-25 18:19 Factory Pattern shaunpatterson
2007-07-25 18:28 ` Martin
2007-07-25 18:51 ` Dmitry A. Kazakov
2007-07-25 21:06 ` Georg Bauhaus
2007-07-25 19:27 ` Matthew Heaney
2007-07-26 0:51 ` Jeffrey R. Carter
2007-07-26 6:44 ` Maciej Sobczak
2007-07-26 8:40 ` Georg Bauhaus
2007-07-26 9:53 ` Dmitry A. Kazakov
2007-07-26 11:01 ` Georg Bauhaus
2007-07-26 13:02 ` Maciej Sobczak
2007-07-26 13:44 ` Dmitry A. Kazakov
2007-07-26 14:58 ` Georg Bauhaus
2007-07-26 22:31 ` Randy Brukardt
2007-07-27 13:07 ` Maciej Sobczak
2007-07-27 14:23 ` shaunpatterson
2007-07-27 22:23 ` Randy Brukardt
2007-07-28 18:56 ` Maciej Sobczak
2007-07-29 7:54 ` Maciej Sobczak
2007-07-29 8:53 ` Dmitry A. Kazakov [this message]
2007-07-29 10:53 ` Georg Bauhaus
2007-07-26 16:58 ` Adam Beneschan
2007-07-29 11:38 ` Manuel Gomez
2007-07-27 10:16 ` Jeffrey R. Carter
2007-07-27 12:47 ` Maciej Sobczak
2007-08-26 7:18 ` David Thompson
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox