comp.lang.ada
 help / color / mirror / Atom feed
From: "Jed" <jehdiah@orbitway.net>
Subject: Re: Why use C++?
Date: Thu, 11 Aug 2011 05:57:32 -0500
Date: 2011-08-11T05:57:32-05:00	[thread overview]
Message-ID: <j20cif$dr6$1@dont-email.me> (raw)
In-Reply-To: 150vz10ihvb5a.1lysmewa1muz4$.dlg@40tude.net


"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:150vz10ihvb5a.1lysmewa1muz4$.dlg@40tude.net...
> On Thu, 11 Aug 2011 03:20:55 -0500, Jed wrote:
>
>> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
>> news:1d8wyhvpcmpkd.ggiui9vebmtl.dlg@40tude.net...
>>> On Wed, 10 Aug 2011 17:37:28 -0500, Randy Brukardt wrote:
>>>
>>>> There are uses for wrapping types, but they are far less likely than 
>>>> wanting
>>>> overflow detection. The default should be to catch errors, not turn 
>>>> them
>>>> into different ones.
>>>
>>> The OP mentioned image processing, the behavior frequently needed 
>>> there is
>>> saturated integer arithmetic, which is nether ranged nor modular.
>>>
>>> As for modular types, wrapping is the mathematically correct 
>>> behavior,
>>> it is not an error.
>>>
>>> You just cannot provide every possible arithmetic at the language
>>> level.
>>>
>>
>> What do you think the practical level of limitation is?
>
> Types that cannot be constructed by the operations of the types algebra
> provided by the language. Richer the algebra is, less built-in types
> needed.

Will you give an example to clarify please?

>
>> Were you thinking "beyond integers" with your statement?
>
> There is nothing special in integer types, except that for the types
> algebra you need ordinal numerals (i.e. at least one integer type).

I know a little bit (enough to "be dangerous") of Intel assembly, and it 
looks like C/C++ integer types are a direct reflection of what is at that 
level. Even the fact that by default, integer literals are signed. So in 
that respect, I think they are special. They are chosen for efficiency as 
a direct reflection of hardware (I'm not saying all hardware is the same, 
mind you).

>
>> What kinds of integer types would
>> you like to see built-in to a hypothetical ideal language?
>
> As little as possible. Usage of predefined integer types makes design 
> more
> fragile. E.g. it is bad when somebody uses Ada's Integer, or C++ int 
> (OK,
> in C++ there is no other option), instead of introducing a type 
> reflecting
> the application semantics rather than the decision of some compiler 
> vendor
> motivated by other concerns.
>

You have to build those types though based upon the built-in ones, yes? 
If so, aren't modular, wrapping and overflow-checked equally good for 
something and all worthy of being in a language? Of course there is 
signed, unsigned and the different bit widths as candidates also. And are 
not those built-ins good to use "raw" in many cases? Are you suggesting 
that a language have NO types? There is assembly language for that (and 
the instruction set pretty much dictates what types you have to work with 
at that level). 





  reply	other threads:[~2011-08-11 10:57 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <fb9f787c-af06-427a-82b6-b0684e8dcbc5@s2g2000vby.googlegroups.com>
     [not found] ` <j1kaj8$dge$1@adenine.netfront.net>
     [not found]   ` <1e292299-2cbe-4443-86f3-b19b8af50fff@c29g2000yqd.googlegroups.com>
     [not found]     ` <j1tha5$11q5$1@adenine.netfront.net>
     [not found]       ` <1fd0cc9b-859d-428e-b68a-11e34de84225@gz10g2000vbb.googlegroups.com>
2011-08-10 19:05         ` Why use C++? Niklas Holsti
2011-08-10 22:37           ` Randy Brukardt
2011-08-10 22:49             ` Ludovic Brenta
2011-08-12  4:54               ` Randy Brukardt
2011-08-11  7:54             ` Dmitry A. Kazakov
2011-08-11  8:20               ` Jed
2011-08-11  9:13                 ` Dmitry A. Kazakov
2011-08-11 10:57                   ` Jed [this message]
2011-08-11 11:43                     ` Georg Bauhaus
2011-08-12  5:07                       ` Jed
2011-08-11 13:11                     ` Nomen Nescio
2011-08-11 15:11                       ` Paul
2011-08-12  5:15                       ` Jed
2011-08-12 21:39                         ` Fritz Wuehler
2011-08-14  6:52                           ` Jed
2011-08-14  8:13                             ` Nomen Nescio
2011-08-11 15:09                     ` Dmitry A. Kazakov
2011-08-12  5:03                       ` Jed
2011-08-12  8:32                         ` Georg Bauhaus
2011-08-12 13:15                           ` Hyman Rosen
2011-08-12 22:09                             ` Randy Brukardt
2011-08-12 15:14                           ` Jed
2011-08-12 17:20                             ` Georg Bauhaus
2011-08-12 19:51                               ` Jed
2011-08-12 21:22                                 ` Ludovic Brenta
2011-08-14  7:00                                   ` Jed
2011-08-16 13:06                                     ` Ludovic Brenta
2011-08-13  9:37                                 ` Georg Bauhaus
2011-08-14  5:22                                   ` Jed
2011-08-13 10:27                                 ` Georg Bauhaus
2011-08-14  5:35                                   ` Jed
2011-08-14 20:13                                     ` Georg Bauhaus
2011-08-15 11:38                                     ` Georg Bauhaus
2011-08-13 11:02                                 ` Georg Bauhaus
2011-08-14  5:56                                   ` Jed
2011-08-12  9:21                         ` Dmitry A. Kazakov
2011-08-12 13:26                           ` Jed
2011-08-12 14:30                             ` Dmitry A. Kazakov
2011-08-12 19:06                               ` Jed
2011-08-12 20:05                                 ` Dmitry A. Kazakov
2011-08-13  7:53                                   ` Jed
2011-08-13  9:15                                     ` Dmitry A. Kazakov
2011-08-13  9:29                                       ` Ian Collins
2011-08-13  9:52                                         ` Dmitry A. Kazakov
2011-08-13 11:10                                           ` Ian Collins
2011-08-13 11:46                                             ` Georg Bauhaus
2011-08-13 20:30                                               ` Ian Collins
2011-08-13 11:54                                             ` Brian Drummond
2011-08-13 13:12                                               ` Simon Wright
2011-08-14 11:01                                                 ` Brian Drummond
2011-08-14  4:54                                             ` Jed
2011-08-14  4:35                                           ` Jed
2011-08-14  6:46                                             ` Dmitry A. Kazakov
2011-08-14  4:49                                           ` Jed
2011-08-14  6:51                                             ` Dmitry A. Kazakov
2011-08-14  4:29                                       ` Jed
2011-08-14  7:29                                         ` Dmitry A. Kazakov
2011-08-16  8:18                                       ` Nick Keighley
2011-08-16  8:47                                         ` Dmitry A. Kazakov
2011-08-16  9:52                                           ` Nick Keighley
2011-08-16 10:39                                             ` Dmitry A. Kazakov
2011-08-16 10:23                                           ` Georg Bauhaus
2011-08-16 10:58                                             ` Dmitry A. Kazakov
2011-08-16 11:44                                               ` Georg Bauhaus
2011-08-16 14:51                                               ` Bill Findlay
2011-08-16 19:13                                                 ` Dmitry A. Kazakov
2011-08-16 19:23                                                   ` Bill Findlay
2011-08-12 11:48                 ` Stuart Redmann
2011-08-12 13:12                   ` Vinzent Hoefler
2011-08-12 15:50                     ` Stuart Redmann
2011-08-12 17:02                       ` Bill Findlay
2011-08-15 12:59                       ` Vinzent Hoefler
2011-08-12  5:02               ` Randy Brukardt
2011-08-12  5:16                 ` Robert Wessel
2011-08-12 16:39                   ` Adam Beneschan
2011-08-12  5:24                 ` Jed
2011-08-12  6:51                   ` Paavo Helde
2011-08-12  7:41                     ` Georg Bauhaus
2011-08-12 15:50                   ` Fritz Wuehler
2011-08-12 19:59                     ` Jed
2011-08-13  8:06                     ` Stephen Leake
2011-08-12  9:40                 ` Dmitry A. Kazakov
2011-08-12  9:45                   ` Ludovic Brenta
2011-08-12 10:48                     ` Georg Bauhaus
2011-08-12 15:56                       ` Ludovic Brenta
2011-08-13  8:08                   ` Stephen Leake
2011-08-18 13:39               ` Louisa
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox