Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #4564

Re: Types in C

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Types in C
Date 2011-05-23 08:40 -0700
Organization None to speak of
Message-ID <lnvcx1xw6m.fsf@nuthaus.mib.org> (permalink)
References <irbo6c$ul$1@speranza.aioe.org> <0.19dd82b3beedde195878.20110522230329BST.87mxieo0jy.fsf@bsb.me.uk> <ird68c$59n$1@speranza.aioe.org>

Show all headers | View raw


jacob navia <jacob@spamsink.net> writes:
[...]
> I added:
>
> <quote>
> The char type has not only signed and unsigned flavors but in some more
> esoteric classifications has a third flavor "plain char", different as a 
> type from an unsigned or a signed char.  We will not go into that
> hair splitting here.
> <end quote>
>
> I think this gives the reader a glimpse into the underlying complexities
> without really getting bogged down...
>
> True "hair splitting" is maybe exaggerated but it conveys my feeling
> about that whole issue :-)

Plain char really is a disinct time from both signed char and
unsigned char, just as int and long are distinct types even if they
happen to have exactly the same representation.  IMHO you're not
serving your readers well by suggesting that this distinction is
"esoteric" and "hair splitting".

The phrase "in some more esoteric classifications" could lead some
readers to think that they should be using signed char or unsigned
char, and that plain char should be avoided.  If I didn't know C,
I might even assume that most compilers don't support plain char.

Yes, it does seem odd that plain char has exactly the same
representation as either signed char or unsigned char, but that
it's a distinct type.  But the alternative would be that plain char
is the same type as either signed char or unsigned char -- which
would make some programs either valid or uncompilable, depending
on the implementation.  Would you rather be writing a tutorial for
that hypothetical language?

And I think the reason it seems strange is the misperception that
type is *just* about representation.  It isn't.  C is less strongly
typed than some languages, but it still has the concept tha two types
can be distinct even if one happens to be an exact copy of the other.
That might be something to explore in another part of your tutorial
(probably not the introduction).

Teach the language as it is, not as you wish it were.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Nokia
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Types in C jacob navia <jacob@spamsink.net> - 2011-05-22 21:29 +0200
  Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-22 12:48 -0700
  Re: Types in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-05-22 23:03 +0100
    Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 10:35 +0200
      Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 08:40 -0700
        Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 17:19 +0000
          Re: Types in C John Gordon <gordon@panix.com> - 2011-05-23 17:54 +0000
            Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 11:33 -0700
              Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 11:44 -0700
            Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 19:08 +0000
          Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 20:50 +0200
            Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 12:11 -0700
              Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 19:45 +0000
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 13:03 -0700
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 22:25 +0200
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 14:38 -0700
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 23:45 +0200
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 22:02 +0000
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-24 00:10 +0200
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 22:12 +0200
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-23 13:27 -0700
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 22:33 +0200
                Re: Types in C Martin Ambuhl <mambuhl@earthlink.net> - 2011-05-24 03:17 -0400
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-24 10:55 +0200
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 09:29 +1200
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 23:42 +0200
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 09:51 +1200
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-24 00:04 +0200
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 10:57 +1200
                Re: Types in C David Thompson <dave.thompson2@verizon.net> - 2011-06-01 16:33 -0400
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-23 19:33 -0500
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 08:27 -0700
                Re: Types in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-05-31 00:40 -0700
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-31 11:32 +0200
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-31 11:30 -0700
                Re: Types in C Tim Rentsch <txr@alumni.caltech.edu> - 2011-06-01 01:23 -0700
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 16:51 -0400
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 09:25 +1200
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-23 23:40 +0200
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 08:36 -0700
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 17:53 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 22:24 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 19:23 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 23:57 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 21:22 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 03:46 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 00:24 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 04:44 +0000
                Re: Types in C pete <pfiland@mindspring.com> - 2011-05-24 07:46 -0400
                Re: Types in C James Kuyper <jameskuyper@verizon.net> - 2011-05-24 07:48 -0400
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 10:35 +1200
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 22:38 +0000
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 10:53 +1200
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 23:17 +0000
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 11:24 +1200
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 23:39 +0000
                Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-24 11:23 +0200
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 08:46 -0700
                Re: Types in C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-05-24 09:14 -0700
                Re: Types in C Michael Press <rubrum@pacbell.net> - 2011-05-28 21:50 -0700
                Re: Types in C "io_x" <a@b.c.invalid> - 2011-06-07 19:50 +0200
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 19:33 -0400
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 12:03 +1200
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 21:27 -0400
                Re: Types in C Ian Collins <ian-news@hotmail.com> - 2011-05-24 13:47 +1200
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 23:45 -0400
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 00:07 -0700
                Re: Types in C James Kuyper <jameskuyper@verizon.net> - 2011-05-24 08:05 -0400
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-23 19:54 -0500
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 21:03 -0400
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-23 22:12 -0500
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 00:03 -0400
                Re: Types in C pete <pfiland@mindspring.com> - 2011-05-24 00:19 -0400
                Re: Types in C pete <pfiland@mindspring.com> - 2011-05-24 00:20 -0400
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-24 00:46 -0500
                Re: Types in C pete <pfiland@mindspring.com> - 2011-05-24 07:36 -0400
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 10:58 -0400
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 09:40 -0700
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 21:36 -0400
                Re: Types in C David Thompson <dave.thompson2@verizon.net> - 2011-06-01 16:33 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 16:50 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 21:10 -0400
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 18:19 -0700
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 21:42 -0400
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-24 23:47 -0500
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-25 10:13 -0400
                Re: Types in C Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-05-24 22:19 -0600
                Re: Types in C Dr Nick <3-nospam@temporary-address.org.uk> - 2011-05-25 07:04 +0100
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-25 08:53 -0700
                Re: Types in C Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2011-05-25 10:11 -0600
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 09:02 -0700
                Re: Types in C James Kuyper <jameskuyper@verizon.net> - 2011-05-24 07:37 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 22:02 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 18:15 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 22:25 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 19:39 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-23 23:57 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 21:10 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 01:58 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-23 23:56 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 04:32 +0000
                Re: Types in C "BartC" <bc@freeuk.com> - 2011-05-25 01:29 +0100
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-23 22:20 -0500
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-23 22:42 -0500
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 00:07 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 04:44 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 10:24 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-24 16:50 +0000
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 21:16 -0400
                Re: Types in C Seebs <usenet-nospam@seebs.net> - 2011-05-25 03:36 +0000
                Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-24 01:26 -0500
                Re: Types in C Uncle Steve <stevet810@gmail.com> - 2011-05-24 11:04 -0400
                Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-24 09:06 -0700
            Re: Types in C David Thompson <dave.thompson2@verizon.net> - 2011-06-01 16:33 -0400
  Re: Types in C Marcin Grzegorczyk <mgrzegor@poczta.onet.pl> - 2011-05-30 22:42 +0200
    Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-30 17:45 -0500
      Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-05-31 08:47 -0700
        Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-31 13:54 -0400
    Re: Types in C jacob navia <jacob@spamsink.net> - 2011-05-31 00:16 +0200
      Re: Types in C Shao Miller <sha0.miller@gmail.com> - 2011-05-30 18:30 -0500
      Re: Types in C Marcin Grzegorczyk <mgrzegor@poczta.onet.pl> - 2011-06-02 22:44 +0200
        Re: Types in C jacob navia <jacob@spamsink.net> - 2011-06-02 22:49 +0200
          Re: Types in C Keith Thompson <kst-u@mib.org> - 2011-06-02 15:26 -0700

csiph-web