comp.lang.ada
 help / color / mirror / Atom feed
From: David Botton <david@botton.com>
Subject: Re: If not Ada, what else...
Date: Fri, 10 Jul 2015 12:10:41 -0700 (PDT)
Date: 2015-07-10T12:10:41-07:00	[thread overview]
Message-ID: <2215b44f-8a89-47c6-a4c4-52b74d2dac45@googlegroups.com> (raw)
In-Reply-To: <87mvz36fen.fsf@jester.gateway.sonic.net>

> I think Ada is somewhat rehabilitated now, partly because of Ada 2012.
> I was aware of SPARK before that, when it was a separate expensive tool
> from a specialty vendor.  Without it, Ada was just a clumsy and
> bureaucratic Pascal-like language.  I got much more interested in using
> it when it became part of the GNAT collection.

So now an expensive vendor tool is still an expensive vendor tool and SPARK is thought to be an extension of a clumsy bureaucratic Pascal like language......

Sounds like things got worse.

> There's nothing like that for D.

Nope. Nor does Ada. SPARK does.

> Are there tools like SPARK for statically verifying the D annotations?

We are talking about Ada not SPARK. If you like SPARK and it fits your needs great.

> I may be missing something here, but I don't see where Ada's type system
> is that much better than C++'s,

So in C++ you can create new incompatible types with various ranges, use them for array indexes, true enums? 

> and it's way behind Haskell's.

Different, but also something to investigate for Ada.

>  Ranged
> types are useful but you can implement them (with runtime checks) in
> other languages.

That is what you don't understand, Ada is about compile time checks and that comes with contacts. Contracts on the types, contracts on the interfaces.


>  They're interesting in Ada 2012 mostly because of the
> possibility of checking them statically with Spark.

And why mostly of little interest to me.

> Another big advantage of Ada is much more precisely defined semantics
> than C++'s.  To quote another poster, the Ada community has put colossal
> effort into certifying compilers and solidifying the standard.

Well, once upon a time Ada compilers were certified. I don't believe AdaCore does that anymore. In the end of the day they are the only vendor and so they are the standard....


>  I don't
> know how D fares in this comparison.

Actually I'd say today D and Ada are again in the same boat.

 
> There are generally ways to program without a GC, but if your
> application constraints allow you to use one, it can make your code
> simpler and more maintainable, as well as speeding development.

And if you use Ada long enough you learn to use the Stack most of the time to accomplish the same thing and you don't get sloppy which tends to happen to GC dependent programmers.

> Are you
> programming to solve puzzles or are you trying to get a task
> accomplished?  If you like puzzles, try Forth ;-).

If you know your tools you use them, Ada is an excellent tool that helps mold your code as you go in to solving problems in reusable and reliable ways. It is why I use Ada for "hacking"

I've actually written software in Forth. It had its place in the days of tight memory constraints.

> Ada with a GC would be interesting and in a different category but it
> would lose its suitability for constrained, realtime environments.  At
> that point it's competing with Java (and Java's offspring like Scala)

Ada does have a GC in some implementations as I pointed out. You are having trouble separating language from runtime environment. A GC in Ada or D is something you can choose to use.

BTW, I've never had the need but there are ways to use a GC even the current GNAT's on most platforms.

A GC doesn't change the language unless the language requires its use. Neither Ada or D does so.


> I guess in my world, any non-GC'd language is niche (it's used for
> either small embedded environments, high-assurance realtime, or
> maximizing performance like for numerics or big network servers).  For
> the general purpose middle ground, current trends are toward GC'd
> languages that support functional-programming idioms, which Ada isn't so
> hot at.

You can use D in that environment, although Ada is better at it. Repl clauses, etc. are also pluses.

> I think Ada is an attractive choice for lots of things that people
> (including me) are currently doing with C and C++, but I consider those
> to be niche languages today too (unlike 20 years ago).

No still general purpose. You need to look at the language itself to make that determination not just how it is being used currently.

C and C++ are still heavily used in general use cases, from embedded to UI and Game Dev, etc.

If anything C#, Python, Java are more niche, just their niche is where the vast majority of programs and programmers are. You would be a fool to use any of the three in anything critical (safety, time, etc.)

Even Haskell, OCAML, etc. are fairly niche. All he scripting languages are niche.

Ada, D, C, C++ are all geared for full range dev across the entire spectrum. Ada due to external issues in tool and compiler availability is the more limited currently, but almost as broad.

David Botton


  reply	other threads:[~2015-07-10 19:10 UTC|newest]

Thread overview: 168+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-20 10:39 If not Ada, what else Alex R. Mosteo
2011-04-20 10:51 ` Ludovic Brenta
2011-04-21  8:47   ` Alex R. Mosteo
2011-04-20 11:53 ` Maciej Sobczak
2011-04-21  8:46   ` Alex R. Mosteo
2011-04-23  2:08     ` Peter C. Chapin
2011-04-21 17:19 ` Robert Matthews
2011-04-21 19:02   ` Georg Bauhaus
2011-04-21 19:25   ` Florian Weimer
2011-04-22 15:50     ` Robert Matthews
2011-04-22 17:49       ` Brad Cantrell
2011-04-23  2:20         ` Peter C. Chapin
2011-04-23  9:55           ` Georg Bauhaus
2011-04-23 11:17             ` Peter C. Chapin
2011-04-22 21:39       ` Florian Weimer
2011-04-23  2:26         ` Peter C. Chapin
2011-04-23  9:52 ` björn lundin
2011-04-23 11:50 ` Piotr Trojanek
2011-04-23 12:23   ` Dmitry A. Kazakov
2011-04-23 14:30     ` Georg Bauhaus
2011-04-23 15:04       ` Dmitry A. Kazakov
2011-04-23 16:16     ` Piotr Trojanek
2011-04-28 12:55   ` C++/cmake project, injecting Ada... (was Re: If not Ada, what else...) Alex R. Mosteo
2011-04-28 16:34     ` C++/cmake project, injecting Ada Ludovic Brenta
2011-04-29  8:17       ` Alex R. Mosteo
2011-04-29 12:45         ` stefan-lucks
2015-07-02 10:44         ` Alejandro R. Mosteo
2011-05-28 17:33     ` C++/cmake project, injecting Ada... (was Re: If not Ada, what else...) Dirk Heinrichs
2015-07-03 19:21 ` If not Ada, what else luvhed
2015-07-03 20:50   ` Paul Rubin
2015-07-04  8:19 ` Rod Kay
2015-07-08 18:11 ` jm.tarrasa
2015-07-08 20:33   ` Anh Vo
2015-07-09  6:36     ` jm.tarrasa
2015-07-08 22:15   ` David Botton
2015-07-09  7:28     ` jm.tarrasa
2015-07-09  9:54       ` G.B.
2015-07-09 12:57       ` Dennis Lee Bieber
2015-07-09 18:25       ` David Botton
2015-07-09 21:15         ` Bob Duff
2015-07-09 22:23           ` David Botton
2015-07-09 22:39             ` Paul Rubin
2015-07-10  0:20               ` David Botton
2015-07-10  4:26                 ` Paul Rubin
2015-07-10 15:01                   ` David Botton
2015-07-10 16:07                     ` David Botton
2015-07-10 17:39                       ` Bob Duff
2015-07-10 18:22                     ` Paul Rubin
2015-07-10 19:10                       ` David Botton [this message]
2015-07-10 19:43                         ` Patrick Noffke
2015-07-11 10:46                           ` Brian Drummond
2015-07-11 10:59                             ` Björn Lundin
2015-07-11 13:41                               ` Georg Bauhaus
2015-07-11 14:11                                 ` Björn Lundin
2015-07-13 14:02                             ` Patrick Noffke
2015-07-13 14:16                               ` David Botton
2015-07-13 14:54                                 ` Maciej Sobczak
2015-07-16 20:19                                 ` Serge Robyns
2015-07-17  1:50                                   ` David Botton
2015-07-17 17:07                                     ` Anh Vo
2015-07-17 21:28                                       ` Serge Robyns
2015-07-17 22:53                                         ` Anh Vo
2015-07-19 14:31                                       ` David Botton
2015-07-19 16:20                                         ` Paul Rubin
2015-07-19 20:55                                           ` Jeffrey R. Carter
2015-07-19 21:15                                             ` Paul Rubin
2015-07-20 16:08                                               ` Tero Koskinen
2015-07-20 17:31                                                 ` Paul Rubin
2015-07-21  1:16                                                   ` Dennis Lee Bieber
2015-07-21  3:09                                                     ` Shark8
2015-07-21 12:46                                                       ` Dennis Lee Bieber
2015-07-21  5:43                                                   ` J-P. Rosen
2015-07-21 12:47                                                     ` Dennis Lee Bieber
2015-07-21 12:55                                                       ` J-P. Rosen
2015-07-19 22:38                                           ` David Botton
2015-07-21  6:30                                     ` Gour
2015-07-21 16:24                                       ` David Botton
2015-07-21 17:29                                         ` Niklas Holsti
2015-07-21 18:51                                           ` Simon Wright
2015-07-21 19:36                                             ` David Botton
2015-07-22  8:44                                               ` Pascal Obry
2015-07-22 12:00                                               ` Jean François Martinez
2015-07-27 22:59                                                 ` Randy Brukardt
2015-07-28  7:00                                                   ` Georg Bauhaus
2015-07-28  7:22                                                     ` Paul Rubin
2015-07-28 10:36                                                       ` darkestkhan
2015-07-28 10:58                                                       ` G.B.
2015-07-28 20:33                                                       ` Randy Brukardt
2015-07-28 10:40                                                   ` darkestkhan
2015-07-29  7:30                                                     ` Jacob Sparre Andersen
2015-07-29  8:55                                                       ` Simon Wright
2015-07-29 12:38                                                   ` EGarrulo
2015-07-29 13:06                                                     ` EGarrulo
2015-07-29 15:41                                                     ` Paul Rubin
2015-07-29 17:01                                                       ` Björn Lundin
2015-07-29 18:27                                                         ` Paul Rubin
2015-07-29 18:52                                                           ` Björn Lundin
2015-07-29 22:18                                                             ` Paul Rubin
2015-07-30  6:23                                                               ` Dmitry A. Kazakov
2015-07-30 16:48                                                                 ` David Botton
2015-07-30 18:10                                                               ` Randy Brukardt
2015-07-29 19:18                                                           ` Georg Bauhaus
2015-07-29 19:42                                                             ` Randy Brukardt
2015-07-30  4:54                                                               ` Paul Rubin
2015-07-30  6:15                                                                 ` Niklas Holsti
2015-07-30  6:34                                                                 ` Dmitry A. Kazakov
2015-07-30  6:47                                                                   ` Paul Rubin
2015-07-30  7:20                                                                     ` Dmitry A. Kazakov
2015-07-30 23:13                                                                       ` Paul Rubin
2015-07-29 17:07                                                       ` Stefan.Lucks
2015-07-29 17:47                                                         ` Paul Rubin
2015-08-21 23:03                                                           ` Waldek Hebisch
2015-08-22  3:24                                                             ` Paul Rubin
2015-08-23 16:26                                                               ` Waldek Hebisch
2015-08-23 17:18                                                                 ` Jeffrey R. Carter
2015-08-23 17:31                                                                   ` Waldek Hebisch
2015-08-23 19:32                                                                     ` Jeffrey R. Carter
2015-08-23 23:01                                                               ` Waldek Hebisch
2015-07-29 19:32                                                       ` Georg Bauhaus
2015-07-30  5:17                                                         ` Paul Rubin
2015-07-30  7:38                                                           ` Georg Bauhaus
2015-07-30 18:26                                                             ` Paul Rubin
2015-07-30 18:37                                                               ` Paul Rubin
2015-07-31  7:14                                                                 ` Georg Bauhaus
2015-07-30 10:59                                                     ` darkestkhan
2015-08-19 22:19                                                 ` rriehle
2015-08-19 22:58                                                   ` Anh Vo
2015-08-19 23:32                                                     ` rriehle
2015-08-20  1:08                                                       ` Peter Chapin
2015-08-21 15:14                                                       ` Anh Vo
2015-08-21 16:07                                                         ` Anh Vo
2015-08-21 17:17                                                           ` Patrick Noffke
2015-07-21 19:51                                             ` Dmitry A. Kazakov
2015-07-21 21:06                                               ` Simon Wright
2015-07-21 21:51                                                 ` Dmitry A. Kazakov
2015-07-21 22:55                                                   ` Jeffrey R. Carter
2015-07-22  7:26                                                     ` Dmitry A. Kazakov
2015-07-22  9:05                                                       ` Mart van de Wege
2015-07-22 10:27                                                         ` Dmitry A. Kazakov
2015-07-22  7:01                                                   ` Simon Wright
2015-07-22  7:35                                                     ` Dmitry A. Kazakov
2015-07-27 23:02                                                       ` Randy Brukardt
2015-07-27 22:44                                                 ` Randy Brukardt
2015-07-28  7:30                                                   ` Simon Wright
2015-07-28 20:39                                                     ` Randy Brukardt
2015-07-29  7:12                                                       ` Simon Wright
2015-07-29 11:11                                                         ` vincent.diemunsch
2015-07-29 19:31                                                         ` Randy Brukardt
2015-07-22 12:53                                               ` Vincent
2015-07-22 13:59                                                 ` Dmitry A. Kazakov
2015-07-21 20:05                                             ` J-P. Rosen
2015-07-21 21:02                                               ` Simon Wright
2015-07-21 23:40                                               ` Shark8
2015-07-22 12:58                                               ` vincent.diemunsch
2015-07-22 13:40                                                 ` J-P. Rosen
2015-07-22 14:29                                                   ` Vincent
2015-07-21 19:30                                           ` David Botton
     [not found]                                     ` <30336c64-ceaa-4887-adee-18cc58aef012@googlegroups.com>
2015-08-21  5:21                                       ` Shark8
2015-08-21 17:39                                       ` David Botton
2015-07-11  2:31                         ` Paul Rubin
2015-07-11  6:00                           ` J-P. Rosen
2015-07-11  7:51                           ` Georg Bauhaus
2015-07-11  8:47                             ` Dmitry A. Kazakov
2015-07-21  1:34                           ` Luke A. Guest
2015-07-27  9:09                       ` Assertions in SPARK (Was: If not Ada, what else...) Jacob Sparre Andersen
2015-07-27 10:56                         ` G.B.
2015-07-27 21:59                           ` Peter Chapin
2015-07-11 11:10                   ` If not Ada, what else Pascal Obry
replies disabled

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