comp.lang.ada
 help / color / mirror / Atom feed
From: Paul Rubin <no.email@nospam.invalid>
Subject: Re: newbie, Spark 2014 or Ada 2012
Date: Sun, 05 Jul 2015 18:30:23 -0700
Date: 2015-07-05T18:30:23-07:00	[thread overview]
Message-ID: <87k2uenkcw.fsf@nightsong.com> (raw)
In-Reply-To: 974c8db0-c9e8-49d4-8db1-3417ec49217b@googlegroups.com

nomadlite@gmail.com writes:
> I am new to Ada.
> I am choosing my hobby programming language for system programming.  I
> am doing programming for a hobby. It is going to be Java, python, VB
> .Net or Ada/Spark.

Ada is the only one of those suitable for what I usually think of as
system programming, i.e. close to machine level.  The others are for
application programming, which is further away from the hardware and
which are able to automate more of the program's requirements
(particularly memory management).  That makes them easier to use, at the
cost of some efficiency and timing determinism.

Are you new to programming in general?  The first thing I'd want to ask
is if there are specific types of programs you'd like to write: OS
kernels, robot control, web servers, or what?

If you don't have a clear direction yet, I'd say that Ada probably isn't
the best place to start.  Python doesn't have Ada's high-reliability
features or its performance, but it's easier to learn and more
productive for slapping small, non-critical projects together.  Ada is
for when you need large scale organization and deeper control and
assurance about what the code is doing.  Those benefits are sometimes
invaluable, but they don't come for free.  Think of the difference
between hopping on your bike and riding somewhere (Python) and flying a
jetliner there, complete with mechanical preparation and preflight
checklists (Ada).

> If I learn Ada 2012 then learn Spark 2014, is it often to confused
> Spark 2014 code with Ada 2012 code when you do programming? 

No I don't think so.  Spark is basically a subset of Ada with some extra
annotations to write high-level specifications into your program, and
then some tools for making sure the program actually matches the spec.
This can get pretty complicated to use, but it's basically the gold
standard for high-assurance real time programming.  You probably want to
know some mathematical logic if you want to use Spark in a sophisticated
way.  

If you like the mathematical-logic approach to programming, you might
also like to try out Haskell.  It's much further "out there" than the
other languages you've mentioned but brings a cleaner mathematical
approach.  See:  http://haskell.org for some resources.


  reply	other threads:[~2015-07-06  1:30 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-06  0:28 newbie, Spark 2014 or Ada 2012 nomadlite
2015-07-06  1:30 ` Paul Rubin [this message]
2015-07-06  7:04   ` nomadfate
2015-07-06  7:20     ` Paul Rubin
2015-07-06  7:50     ` Jacob Sparre Andersen
2015-07-06 18:44       ` Jeffrey R. Carter
2015-07-06  9:34     ` Björn Lundin
2015-07-06 16:19       ` Paul Rubin
2015-07-06 22:37         ` Björn Lundin
2015-07-07  1:30           ` Paul Rubin
2015-07-07  9:35             ` darkestkhan
2015-07-07 17:26               ` David Botton
2015-07-07  3:46           ` Nasser M. Abbasi
2015-07-07  8:24             ` Björn Lundin
2015-07-07  8:57               ` Georg Bauhaus
2015-07-07 18:48                 ` Randy Brukardt
2015-07-07 22:56                   ` Paul Rubin
2015-07-08 19:50                     ` Randy Brukardt
2015-07-08 22:57                       ` Paul Rubin
2015-07-09 17:59                         ` Björn Lundin
2015-07-09 20:10                           ` Paul Rubin
2015-07-09 20:22                             ` Jeffrey R. Carter
2015-07-09 20:41                               ` Paul Rubin
2015-07-09 21:59                                 ` Jeffrey R. Carter
2015-07-09 22:37                                   ` Paul Rubin
2015-07-09 22:55                                     ` Jeffrey R. Carter
2015-07-09 23:25                                       ` Paul Rubin
2015-07-10 22:12                             ` Randy Brukardt
2015-07-06 19:20     ` David Botton
2015-07-06  2:16 ` David Botton
2015-07-06  6:56   ` nomadfate
2015-07-06 19:18     ` David Botton
2015-07-10 22:49 ` nomadfate
replies disabled

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