From: zeta_no on
Sorry for being out of the discussion for so long.

Thanks to both of you for all your help and insight into the problem.
I installed Debian... but stable, not testing. GPRBuild is not
available. I'll take time to install the testing version, but not
now, as I have enough on my plate these days. Also, my competition
team wants to use OpenSuse for the devel. because of SUSE Studio which
lets you build a Just Enough OS in seconds (the target OS for the
embedded hardware). So most people on my team are working on Xubuntu
at home, we will be devel. on OpenSuse at school and I need to find a
way to make Ada/C++ working in a robust fashion to convince the C++
"believers" to accept putting some Ada in our project. So given the
pretty political/computational mess inside our team, I am pretty sure
my best bet is to always install the package from Adacore Libre, which
is by the way GNAT 2009 (answer to Stephen).

I'll learn how to use GPRBuild and install OpenSuse with the GNAT
suite, test for the GPRBuild examples an let you know how went that
new setup.

Olivier
From: zeta_no on
Ok, now running on OpenSuse 11.2. Installed GNAT2009 from Adacore
Libre. I exported /usr/gnat/bin to my $PATH var.

When I start gps from the command line, I get:

Execution terminated by unhandled exception
Exception name: STORAGE_ERROR
Message: stack overflow (or erroneous memory access)
Call stack traceback locations:
0x8fa174b

When I start gps_exe from command line, it starts fine. When I try to
build a project or compile a file, there is absolutely no ouput
messages. Also, gps_exe freezes to death.

On the command line side. I go to /usr/gnat/share/examples/gprbuild/
first_steps to test some projects. First time I try:

gprbuild -d -Pada_main.gpr

I get:

/usr/gnat/libexec/gcc/i686-pc-linux-gnu/4.3.4/ld: crt1.o: No such
file: No such file or directory

Checked on the web, then learned I needed to install glib-dev package.

Try again, now it works.
Try except.gpr from ada_cpp folder, works too.
Try animals.gpr from ada_cpp folder, does not work. Output from
compiler:

animals.ads:15:24: component of imported CPP type cannot have default
expression

Correct animals.ads on line 15 and then it compiles. Pffffuiiiffff!

Conclusion:

On windows, except the line 15 from animals.ads (I tried it)
everything works. (Sample animals.gpr is broken).
On linux, just go with Debian unstable to use GPRBuild as there is
good maintainers for the packages. Else, gnat-gps will bring more
trouble than the command line.

Note: I don't want to be unpleasant, but I have to criticized the Ada
community for not being well organized. I see a desire from the main
actors to popularize Ada among developpers. You just have to look at
the videos, conferences and news from AdaCore that convey the idea
that Ada is strong and far from dead. I think there is really place
for improvement, mostly on first contact with new developers to come.
Compared to the C/C++ community, Ada really needs fresh blood and it
is not with the kind of experience I went though on Linux that new
people will get interested by Ada. I tell you, lot of my schoolmates
would not even have passed the Ubuntu problems and get back directly
to C++ with absolutely no desire to maybe, one day, check back at Ada.
Nevertheless, I have to say that I find the integration on MS Windows
very good.

- First, one thing we can't argue. Check on Distrowatch, Ubuntu is
THE most popular distribution, by far. I know a lot of serious
programmer won't run on Ubuntu, but nevertheless, right after MS
windows, the fresh blood is on Ubuntu, nowhere else.

- Second, these days, in every engineering schools we learn C++ and or
Java. So samples and methods involving mixing Ada with C++ and Java
code should work flawlessly.

- Third, there is few, and a lot of bad tutorials around the web.
Again, my schoolmates and I ALWAYS go by tutorials first. It is
easier, it gets the job done faster, gives an overview of the tool and
helps figure out what can be done with it. (Check what the Python
community achieved)

- Finaly, I understand the community is small and maybe already makes
its best to keep Ada alive but I think it is important to give you the
feedback of a newbie, because, I am sure, most of the time, people
like me just vanish without telling you why they have been put off by
Ada. It is not Ada the problem, it's the presentation of the
technology which fails.

I hope all of this was constructive and I'll try to help others in
time, when my knowledge of Ada will be sufficient.

Thanks,

Olivier
From: Stephen Leake on
zeta_no <olivier_henley(a)hotmail.com> writes:

> So given the
> pretty political/computational mess inside our team, I am pretty sure
> my best bet is to always install the package from Adacore Libre, which
> is by the way GNAT 2009 (answer to Stephen).

That's reasonable. It is also the most modern of the compilers out
there, short of paying for AdaCore support.

--
-- Stephe
From: Stephen Leake on
zeta_no <olivier_henley(a)hotmail.com> writes:

> Ok, now running on OpenSuse 11.2. Installed GNAT2009 from Adacore
> Libre. I exported /usr/gnat/bin to my $PATH var.
>
> When I start gps from the command line, I get:
>
> Execution terminated by unhandled exception
> Exception name: STORAGE_ERROR
> Message: stack overflow (or erroneous memory access)
> Call stack traceback locations:
> 0x8fa174b

So don't use GPS; use Emacs. AdaCore is better at compilers than at GUIs
(although the GUI does keep improving).


> On windows, except the line 15 from animals.ads (I tried it)
> everything works.

Apparently AdaCore is aware that they can't rely on any extra packages
on windows, and includes more stuff than on Linux.

On the other hand, I did not have any trouble with GNAT 2009 on Debian
stable.

> Note: I don't want to be unpleasant, but I have to criticized the Ada
> community for not being well organized.

Compared to what? What other open source language community is better
organized?

> I see a desire from the main actors to popularize Ada among
> developpers. You just have to look at the videos, conferences and news
> from AdaCore that convey the idea that Ada is strong and far from
> dead. I think there is really place for improvement, mostly on first
> contact with new developers to come. Compared to the C/C++ community,
> Ada really needs fresh blood and it is not with the kind of experience
> I went though on Linux that new people will get interested by Ada.

I don't read the C newsgroups, not the C++ newsgroups. Are you saying
there is a lower percentage of newbies there having trouble with tools
not working?

The main problems I have with C is the non-standard libraries. Just
going from Debian to Red Hat can be a huge pain.

> I tell you, lot of my schoolmates would not even have passed the
> Ubuntu problems and get back directly to C++ with absolutely no desire
> to maybe, one day, check back at Ada. Nevertheless, I have to say that
> I find the integration on MS Windows very good.

"integration" with what? On MS Windows, GNAT 2009 is the only tool
around.

> - First, one thing we can't argue. Check on Distrowatch, Ubuntu is
> THE most popular distribution, by far. I know a lot of serious
> programmer won't run on Ubuntu, but nevertheless, right after MS
> windows, the fresh blood is on Ubuntu, nowhere else.

Are we trying to attract serious programmers, or some other group of
people? When I'm looking at new people for my team, I ask if they are
comfortable with Emacs. If the answer is "tried it, didn't like it",
they are not likely to make it on my team.

> - Second, these days, in every engineering schools we learn C++ and or
> Java. So samples and methods involving mixing Ada with C++ and Java
> code should work flawlessly.

That's a very high bar.

I agree examples provided with tools should work. But examples of a good
tool working "flawlessly" with a bad tool is not so desireable.

> - Third, there is few, and a lot of bad tutorials around the web.

And many, many more bad C tutorials. The web is not run by any
organization; there is no way to "clean it up".

> Check what the Python community achieved

Where, exactly? You are implying that _every_ Python tutorial on the web
is good. I'd be very surprised if that were true.

> - Finaly, I understand the community is small and maybe already makes
> its best to keep Ada alive but I think it is important to give you the
> feedback of a newbie, because, I am sure, most of the time, people
> like me just vanish without telling you why they have been put off by
> Ada. It is not Ada the problem, it's the presentation of the
> technology which fails.

Thanks for your efforts here.

--
-- Stephe
From: zeta_no on
suite...

sorry, my tab key, in the text, goes to the send button. Bad design,
or setup.... Anyway.

- Backward: In the intro, clearly specify that Ada can easily replace
C/C++. (On various post, I often find C/C++ users contemptuous with
Ada. Serve them their medicine)

iv. In the beginner section:

- Welcoming!
- Emphasis on what Ada has that others don't. Task, Real-Time etc.
Understandable explanation of the possibilities and reach.
- Recommend a particular online Ada class (I find this class/
tutorial : http://www.infres.enst.fr/~pautet/Ada95/a95list.htm very
good. Having source code that compiles well and illustrates all
lessons is very productive. It should be rewrite to use Ada2005 and
maybe a less verbose version for those who already have a programming
background)
-Then offer all the other tutorials in a separate link. This would
give the impression of cohesion in the offer of what you consider good
to learn from.
- Refers to books with proper summary and direct links. If legally it
can be done, direct links on amazon (look inside!). Up to date, good
rated books.
- Collection of other tutorials. 3D, GTK, embedded projects etc. (fun
things!)
- Nice code projects. Ex: gather the code of this project (if the
author wants to open it): http://www.youtube.com/watch?v=vkbuShAu8Ic
and make a companion document to go head first in the code, build the
project and have the reward of running it at home. AdaCollision is
available right now. Maybe something even simpler.
- Suggestion for implication in the community. Translation,
documentation, bindings etc.
- Official documentation ARM etc.

v. In the normal user section:

- More advanced tutorial and code projects examples. (GPRbuild
tutorial, MarteOS exploration tutorials, GLOBE3D tutorials, SDL
tutorials, etc.)
- Official documentation and resources.
- A priority list of bindings, port, etc.
- Things can be redundant when it comes to link to resources and other
projects. Some people might first think they are not beginners and
the other way around.

I have other ideas, but for now, I should stop writing emails and
start working on my Ada project AND a tutorial related to this work.

Stephen Leake wrote:

> Compared to what? What other open source language community is better
> organized?

Python appeared in 1991. It has bindings and projects for almost
everything. It is used everywhere on open source projects. How much
you bet Python is much more popular than Ada? How do you think they
actually achieved that? I know it is not geared toward the same use,
but the phenomenon is there, to the point that many people try to use
it on segment of computer programming where it should not belong. You
can even compile natively nowadays

> I don't read the C newsgroups, not the C++ newsgroups. Are you saying
> there is a lower percentage of newbies there having trouble with tools
> not working?

No, for sure newbies go through much more trouble with tools that do
not work in C/C++, but the situation there is different. There is
much more pressure, everywhere, for a new programmer to learn and
master C/C++ that they will hardly account for loads of shortcomings.
Once they become good, they get use to flaws and behave like dealing
with those is normal. Some even go further by propagating the idea
that fixing these issues is actually good as it defines once
competences of understanding the language and the program at hand.

Ada can't pretend to have the 'credentials' to force its newbie base
to such a level of resilience.

> Are we trying to attract serious programmers, or some other group of
> people? When I'm looking at new people for my team, I ask if they are
> comfortable with Emacs. If the answer is "tried it, didn't like it",
> they are not likely to make it on my team.

This sounds elitist. I am ok with that, but force is to admit that
many people with a lot of potential fall in the hand of the C/C++
dragged by a rip current much more strong then the Ada promises.
There is very good programmers out there that stays on MS windows all
their life and don't even know about Emacs.

> That's a very high bar.
> I agree examples provided with tools should work. But examples of a good
> tool working "flawlessly" with a bad tool is not so desireable.

Ok, "flawlessly" was strong. They should definitely work though.
Ludovic agreed too.

> And many, many more bad C tutorials. The web is not run by any
> organization; there is no way to "clean it up".

There is no way to "clean up" internet but there is ways to enforce
good directions and produce quality material that contrast even with
the best C/C++ documents and projects.

Thanks again for your time and concern.

Olivier

p.s: I switched Linux again. Debian "squeeze" is very neat and quite
orthodox in the admin policies. I love it. Thanks for the good work.
Also, I'll check how I can help on Ada Programming (wikibooks) once
you confirm that most open source activity for Ada is going on there.