From: Jacob Sparre Andersen <jacob@jacob-sparre.dk>
Subject: Privacy and child packages (Was: Teaching C/C++ from Ada perspective?)
Date: Sat, 07 Jul 2018 10:48:06 +0200
Date: 2018-07-07T10:48:06+02:00 [thread overview]
Message-ID: <87601rmny1.fsf_-_@adaheads.home> (raw)
In-Reply-To: ab47c8a8-2f43-48b5-8643-4ea2b9d18a49@googlegroups.com
Micronian Coder <micronian2@gmail.com> writes:
> Jean-Pierre beat me to it, but I concur that child packages is Ada's
> answer to C++ friend. I find child packages much better than C++
> friend because you can keep adding additional subprograms, say for
> testing purposes, without ever touching the original package.
Yes.
But the down-side(?) is that a clever programmer can use a child package
to leak private information from its parent.
You can see the package GNAT.Sockets.Compatibility in
<https://bitbucket.org/sparre/gnat-sockets-extras> for an example. In
this case I used it to be able to use the same input/output operations
for both network connections and regular files.
Greetings,
Jacob
--
'I don't think you can fight a whole universe, sir!'
'It's the prerogative of every life form, Mr Stibbons!'
next prev parent reply other threads:[~2018-07-07 8:48 UTC|newest]
Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-30 18:04 Teaching C/C++ from Ada perspective? kouaoua16
2018-06-30 18:15 ` Luke A. Guest
2018-06-30 19:27 ` Dan'l Miller
2018-06-30 19:07 ` Dan'l Miller
2018-07-01 16:12 ` kouaoua16
2018-07-01 17:08 ` Luke A. Guest
2018-07-01 19:19 ` Dan'l Miller
2018-07-02 6:12 ` Maciej Sobczak
2018-07-01 20:52 ` Maciej Sobczak
2018-07-01 21:35 ` Dan'l Miller
2018-07-02 5:56 ` Maciej Sobczak
2018-07-02 9:58 ` Marius Amado-Alves
2018-07-02 11:03 ` Maciej Sobczak
2018-07-02 13:52 ` Marius Amado-Alves
2018-07-04 12:10 ` Dan'l Miller
2018-07-02 20:14 ` Paul Rubin
2018-07-03 9:48 ` Marius Amado-Alves
2018-07-04 2:52 ` Paul Rubin
2018-07-02 18:52 ` Dan'l Miller
2018-07-03 8:00 ` Maciej Sobczak
2018-07-03 12:40 ` Dan'l Miller
2018-07-03 20:54 ` Maciej Sobczak
2018-07-04 3:10 ` Dan'l Miller
2018-07-04 7:59 ` Maciej Sobczak
2018-07-04 8:37 ` Marius Amado-Alves
2018-07-04 12:22 ` Maciej Sobczak
2018-07-04 14:13 ` Simon Wright
2018-07-04 14:56 ` Maciej Sobczak
2018-07-04 15:52 ` Dmitry A. Kazakov
2018-07-04 16:24 ` Alejandro R. Mosteo
2018-07-04 20:00 ` Jeffrey R. Carter
2018-07-05 18:35 ` Randy Brukardt
2018-07-05 19:39 ` Jeffrey R. Carter
2018-07-06 18:45 ` Randy Brukardt
2018-07-04 20:13 ` Maciej Sobczak
2018-07-04 21:09 ` Dmitry A. Kazakov
2018-07-05 5:49 ` Maciej Sobczak
2018-07-05 7:37 ` Dmitry A. Kazakov
2018-07-05 13:14 ` Maciej Sobczak
2018-07-05 15:18 ` Dmitry A. Kazakov
2018-07-05 19:16 ` Randy Brukardt
2018-07-07 15:09 ` Lucretia
2018-07-05 19:12 ` Randy Brukardt
2018-07-05 20:10 ` Maciej Sobczak
2018-07-06 19:01 ` Randy Brukardt
2018-07-06 19:35 ` Dmitry A. Kazakov
2018-07-05 7:43 ` Alejandro R. Mosteo
2018-07-05 18:53 ` Randy Brukardt
2018-07-05 19:06 ` Dan'l Miller
2018-07-06 18:47 ` Randy Brukardt
2018-07-05 20:12 ` Maciej Sobczak
2018-07-06 18:51 ` Randy Brukardt
2018-07-06 19:43 ` Dmitry A. Kazakov
2018-07-06 20:18 ` Dan'l Miller
2018-07-07 8:39 ` Dmitry A. Kazakov
2018-07-07 11:53 ` Björn Lundin
2018-07-06 20:22 ` Maciej Sobczak
2018-07-06 23:26 ` Paul Rubin
2018-07-07 6:17 ` J-P. Rosen
2018-07-07 6:37 ` Micronian Coder
2018-07-07 8:48 ` Jacob Sparre Andersen [this message]
2018-07-07 20:19 ` Maciej Sobczak
2018-07-08 15:25 ` Simon Wright
2018-07-08 20:00 ` Maciej Sobczak
2018-07-09 9:04 ` Alejandro R. Mosteo
2018-07-05 15:30 ` Dan'l Miller
2018-07-05 20:38 ` Maciej Sobczak
2018-07-05 21:05 ` Dan'l Miller
2018-07-05 18:47 ` Randy Brukardt
2018-07-04 16:01 ` Simon Wright
2018-07-04 17:12 ` G. B.
2018-07-04 20:18 ` Maciej Sobczak
2018-07-04 21:03 ` G.B.
2018-07-04 17:21 ` Dan'l Miller
2018-07-04 20:36 ` Maciej Sobczak
2018-07-04 22:44 ` Dan'l Miller
2018-07-05 2:01 ` Luke A. Guest
2018-07-05 5:03 ` Dan'l Miller
2018-07-05 5:58 ` Maciej Sobczak
2018-07-05 19:25 ` Randy Brukardt
2018-07-05 19:22 ` Randy Brukardt
2018-07-05 18:31 ` Randy Brukardt
2018-07-06 3:32 ` Dan'l Miller
2018-07-06 12:05 ` Dan'l Miller
2018-07-06 20:42 ` Maciej Sobczak
2018-07-06 21:32 ` Dan'l Miller
2018-07-07 20:43 ` Maciej Sobczak
2018-07-08 17:36 ` Dan'l Miller
2018-07-08 18:39 ` Bill Findlay
2018-07-08 19:28 ` Dan'l Miller
2018-07-09 12:34 ` Bill Findlay
2018-07-09 15:19 ` Dan'l Miller
2018-07-09 19:34 ` Bill Findlay
2018-07-09 22:03 ` Dan'l Miller
2018-07-09 22:35 ` Bill Findlay
2018-07-10 1:56 ` Lucretia
2018-07-10 23:14 ` Randy Brukardt
2018-07-11 14:05 ` Dan'l Miller
2018-07-11 20:20 ` Randy Brukardt
2018-07-08 20:43 ` Maciej Sobczak
2018-07-08 23:17 ` Dan'l Miller
2018-07-09 6:13 ` Maciej Sobczak
2018-07-09 16:35 ` Dan'l Miller
2018-07-10 23:20 ` Randy Brukardt
2018-07-10 23:51 ` Britt
2018-07-02 17:10 ` kouaoua16
2018-07-02 17:28 ` Dennis Lee Bieber
2018-07-02 18:22 ` Maciej Sobczak
2018-07-02 20:27 ` G.B.
2018-07-02 0:11 ` Paul Rubin
2018-07-02 14:26 ` kouaoua16
2018-07-02 19:57 ` G.B.
2018-07-02 20:17 ` Dan'l Miller
2018-07-03 9:56 ` Brian Drummond
2018-07-04 12:18 ` Olivier Henley
2018-07-04 14:17 ` kouaoua16
2018-07-12 5:38 ` robin.vowels
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox