Slashdot Mirror


ACT Release GTK Based Development Environment

aidan skinner writes: "ACT have a new GTK based IDE out for Ada, C and C++, called GPS. There's a Press Release, Quick Tour(pdf) and Detailed Tour. It's also apparently editor neutral, so I don't have to give up my beloved emacs... Sweet!"

33 comments

  1. IDEs and Editor plugins by glenstar · · Score: 3, Interesting

    I wish more IDEs allowed for plugin editors. When I am forced to use MSDev, I use the Vim plugin, but it doesn't seem to support all of the *good* features of MSDev.

    1. Re:IDEs and Editor plugins by edyu · · Score: 1

      I wholeheartedly agree. That would be exactly what I would want.

  2. Shittiest web site ever? by dimator · · Score: 0, Offtopic

    Yes.

    --
    python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
    1. Re:Shittiest web site ever? by Anonymous Coward · · Score: 0

      #include #include #include #include int main(void){ Page *p; p = visitorDestination(you); cout destinationPage){ case (Page::Hacks): displayHacksPage(); break; case (Page::QTMozilla): displayQTMozillaPage(); break; case (Page::Resume): displayResumePage(); break; //TODO: Add some damn other pages here. default: busyLoop(); break; } //Contact address: cout "dimator@linux.ucla.edu" endl; unsigned long hc = getHitCount(Page::Homepage); cout "Hit Count: " hc endl; //Should be 3100 storeHitCount(Page::Homepage, ++hc); return 0; } /* *vim: set syntax=cpp: *everyone: set vim_kicks_a_lot_of_ass=true: */

  3. GPL mandated download? by Anonymous Coward · · Score: 0

    Anyone find out where they are redistributing the source code?

    1. Re:GPL mandated download? by chennes · · Score: 1

      GTK is LGPLed - they are not required to release the source. Nor will they, I imagine, as it looks like someone spent a lot of money on this thing, and doens't really want us to have it for free (as in beer).

    2. Re:GPL mandated download? by Anonymous Coward · · Score: 2, Informative

      Well if you look at the other products from GNAT you will see that they are publically available. Their Ada95 compiler GNAT is also released publickly and is now being integrated with gcc 3.1! Also check out the debugger frontend GVD which you can find here: http://libre.act-europe.fr/gvd/
      It is very good and much faster than DDD.

      So we will see in Q4 if it will be released to the public or not.

      Preben
      --
      For me, Ada95 puts back the joy in programming.

  4. Re:It still exists? by PaddyM · · Score: 5, Informative

    Ada is actually a pretty darn clean language compared to C++ and Ada95 added a lot of object-oriented (gotta have those buzzwords to survive) features without really making the code uglier.

    Then again, it's pretty hard to be uglier than C++.

    Plus it has support for tasks (think threads) which have been in the spec since '83. Ahem, as long as the *cough* compiler *cough* works.

    Ada uses (a = b) instead of (a==b) (worst idea ever). Assignment is ":=". It has "and then" and "or else" for explicit short circuiting.
    It uses "begin" and "end" instead of "{" and "}", but the "end" supports an optional additional argument which must be the name of the function or loop (you can label loops). You can call a function like this:
    blah(a=>1, b=>2, c=>3) where a, b, and c are presumably the names of the arguments in the function's spec. They can be in a different order. But this way, the compiler will check if you have any arguments missing.

    It's strongly typed, so it's very helpful at finding bugs at compile time. And Ada has a powerful package system to support data encapsulation. And I love the way Ada's syntax works for generics (templates).

    Probably it's bane is the fact that it is case-insensitive. Which is really a shame, but that's probably the reason why it will die.

  5. Re:It still exists? by Anonymous Coward · · Score: 0

    Except I thought the designers of C determined that assignment is used more often in the average program than comparison?

    As for begin and end, thanks for making me type 6 more characters for every block. That makes my fingers happy in 80-hour weeks.

    Amazingly enough, C and C++ will check if your function arguments are missing as well!

  6. For a good IDE by JanneM · · Score: 2

    Look no further than Anjuta ( http://anjuta.sourceforge.net ). It integrates the build system, gdb, glade and Scintilla into one neat and consistent package.

    /Janne

    --
    Trust the Computer. The Computer is your friend.
    1. Re:For a good IDE by woggo · · Score: 1

      Does anjuta allow you to use it with emacs?

    2. Re:For a good IDE by BluedemonX · · Score: 3, Informative

      Problem is, it doesn't work. Try installing it on a Mandrake system, then building even the simplest project. It barfs all over the place.

      I tried asking the developers for assistance as to why nothing would freakin' build. Or any clue as to how to use Glade with it - and received NO REPLY.

      Any websites out there as to how to get Anjuta to actually WORK?

      --

      --- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
    3. Re:For a good IDE by Biswa · · Score: 1
      Problem is, it doesn't work. Try installing it on a Mandrake system, then building even the simplest project. It barfs all over the place.
      I tried asking the developers for assistance as to why nothing would freakin' build. Or any clue as to how to use Glade with it - and received NO REPLY.
      Any websites out there as to how to get Anjuta to actually WORK?

      Care to elaborate on your problem ? I assure you that we try to answer as many user queries as possible. Please join Anjuta-List and post your problem there. There is also a bug tracking mechanism available which is regularly monitored - you might file a bug there with full details.

      You might also consider downloading the nightly CVS tarball available from the website and building it - to see if your problems have been addressed there. If you have the necessary libraries, it should be as simple as './configure && make && make install'.

    4. Re:For a good IDE by BluedemonX · · Score: 2

      RE: Care to elaborate on your problem ? I assure you that we try to answer as many user queries as possible.

      Maybe I was talking to the wrong guy. I sent my emails to the guy who is listed as the prime developer, who said that gnomemm support was done by someone else, maybe it would be fixed in 1.9, maybe it's a Mandrake issue, etc. etc. etc.

      The documentation assumes everything works right. Someone really should take the trouble to write up what's going on under the hood for debugging purposes. I'd do it, but I'm not conversant enough with the way Anjuta sets up its build.

      RE: Please join Anjuta-List and post your problem there.

      I'm not interested in joining a list and sifting through 300 mails a day just to get an answer to one question. Here's the downside to Open Source.

      RE: There is also a bug tracking mechanism available which is regularly monitored - you might file a bug there with full details.

      Real simple. Install Anjuta 1.9 on a Mandrake 8.1 machine. Run the wizard to generate anything but a simple console program. Compile. See tons of errors. Write the developers. Get no response. Realise based on one feedback that a version went out without any kind of error checking (hence fix in 1.9)

      Eventually, have conversation on Slashdot about it not working, and be invited to submit a bug report to a list.

      RE: You might also consider downloading the nightly CVS tarball available from the website [sf.net] and building it - to see if your problems have been addressed there.

      Why not just try what I suggest and see why it doesn't work? Simple, really.

      --

      --- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
    5. Re:For a good IDE by BluedemonX · · Score: 2

      From my exchange with Naba Kumar:

      > If I try generating any other type of project

      >

      > It keeps complaining there is no configure.in

      > Autogen doesn't work either.

      >

      > What gives?

      You are using anjuta-0.1.6, That's a very bad bug in that release. Get
      anjuta-0.1.7 which will work properly.

      So I wrote him back after trying that. Even with 0.1.9

      > I'm running Mandrake 8, and I can now generate projects. I cannot build

      > them,

      > because it keeps looking I assume for header files it can't find. I've

      > installed

      > glademm, gtkmm, gnomemm and the like...

      >

      > I assume that the makefile doesn't add the gnomemm, etc. bits into the

      > configuration file

      > it does gnome-config --cflags but doesn't add gnomemm etc. after it.

      >

      > Is there some issue with the way my configuration is set up?

      Well, it seems that the c++ buld files for gnomemm and gtkmm is not
      being generated properly. I have not done anything in gnomemm and gtkmm,
      so, I am helpless here. The gnomemm and gtkmm support was added by
      Johannes Schmid . I hope he is around to help us
      resolve this.

      Herr Schmid never answered. And three releases later, even the most basic project won't build.
      I give up.

      --

      --- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
  7. NULL pointers in C++ by Anonymous Coward · · Score: 0, Offtopic

    I have read that one good thing about Java is that it does not rely on pointers for memory management. Is that true?

    Also, I recently have begun a C++ class and on the subject of pointers, the textbook says this:

    Never dereference the "NULL" pointer.

    Well, after reading that, I decided that -- being a total programming geek after all :) -- the VERY FIRST THING I wanted to try to do was to "dereference" this NULL pointer.

    Unfortunately, the textbook did not go into detail about how this could be accomplished -- no surprise there.

    So can someone tell me what the probably outcomes of dereferncing &NULL would be? Is it really as dangerous as the book's author suggests?

    (It occurred to me that it might have a similar effect to something that I read about a while, back -- "Tao of Windows Buffer Overflow" -- this article. )

    So does anyone here know how to "dereference the NULL pointer"?

    I would appreciate some detailed sample code.

    1. Re:NULL pointers in C++ by d-rock · · Score: 3, Informative

      You shouldn't dereference NULL because the kernel owns that memory and you'll get a segmentation fault (memory protection error):

      int main(int argc, char *argv[])
      {
      unsigned char *pointer;

      pointer = 0;

      *pointer = 1; // This will crash here with a SEGFAULT

      return 0;
      }

      --
      Don't Panic...
    2. Re:NULL pointers in C++ by Anonymous Coward · · Score: 1, Informative

      It's not really true that Java doesn't have pointers. In fact EVERY object in Java is accessed via a pointer. It just tries to hide them via simpler syntax.

      // The following will throw a NullPointerException because m is null.
      MyClass m;
      m.doSomething();

      // The following will work
      MyClass m = new MyClass();
      m.doSomething();

      So, m is really a pointer, but the dereference syntax is the period rather than the '->'.

      The other thing, of course, is garbage collection. I don't ever have to call 'delete m;' as I would in C++. Doing 'm = null;' is often useful to help keep the memory footprint down. It makes the memory used by m eligible for garbage collection (assuming noone else has a copy of the pointer).

    3. Re:NULL pointers in C++ by j_kenpo · · Score: 2, Informative

      Well, although the warning seems right along the lines of "Don't touch the positive and negative leads a car battery", the results are somewhat less cool. You just get a a run time error (depends on your platform as to what you get, a Segmentation Fault from *nix, a GPF from windows, ect) that crashes a program, no fireworks, no fires, not even a puff of smoke. As far as how you do this //everything that would be before, such as main, skipped for brevity int *a; a = NULL; *a = 5; //The star denotes a dereference, this will crash right here.. Along the same lines, youd encounter a dereference situation more common in something like this... int *a = new int [5]; //dynamic array of ints.. //some code to work with array here ... delete [] a; //OK were done with out dynamic array, clear it a = NULL; //assigned to NULL for ease //some more code so you forget that you cleared a and assigned it NULL for housekeeping purposes *a = 4; //whoops..... things like that happen more often than youd think, the warning was there so it sticks out in your mind so you can remember little things like that, a very basic mistake, just be weary of it. Its also common in function calls that use pointers as paramters.

  8. Re:It still exists? by Kindaian · · Score: 1

    You forget perl! LOL

  9. Re: It still exists? by Black+Parrot · · Score: 5, Informative


    > Ada, eh? I sincerly thought that this language was dead, along with Lisp, Fortran
    and Cobol, the other dead dinosaurs-era "programming" languages.


    I suppose you're trolling, but in case you aren't...

    The current Ada standard is Ada 95, 7 years old. A standard for Ada 0x is under development right now.

    There's a surprising lot of stuff going on in the Ada world right now. An Ada compiler will be integrated with GCC starting with version 3.1 (as an optional component, actually, as with Fortran). Also, the new GNU Visual Debugger is written in Ada; it supports languages on a plug-in basis, with plugins currently available for C, C++, and (of course) Ada.

    Part of what's driving things like GPS and GVD is the maturation of GtkAda, a "thick" Ada binding of GTK+. This is a very polished free {beer,speech} product: it comes with 475 pages of PostScript documentation. (The bindings are also fully OO.)

    I won't bother commenting on the pros and cons of Ada as a language, since everyone knows "My language is best!" -- regardless of who the speaker is.

    --
    Sheesh, evil *and* a jerk. -- Jade
  10. Re:It still exists? by allanj · · Score: 2, Insightful

    Actually, it sounds like Ada has a mixture of Pascal syntax, Visual Basic (ugh!) parameter passing possibilities, easy threading as in Java, generic features as C++ and object-oriented features like - well - lots of languages. In fact, from your description it sounds a LOT like Borland Delphi on steroids :-)


    Maybe I'm just pulling this out of my a**, but wasn't Ada also designed to make it less difficult to PROVE the correctness of programs? This would be the reason why the US DOD uses Ada a lot in mission-critical systems, and sometimes mandates the use of Ada.


    I think the reason for it's lack of popularity is based on a historical lack of platform bindings, and - as you correctly state - bad compilers. Ada *IS* a clean and useful language, but when you can't *DO* much with it, it stops being a viable option.

    --
    Black holes are where God divided by zero
  11. Eclipse looks better by Anonymous Coward · · Score: 0

    Without the embarrassing emphasis on ADA.

    1. Re:Eclipse looks better by Anonymous Coward · · Score: 2, Insightful

      Your comment about Ada shows only how sadly ignorant you are.

    2. Re:Eclipse looks better by Anonymous Coward · · Score: 0

      maybe, but eclipse is written is java,
      and java sux a lot.

    3. Re:Eclipse looks better by Wandering+Instructor · · Score: 2, Insightful

      I am curious what you think Ada is? Possibilities include the American Dental Association, Americans with Disabilities Act, and Armadillos for Driver Awareness. In fact, Ada is a programming language named after Augusta Ada Byron, Countess of Lovelace. Ada was an assistant to Babbage in the creation of his Difference Engine. Her specialty was mathematics. Her work on the Difference Engine has earned her the honor of being recognized as the world's first computer programmer. I wonder if you would be upset if you saw a product was written in C++ or Java. I suspect not since Eclipse was written in Java. Does a language named after a woman scare you?

  12. Re:It still exists? by Anonymous Coward · · Score: 1, Insightful

    What do you really do in this 80-hour week? If you only type code then don't be surprised if your week reduces to 40 hours when switching from C to Ada. And also your programs will most likely be much less error-prone. You will save several hours of debugging time. I have almost not used a debugger after starting to use Ada95 in stead of C/C++.

    Other than that if you don't use a editor that is capable of macros, then you should look for a new.

  13. I argue rings around (all of) you logically by Latent+Heat · · Score: 1
    Et, Jean-Paul, est-il libre? Ooohhh, he has been trying to figure that out for the last forty years!

    Pay no attention to those other responses after I tell you this.

    class foo
    {
    private:
    double a;
    public:
    void Set_a(double a) {if (this != NULL) this->a = a;}
    double Get_a() {if (this != NULL) return a; else return 0;}
    }

    declare

    foo* my_foo = NULL;

    and operate with

    my_foo->Set_a() and my_foo_Get_a() to your heart's content. Sorry, this does not work with virtual methods, but otherwise, you Objective C guys with your default behavior on NULL objects, eat your hearts out.

  14. Don't dereference the NULL pointer by adamx12 · · Score: 1

    "There's something very important I forgot to tell you."
    "What?"
    "Don't cross the streams."
    "Why?"
    "It would be bad."
    "I'm fuzzy on the whole good-bad thing. Whattya mean 'bad?'"
    "Try to imagine all life as you know it stopping instantaneously and every molecule in your body exploding at the speed of light."
    "Total protonic reversal...."
    "Right, that's bad...OK.. important safety tip. Thanks, Egon. "

    ./adam12