From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: What exactly is the licensing situation with GNAT? Date: Fri, 14 Nov 2014 14:35:31 +0100 Organization: cbb software GmbH Message-ID: <5yzci4a8snfg.1dfsqjyvneeym$.dlg@40tude.net> References: <084b1934-9641-425e-85ec-293e0334413e@googlegroups.com> <86bf69c8-eb08-4696-b6c9-3784f5c42213@googlegroups.com> <87389olqie.fsf@ixod.org> <10d9w.55626$8w1.22302@fx12.iad> <150er0b62wsh3$.1xabmp81w5kdw.dlg@40tude.net> <1azsoc77wjhmi$.1grmnnlq033tz.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: p9a8jKAGz0rpkSSbWxF1gQ.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:23290 Date: 2014-11-14T14:35:31+01:00 List-Id: On Fri, 14 Nov 2014 10:38:17 +0000 (UTC), Stan Mills wrote: > On 2014-11-14, Dmitry A. Kazakov wrote: >> On Fri, 14 Nov 2014 09:02:49 +0000 (UTC), Stan Mills wrote: >> >>> On 2014-11-14, Dmitry A. Kazakov wrote: >>>> On Thu, 13 Nov 2014 17:36:06 -0800, Hubert wrote: >>>> >>>>> That is a point that I have been contemplating for a while now but in >>>>> conjunction with Object Oriented Programming. When I look back at my >>>>> career I realize that I became lazier and lazier in terms of designing >>>>> before programming with the advent of OOP. I think OOP is designed to to >>>>> just that: >>>> >>>> Hmm, actually OOD and OOP require more upfront design than traditional >>>> procedural approach. Ad-hoch subprograms are much easier and quicker stuff >>>> than ad-hoc type + subprograms (=class) with thinking about possible >>>> inheritance etc. >>> >>> That's if you are responsible for the whole thing or care about doing it properly. >>> >>> The way OO is used today all the real work is expected to have already been >>> done by the class library writers and the "coder" just cuts and pastes his >>> way to the end of the program. Next! >> >> This is how everything is done today. Certainly it is not OO's fault or >> OO's feature. > > Oh, I beg to differ. Sun certainly dumbed down programming when they > designed Java. It's about making unqualified people "productive" and the > best way to do that is for qualified people to write as much code as > possible for unqualified people to use. The primary feature of OO in > practice is the huge set of class libraries to reduce the amount of future > coding as much as possible to simple cut and paste of existing bad code. Well, and the alternative would be? To re-implement everything each time? Actually, the maturity of an engineering discipline is measured by the level of reuse of standardised solutions and components. > The > only thing a regular programmer can't write in Java or C++ today is > something that doesn't already have a class library to do it for him. Maybe. In this context, can the regular programmer do anything better with any of competing paradigms: 1. Procedural 2. Functional 3. Relational I bet, that anybody is far better off with OO than with any from the above. >> On the contrary, OO, specifically the concepts of inheritance and >> instances, addresses software-reuse, which is exactly the opposite to the >> cut and paste approach. > > That's the theory. But in practice, having all the hard stuff written > already just promotes cutting and pasting of a different color. The code > that *uses* those classes is normally not reusable. That's what is cutting > and pasting. It's been shoved down a level or two. Maybe. But, again, what would be better? As a simple example consider Ada's design of, say, Ada.Streams. This is an OO design. The type Root_Stream_Type is as tagged as it could be. Now, take either of the paradigms #1, #2, #3 and outline a better design of streams. Could you? > Don't try and impose your sense of rigor and order on chaos and think > everybody works according to sound software engineering practice ;-) [...] But this is not an OO problem. The problem is with CS as a whole and with missing software market. You need two things for having a decent engineering discipline, that is a sound science (CS is trash) and a working economical stimulus rewarding quality products and punishing swindlers (SW market is ruined). -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de