comp.lang.ada
 help / color / mirror / Atom feed
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



  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