From: Sébastien <seb.morand@gmail.com>
Subject: Re: How Would a Hobbyist Learn Ada?
Date: Mon, 26 May 2008 09:38:01 +0000
Date: 2008-05-26T09:38:01+00:00 [thread overview]
Message-ID: <483A84F9.4040204@gmail.com> (raw)
In-Reply-To:
Hi Ankur,
I can share with you my experience since I started learning ada a few
months ago.
First interesting think, you will get a lot of help in this forums since
all my questions were answered here.
> I was attracted to Ada because it was :
> 1. Sanely Object Oriented - It doesn't force OO like Java and C#.
Yes, that's the point, even If I find out some standard library could be
OO, I thinks, there si some advantage to choose what is an object and
what is not, even if I'm a fan of OO paradigm.
> 2. Compiled - I *want* to do manual memory management so that I can at
> least understand what automatic garbage collection means to me. I've
> been living comfortably with Python for too long.
> 3. Uniform Syntax - I find C++ syntax weird. C was okay, though.
C++ is going to tghe right way. The compiler is really permissive, it's,
it's not completly object, and you can do bad code that's not possible
to maintain several weeks later. So there is some nice stuff in C++ (I'm
working with C++ for years) but I still can't understand people that
choose C++ for big application (like KDE and other graphics stuff), Ada
could have been more suitable...
> I'm sure there are other benefits, but I really don't understand what
> they mean to me (yet).
The other benefits are mainly that Ada force you to write good code.
What does it mean? It mean you have to exaclty say what you want to be
done, so there is so few suprises in the runtime, that's amazing. I
started to create a Web application to manage contacts in a callcenter
learning ada in the same time. In less than one month, I get something
working. I still need to improve the design to get my component more
reusable, but it's just because I'm learning during developpement phase.
So I think that's a real good thing to learn Ada and to participate to
the promotion of this language that too many people think it's already dead.
> So, what would an amateur, cash deprived programmer like me do to
> learn Ada? There are web tutorials, for for the 95 standard. There's a
> Wikibook, but I've found it incomplete at several places and there are
> a lot of concepts I can't grasp. There's the reference document, but I
> can't make head or tail of it.
The first step is to learn the main aspect of the language:
- Main syntax: Control structure, all the aspects of types, difference
between new type and subtype, array, access type, limited and private type.
- Strings API: Ada.Strings.Fixed vs Ada.Strings.Unbounded. How to
convert to string or from string. How to manage Intefeger and Float numbers.
- Ada programming style: Procedure, function and package, how to manage
a project, the gpr files to get a project structured. in / in out / out
/ access parameters, the difference and the use. The nested packages,
procedures and functions.
- OO: tagged and record, overloading and polymorphism
- Error management: Exception in Ada, simple and powerfull.
- Generic: Making a generic package / procedure / function, how to use
it. Why C++ templates can definitivly go to bed.
- Tasking: How to multitask a program, tasking is a part of the language
in the difference of main language like C or Python.
Then you can start to leard a few intersting library functions: Containers.
The point is to create program for all this stuff to get familiar with
them. For instance, create a program which read an integer, print it,
calcul it. Try to see the contraint type, if your integer is too big,
how ada manage? and so on. Then do the same with string, see how to
store string, why you have to be carefull using string and why Unbounded
strings can save your implementation and so on.
At least you will have to determine you first program, is a console
program? Graphics program? Web program? Ada has library for all this stuff.
Sebastien
next prev parent reply other threads:[~2008-05-26 9:38 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-24 4:53 How Would a Hobbyist Learn Ada? Ankur Sethi
2008-05-24 7:58 ` Martin Krischik
2008-05-25 14:33 ` Ankur Sethi
2008-05-26 9:43 ` Sébastien
2008-05-24 8:10 ` mockturtle
2008-05-24 9:04 ` Ankur Sethi
2008-05-24 16:16 ` mockturtle
2008-05-24 9:39 ` Ludovic Brenta
2008-05-24 15:38 ` Ankur Sethi
2008-05-24 15:51 ` Ludovic Brenta
2008-05-24 16:13 ` Ed Falis
2008-05-24 17:10 ` Michael Feldman
2008-05-25 7:57 ` Paul
2008-05-29 23:53 ` Randy Brukardt
2008-05-26 9:14 ` Sébastien
2008-05-26 9:04 ` Thomas Locke
2008-05-26 9:21 ` Georg Bauhaus
2008-05-26 12:05 ` Thomas Locke
2008-05-26 18:59 ` Manuel Gomez
2008-05-26 9:38 ` Sébastien [this message]
2008-06-01 1:53 ` Adrian Hoe
2008-06-02 10:03 ` Sébastien
2008-06-02 12:31 ` Georg Bauhaus
2008-06-03 12:02 ` Ludovic Brenta
2008-06-03 13:31 ` Ed Falis
2008-06-03 19:48 ` Jeffrey R. Carter
2008-06-04 6:51 ` mockturtle
2008-06-04 7:56 ` Dmitry A. Kazakov
2008-06-04 9:41 ` Samuel Tardieu
2008-06-04 12:20 ` Alex R. Mosteo
2008-06-04 12:43 ` Steffen Huber
2008-06-04 18:36 ` Stefan Bellon
2008-06-04 21:39 ` Maciej Sobczak
2008-06-05 2:00 ` tmoran
2008-06-05 8:22 ` Sebastian Hanigk
2008-06-05 20:52 ` Simon Wright
2008-06-09 7:41 ` Sebastian Hanigk
2008-06-05 9:20 ` Sébastien Morand
2008-06-07 6:19 ` Jacob Sparre Andersen
2008-06-12 3:04 ` Randy Brukardt
2008-06-12 6:29 ` tmoran
2008-06-12 21:17 ` Randy Brukardt
2008-06-12 16:01 ` jdpetrey<REMOVE_TO_REPLY>
2008-06-09 16:22 ` ahab
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox