comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Constructing by classwide type
Date: Tue, 18 Apr 2017 13:57:09 -0500
Date: 2017-04-18T13:57:09-05:00	[thread overview]
Message-ID: <od5ni6$u99$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: od5ins$drj$1@dont-email.me

"Alejandro R. Mosteo" <alejandro@mosteo.com> wrote in message 
news:od5ins$drj$1@dont-email.me...
...
> I've been under the same circumstances recently and wondered the same. I 
> hope you get some informed answers. Until date, I have noticed no 
> drawbacks and all the advantages you mention.

I don't think there is AN answer. Unless you have to satisfy someone who is 
worshipping a the church of OOP, the best design is the one that works for 
your application, minimizes unnecessary coupling, and makes as many errors 
as possible detectable at compile-time. Use ALL of the features of Ada to 
get there, both OOP and non-OOP features. (Case completeness checks make a 
big difference in being able to modify non-OOP variant record types 
safely -- I find no obvious difference in maintainability between the 
Janus/Ada compiler [designed before OOP was a 'thing'] and the Claw Builder 
[a pure OOP design]. Indeed, incremental development is easier on Janus/Ada 
as usually one doesn't need to write as much code to get it to compile/run.

Anyway, in programming design, there is no one right answer. Ada has a big 
toolbox, it makes sense to use it all.

                                               Randy.



  reply	other threads:[~2017-04-18 18:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-03  1:04 Constructing by classwide type sbelmont700
2017-04-18 17:37 ` Alejandro R. Mosteo
2017-04-18 18:57   ` Randy Brukardt [this message]
2017-04-18 19:45     ` Dmitry A. Kazakov
2017-04-19 20:45       ` 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