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


Groups > comp.lang.c > #94046

Re: To include or not to include

Path csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: To include or not to include
Date Sun, 25 Sep 2016 21:20:51 +0100
Organization A noiseless patient Spider
Lines 42
Message-ID <87fuonenoc.fsf@bsb.me.uk> (permalink)
References <ns2tkb$p0$1@dont-email.me> <ns310l$bj5$1@dont-email.me> <ns3316$i3b$1@dont-email.me> <87zimyhk54.fsf@bsb.me.uk> <ns6kg9$eql$1@dont-email.me> <87a8ewgb5y.fsf@bsb.me.uk> <ns76j2$7eh$1@dont-email.me> <87r388dzw9.fsf@bsb.me.uk> <ns8lku$r18$1@dont-email.me>
Mime-Version 1.0
Content-Type text/plain
Injection-Info mx02.eternal-september.org; posting-host="017616aa25f81ec581c44d76d61ba2f3"; logging-data="24500"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+dcRh9t8sBNI3tW9D2G9yeEUIIesfmWSg="
Cancel-Lock sha1:8KKS0F0Yzz+b6+wnFCSWWLLhwgo= sha1:lWoYOPCPLrD2xfqeo75UsriRzso=
X-BSB-Auth 1.be1962de4208ae038c4e.20160925212051BST.87fuonenoc.fsf@bsb.me.uk
Xref csiph.com comp.lang.c:94046

Show key headers only | View raw


BartC <bc@freeuk.com> writes:

> On 25/09/2016 11:42, Ben Bacarisse wrote:
>> BartC <bc@freeuk.com> writes:
>
>>> I hardly ever use it [extern], and rarely
>>> see it used elsewhere.
>>
>> I'd hope not.  After decades of education, I would hope that programs
>> that rely on "global" data objects are getting increasingly rare.
>
> But global functions, global typedefs, global struct tags, global enum
> names, global #defines and global #includes (ie. module names) are
> still acceptable? It could get tricky otherwise.

I'm not sure I know what all these are.  I used the term "global"
because I wanted to relate C to the developments in programming style
that have been evolving for 60 years or so.  And I used scare quotes
because "global" is not properly defined in C.

The real problem objects are the ones you alluded to in your post:
non-const objects declared (in an included header file) at file scope
with external linkage.

> What about file-scope data objects; are they also frowned upon?

It depends on the linkage.

Non-const objects declared at file scope with external linkage are the
ones everyone should try to avoid.  But some people urge limiting the
scope of names as much as is reasonable, and in that context, objects
declared at file scope with *internal* linkage are also a worry for
readability.  How deep a frown they provoke depends very much on the
context and the complexity of trying to work round having them.

> Meanwhile with a language that really has banned globals you get
> yourself tied up in knots trying to create one.

I don't know what that means.

-- 
Ben.

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


Thread

To include or not to include James Harris <james.harris.1@gmail.com> - 2016-09-23 10:45 +0100
  Re: To include or not to include David Brown <david.brown@hesbynett.no> - 2016-09-23 12:43 +0200
    Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-23 12:17 +0100
      Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-23 13:32 +0100
        Re: To include or not to include David Brown <david.brown@hesbynett.no> - 2016-09-23 14:57 +0200
        Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-24 20:34 +0100
          Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-24 23:55 +0100
            Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-25 01:43 +0100
              Re: To include or not to include Ian Collins <ian-news@hotmail.com> - 2016-09-25 14:38 +1300
              Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-25 11:42 +0100
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-25 11:58 +0100
                Re: To include or not to include James Harris <james.harris.1@gmail.com> - 2016-09-25 14:06 +0100
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-25 15:15 +0100
                Re: To include or not to include Reinhardt Behm <rbehm@hushmail.com> - 2016-09-25 23:33 +0800
                Re: To include or not to include Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-09-25 10:04 -0600
                Re: To include or not to include Reinhardt Behm <rbehm@hushmail.com> - 2016-09-26 00:21 +0800
                Re: To include or not to include "James R. Kuyper" <jameskuyper@verizon.net> - 2016-09-25 13:17 -0400
                Re: To include or not to include James Harris <james.harris.1@gmail.com> - 2016-09-26 00:18 +0100
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-26 17:55 +0100
                Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-26 20:07 +0100
                Re: To include or not to include supercat@casperkitty.com - 2016-09-26 12:13 -0700
                Re: To include or not to include James Harris <james.harris.1@gmail.com> - 2016-09-27 01:25 +0100
                Re: To include or not to include supercat@casperkitty.com - 2016-09-26 18:05 -0700
                Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-27 14:27 +0100
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-27 14:49 +0100
                Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-27 15:15 +0100
                Re: To include or not to include Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-09-27 07:42 -0700
                Re: To include or not to include Keith Thompson <kst-u@mib.org> - 2016-09-27 09:30 -0700
                Re: To include or not to include Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-09-27 10:06 -0700
                Re: To include or not to include supercat@casperkitty.com - 2016-09-27 08:12 -0700
                Re: To include or not to include Tim Rentsch <txr@alumni.caltech.edu> - 2016-09-28 10:46 -0700
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-27 17:55 +0100
                Re: To include or not to include supercat@casperkitty.com - 2016-09-27 10:19 -0700
                Re: To include or not to include Keith Thompson <kst-u@mib.org> - 2016-09-27 11:42 -0700
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-27 19:57 +0100
                Re: To include or not to include Keith Thompson <kst-u@mib.org> - 2016-09-27 12:38 -0700
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-27 21:00 +0100
                Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-28 01:50 +0100
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-28 10:55 +0100
                Re: To include or not to include Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-09-27 13:33 -0700
                Re: To include or not to include Ike Naar <ike@iceland.freeshell.org> - 2016-09-28 19:13 +0000
                Re: To include or not to include supercat@casperkitty.com - 2016-09-27 12:38 -0700
                Re: To include or not to include James Harris <james.harris.1@gmail.com> - 2016-09-27 20:57 +0100
                Re: To include or not to include supercat@casperkitty.com - 2016-09-27 07:25 -0700
                Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-28 00:28 +0100
                Re: To include or not to include supercat@casperkitty.com - 2016-09-30 07:53 -0700
                Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-30 16:06 +0100
                Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-27 13:53 +0100
                Re: To include or not to include James Harris <james.harris.1@gmail.com> - 2016-09-30 19:46 +0100
                Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-30 20:27 +0100
                Re: To include or not to include Reinhardt Behm <rbehm@hushmail.com> - 2016-09-25 23:27 +0800
                Re: To include or not to include Jerry Stuckle <jstucklex@attglobal.net> - 2016-09-25 11:38 -0400
                Re: To include or not to include Reinhardt Behm <rbehm@hushmail.com> - 2016-09-25 23:40 +0800
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-25 15:06 +0100
                Re: To include or not to include Jerry Stuckle <jstucklex@attglobal.net> - 2016-09-25 11:49 -0400
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-25 18:05 +0100
                Re: To include or not to include Jerry Stuckle <jstucklex@attglobal.net> - 2016-09-25 16:42 -0400
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-25 21:53 +0100
                Re: To include or not to include Jerry Stuckle <jstucklex@attglobal.net> - 2016-09-25 17:57 -0400
                Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-25 21:20 +0100
                Re: To include or not to include BartC <bc@freeuk.com> - 2016-09-25 21:49 +0100
                Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-26 00:40 +0100
      Re: To include or not to include David Brown <david.brown@hesbynett.no> - 2016-09-23 14:56 +0200
  Re: To include or not to include Richard Heathfield <rjh@cpax.org.uk> - 2016-09-23 13:31 +0100
    Re: To include or not to include James Harris <james.harris.1@gmail.com> - 2016-09-23 13:52 +0100
      Re: To include or not to include Richard Heathfield <rjh@cpax.org.uk> - 2016-09-23 14:35 +0100
    Re: To include or not to include Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-23 18:55 +0100
      Re: To include or not to include Richard Heathfield <rjh@cpax.org.uk> - 2016-09-23 20:33 +0100
  Re: To include or not to include Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-09-23 08:22 -0600
  Re: To include or not to include Richard Damon <Richard@Damon-Family.org> - 2016-09-23 11:37 -0400

csiph-web