comp.lang.ada
 help / color / mirror / Atom feed
From: eachus@spectre.mitre.org (Robert I. Eachus)
Subject: Levels of abstraction (was Re: What's the best language to learn?)
Date: 1996/08/27
Date: 1996-08-27T00:00:00+00:00	[thread overview]
Message-ID: <EACHUS.96Aug27143100@spectre.mitre.org> (raw)
In-Reply-To: AF_cdvr0BL@belous.munic.msk.su


In article <AF_cdvr0BL@belous.munic.msk.su> "Arkady V.Belousov" <ark@belous.munic.msk.su> writes:

  > ...This code something more complicated, but they also "even
  > portable" and MUCH!!!! more efficient...

  > P.S. Not much, but my (not showed there) trim function is more
  > efficiency, because they manipulate on instance of String class,
  > which know they length.

  In Ada 95, there is not one Trim for strings, there are 11 (or 22 if
you count the corresponding packages for Wide_Strings).  I won't list
them all here, but basically there are four different profiles on
three (or six) different string representations.  Of course, in any
Ada implementation the bodies of those subprograms are going to be
written in Ada.

    I'm bringing this up, not as an argument that Ada is better, but
to show that there are different levels of abstraction, and trying to
decide that one language is better than another based on level of
abstraction is totally missing the point.  Programmers need to operate
at the level of abstraction which is appropriate for the problem at
hand.  As long as a software engineer has a set of tools in his
toolbox that can work at all necessary levels, the tool from his
personal toolbox that he chooses may not be the best tool for the job,
but it will be a good tool for that job, and one he or she is
comfortable with.

    Now I could argue that for down and dirty programming assembler is
best, at a slightly higher level you should switch to C, and above
that use an OO language.  Or I could just work in Ada at all levels
and gain the advantages of a seamless development environment.  (Which
I will choose depends on the project.  On small projects at a single
level of abstraction, and where the code will not be maintained for a
long period, the answer will often be some language other than Ada.)
                    
     To get back to the original question that prompted this thread,
one reason that Ada is a very good first programming language is that
it is one in which you can operate at all levels of abstraction.  (and
first year student should NOT be exposed to too many of them!)

--

					Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...




      reply	other threads:[~1996-08-27  0:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <ACFVZuraG3@belous.munic.msk.su>
1996-08-27  0:00 ` What's the best language to learn? [was Re: Should I learn C Arkady V.Belousov
1996-08-27  0:00   ` Robert I. Eachus [this message]
replies disabled

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