From: "Alex R. Mosteo" <alejandro@mosteo.invalid>
Subject: C++/cmake project, injecting Ada... (was Re: If not Ada, what else...)
Date: Thu, 28 Apr 2011 14:55:39 +0200
Date: 2011-04-28T14:55:39+02:00 [thread overview]
Message-ID: <ipbo47$ctd$1@dont-email.me> (raw)
In-Reply-To: 8ee03ab1-6745-4aa4-82ee-be1eccc9afc9@p3g2000vbv.googlegroups.com
As I was writing this reply, I realized that focusing in a particular case
at hand may provide better food for though and more precise solutions. So I
have renamed the thread accordingly. Now, the scenario is like this:
A fairly conventional open source project for doing some high-level
simulations. C++ based, using cmake for building. Developers using an
assortment of linux OSses: Ubuntu 10.04, 10.10, Fedora (last 2 or 3
versions). Eventually, MacOSX could enter the fray. Remember, this is
loosely cooperative research, nobody mandates the devel platform to a
particularly tight version.
The project uses several libraries: boost, YARP, opencv, etc, which are
located by cmake. Somehow all this compiles in such varied environments.
Now, let's suppose the contributions are fairly self-contained (e.g.,
providing a particular class instance for an abstract base class). I know
how to interface Ada and C/C++, don't mind to write glue code as needed,
etc.
The challenge: throwing Ada into this mix without disrupting everyone's
workflow to an unreasonable level. The obstacles that I see, and for which
your ideas are most welcome:
1) Compiler. Debian/Ubuntu could be easy (Debian in particular): the Ada
compiler is packaged and uses the system gcc. No idea about Fedora. The
AdaCore GPL package brings in its own gcc/g++ versions, which have to be
used to compile the C/C++ parts. Thus, it forces people to throw the stock
system compiler in favor of the one I need. Not nice in my book. No
workaround that I can see. Perhaps the .cgpr file offers a way? My early
conclusion: use stock Ada compilers, doable with Debian, no-go in Mac?
2) Build framework: I read somewhere that gprbuild should be used instead.
Obviously, I don't like being the newcomer and having to propose that cmake
has to go in favor of an unknown tool. Also, not sure of how gprbuild would
deal with C/c++ libraries that can be packaged differently depending on OS
versions. Alternatively, I confess not having any idea how a few Ada sources
could be integrated with cmake. Would very much like to know if this is
doable. I read quite some time ago about difficulties (that were solved
IIRC) faced by the PlPlot project with their Ada binding; I failed when I
tried to replicate that, mostly because my very limited knowledge of cmake.
Anyone here has done it?
3) Ada compiler bugs: given my personal experience, better to stick to
"conservative" Ada coding. No synchronized interfaces or other fancy
novelties. A minor sacrifice.
4) ???
Basically, I'd like to blend in some Ada as painlessly as possible, if
possible at all...
Piotr Trojanek wrote:
> On Apr 20, 12:39 pm, "Alex R. Mosteo" <alejan...@mosteo.invalid>
> wrote:
>> Hello,
>>
>> I'm a big supporter of Ada, but I'm the only person that I know that uses
>> it in my work environment (mobile robotics research). Everyone is using
>> either C, C++, python or java.
>>
>> I ceased looking into other languages because I am so comfortable with
>> Ada. I fear I may have missed some interesting boat.
>>
>> Do you know of other languages worth to look at (i.e. that will make an
>> Ada programmer somewhat happy), that are at least as "popular" as Ada,
>> besides these ones mentioned above?
>
> Alex, I am in a kind of similar position - in my robotics team all the
> people
> are using C++. I have simply decided not to bother and do my work with
> Ada.
< This was written before the scenario above: >
I do that when it's my own code, that most likely nobody will touch. But it
feels rude to impose an unknown (for the rest) language on a group of people
which are not my subordinates (some might say that I would be doing them a
favor ;-)). It's also a hard decision if you'd like to attract contributors
in an open source project (which is the case for the one that I'm just
starting).
I guess a good chance is to keep using Ada in "boundary" things that may
make people exposed to Ada without having to "fight" it head-on. The
interested ones can go further.
>
> There are a lot of programming languages around and people use ALL of
> them
> to program their robots. Please take a look at the list of languages,
> which
> you can use for Lego NXT programming (Ada is also there!):
> http://en.wikipedia.org/wiki/Lego_Mindstorms_NXT#Programming
>
> The question is what is your focus in a robotics research? If it is a
> RT control,
> than I see no point in not using Ada. If you are interested in AI,
> then Lisp is
> probably the way to go. It has been shown, that virtually any language
> can be
> used for a robotic research. I think you should simply pick a one,
> which allows
> you to focus on what is your primary goal.
I'm actually into planning/task allocation (although I have to use robot
hardware, but using non-RT libraries like player, ROS or YARP). Also lots of
networking. So in my case Ada is a better choice than Lisp, I think.
Alex.
>
> --
> Piotr
next prev parent reply other threads:[~2011-04-28 12:55 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 ` Alex R. Mosteo [this message]
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
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