comp.lang.ada
 help / color / mirror / Atom feed
From: seas.gwu.edu!mfeldman@uunet.uu.net  (Michael Feldman)
Subject: Re: Using Global Variables
Date: 21 Sep 92 20:31:14 GMT	[thread overview]
Message-ID: <1992Sep21.203114.17199@seas.gwu.edu> (raw)

In article <1992Sep21.165108.11129@software.org> smithd@software.org (Doug Smit
h) writes:
>
[heavily edited]

>OK.  Let's get specific.  Assuming that having to `with' a package does
>not violate the definition of global, the following is definitely the
>declaration of a global variable:
>
(1)
>    package Contains_Global is
>       Global_Variable : Integer;
>    end Contains_Global;
>
(2)
>   package body Convert_Global is
>      Is_This_A_Global_Variable : Integer; ----------- What do you say?
>
>      procedure Put (Value : in     Integer) is
>      begin
>         Is_This_A_Global_Variable := Value;
>      end Put;
>
>      procedure Get (Value :    out Integer) is
>      begin
>         Value := Is_This_A_Global_Variable;
>      end Get;
>
>   end Convert_Global;
>
>In an attempt to limit the potential explosion of discussion about
>why one is better than the other--let's try to define the term `Global'
>first!  What is the Integer declared inside the package body?

This thread has been referring, I think, to the example in (1). The
"locally global" variable in (2) is almost unavoidable in Ada, for
reasons having nothing to do with efficiency. State information must
either be kept "locally global", where it is visible to a group of
operations but nobody else, or passed in parameters, which is a
rather foolish violation of abstraction principles.

C, following PL/1's example, and Algol 60's, allows _static_ data
structures to be declared within a subprogram. Ada does not.

Let's stick to case (1) if this thread is going to continue.

Mike Feldman

             reply	other threads:[~1992-09-21 20:31 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1992-09-21 20:31 Michael Feldman [this message]
  -- strict thread matches above, loose matches on Subject: below --
1992-09-29 15:05 Using Global Variables Charles H. Sampson
1992-09-28 20:56 crispen
1992-09-28 15:53 Victor Giddings
1992-09-28 14:51 Jeffrey Stewart
1992-09-28 12:52 crispen
1992-09-25 22:58 netcomsv!iscnvx!news
1992-09-25 21:16 Charles H. Sampson
1992-09-25 17:50 Charles H. Sampson
1992-09-25 17:36 Charles H. Sampson
1992-09-25 16:30 David A. Hasan
1992-09-25 14:01 crispen
1992-09-24 20:02 netcomsv!iscnvx!news
1992-09-24 18:10 crispen
1992-09-24  6:51 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!rpi!utcsri!geac!torsqnt!uuno
1992-09-24  3:52 Michael Feldman
1992-09-23 21:13 haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!cis.ohio-state.ed
1992-09-23 19:11 Charles H. Sampson
1992-09-23 15:01 crispen
1992-09-23 14:26 munnari.oz.au!ariel!ucsvc.ucs.unimelb.edu.au!phillip.edu.au!x01233
1992-09-23 14:19 crispen
1992-09-23 13:24 wupost!spool.mu.edu!olivea!bu.edu!inmet!inmet!shafer
1992-09-23  2:44 Holmes S. Liao
1992-09-22 20:14 LEE MARDEN
1992-09-22 17:08 dog.ee.lbl.gov!hellgate.utah.edu!cs.utexas.edu!csc.ti.com!tilde.csc.ti.co
1992-09-22 14:54 van-bc!ubc-cs!destroyer!caen!spool.mu.edu!umn.edu!The-Star.honeywell.com!
1992-09-22 12:19 Robert Firth
1992-09-21 21:30 fred j mccall 575-3539
1992-09-21 20:58 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!darwin.sura.net!spool.mu.edu
1992-09-21 20:37 Michael Feldman
1992-09-21 20:36 Michael Feldman
1992-09-21 19:23 Robert Firth
1992-09-21 18:32 agate!linus!linus.mitre.org!mwvm.mitre.org!M19481
1992-09-21 16:51 Doug Smith
1992-09-21 14:43 haven.umd.edu!darwin.sura.net!spool.mu.edu!umn.edu!The-Star.honeywell.com
1992-09-21 11:49 cis.ohio-state.edu!news.sei.cmu.edu!ajpo.sei.cmu.edu!wellerd
1992-09-21  8:10 paul goffin
1992-09-21  4:08 cis.ohio-state.edu!news.sei.cmu.edu!lph
1992-09-19  2:28 Michael Feldman
1992-09-18 23:52 Charles H. Sampson
1992-09-18 22:50 Robert I. Eachus
1992-09-18 13:12 crispen
1992-09-17 18:34 Charles H. Sampson
1992-09-17 14:24 kronos.arc.nasa.gov!iscnvx!news
1992-09-16 17:47 agate!linus!linus.mitre.org!mwvm.mitre.org!M19481
1992-09-16 15:26 Charles H. Sampson
replies disabled

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