comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Trivia: Ada packages are great!
Date: Mon, 5 Nov 2018 02:39:22 -0800 (PST)
Date: 2018-11-05T02:39:22-08:00	[thread overview]
Message-ID: <98c7d0b5-2262-4246-bb4f-6dde1d59ff6b@googlegroups.com> (raw)
In-Reply-To: <5af3c4a0-5856-47ec-bb05-0ae9f9bb24ff@googlegroups.com>


> I just want to recall that in Ada being forced to choose a package name for our units is a frustration/time/clarity saver. Integrating would have taken nothing. 

Except when the original and target package names need to differ or are in a different package hierarchies. Or perhaps somebody decides that what was originally sitting alone in a cosy Utils package needs to be integrated within an already existing (and crowded) Our_Very_Complex_System.Utilities.Helpers.
Which, considering your assertion that the target is a MUCH bigger codebase, would be the case almost certainly.

> Anyone arguing that enforcing explicit separation of code units is a waste of time or tutoring for bad programmers is plain wrong. 

Yes.

> This is one of the many reasons why Ada, in the long run, kills it. 

Unfortunately, no. Complex projects are complex in whatever language and code migration and integration are hard, for everybody.

Interestingly, the feature that allows C++ namespaces to exists in multiple files, makes the code migrations easier, because new definitions can be added to existing namespaces without any need to modify existing files. This also means that new features can be written and tested in an isolated environment, with target namespaces already in mind, and then new files just added to the project. In comparison (and in this context), Ada couples logic and physical designs, which is not always wanted.

-- 
Maciej Sobczak * http://www.inspirel.com

  reply	other threads:[~2018-11-05 10:39 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-02 21:11 Trivia: Ada packages are great! Olivier Henley
2018-11-05 10:39 ` Maciej Sobczak [this message]
2018-11-05 12:39   ` Björn Lundin
2018-11-06  8:52     ` Maciej Sobczak
2018-11-06 13:02       ` Olivier Henley
2018-11-07  7:02         ` Maciej Sobczak
2018-11-07  8:55           ` G. B.
2018-11-07 12:40           ` Olivier Henley
2018-11-08 12:35             ` Maciej Sobczak
2018-11-08 13:12               ` Olivier Henley
2018-11-09  2:15               ` gautier_niouzes
2018-11-07  8:53       ` Björn Lundin
2018-11-07 10:56         ` Maciej Sobczak
2018-11-07 18:27           ` G. B.
2018-11-08 12:20             ` Maciej Sobczak
2018-11-09  5:45               ` G. B.
2018-11-09  8:24                 ` Maciej Sobczak
2018-11-09  9:03                   ` Dmitry A. Kazakov
2018-11-12  6:33                   ` G. B.
2018-11-05 17:20   ` Olivier Henley
2018-11-05 17:56   ` Olivier Henley
2018-11-05 18:07     ` Simon Wright
2018-11-05 19:37       ` Jeffrey R. Carter
2018-11-05 20:04         ` Olivier Henley
2018-11-05 20:12         ` Olivier Henley
2018-11-05 18:29     ` Olivier Henley
2018-11-05 20:03     ` Olivier Henley
2018-11-05 20:40     ` Olivier Henley
2018-11-08  4:46 ` gautier_niouzes
2018-11-08 12:28   ` Maciej Sobczak
2018-11-08 13:27     ` Olivier Henley
2018-11-08 14:44     ` gautier_niouzes
2018-11-08 15:01       ` Olivier Henley
2018-11-08 16:14         ` Simon Wright
2018-11-08 16:28           ` Olivier Henley
2018-11-11  6:49             ` Randy Brukardt
2018-11-11  7:01     ` Randy Brukardt
2018-11-11  7:01   ` Randy Brukardt
replies disabled

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