Domain: gnuada.org
Stories and comments across the archive that link to gnuada.org.
Comments · 18
-
Should've used Ada
Need reliable software? Use GNU Ada.
-
Re:ADA
The reason we do this is largely because Ada compilers tend to be expensive, buggy or huge
Wrong, wrong, and wrong.
GNAT, the GNU Ada compiler, is Free (as in speech and beer), commercially supported, and has been integrated into mainstream GCC development. Get it. Use it. Love it.
Users of debian can simply "apt-get install gnat" (and also think about getting gnat-gps gnat-doc ada-mode and ada-reference). Other distros probably have similar packages, Others can check GNUAda.org, which has packages for Linux, NetBSD, DOS, and OS/2.
I studied CS at NYU and took a programming languages class with Robert Dewar (main author of GNAT and president of AdaCore, the company behind GNAT, among other things (SPITBOL, anyone?)). One of the best classes I've taken at college. -
Re:ADA
The reason we do this is largely because Ada compilers tend to be expensive, buggy or huge
Wrong, wrong, and wrong.
GNAT, the GNU Ada compiler, is Free (as in speech and beer), commercially supported, and has been integrated into mainstream GCC development. Get it. Use it. Love it.
Users of debian can simply "apt-get install gnat" (and also think about getting gnat-gps gnat-doc ada-mode and ada-reference). Other distros probably have similar packages, Others can check GNUAda.org, which has packages for Linux, NetBSD, DOS, and OS/2.
I studied CS at NYU and took a programming languages class with Robert Dewar (main author of GNAT and president of AdaCore, the company behind GNAT, among other things (SPITBOL, anyone?)). One of the best classes I've taken at college. -
Re:OSS alternatives to code checking toolsMaybe you ought to think outside the box. Maybe the question you should ask is "Am I using the best language for the job?"
Perhaps you should consider using languages such as Ada or Eiffel which do not allow the errors which occur under C.
GNU Gnat and GNU SmallEiffel are two starting points for investigating safer, more robust OSS languages.
-
for Ada: Ada Power
-
checker-gcc or a better languageThere is an older version of gcc, "checker-gcc" (based on gcc 2.8) which is the most powerful memory checker available under Free Software.
Without a doubt, the most industrial strength language avaiable for Free Sofware use is GNU Ada. Ada won't let you f*ck up. It is truly an awesome language. Check out the GNU Visual Debugger - gvd- for an example of one of the coolest examples of what Free Software Ada technology can do.
Good places to start:
There is a wealth of Ada lerning resources on the web, perhaps more on line instruction than any other progrmming language. Ada is at or above the same level of abstraction as C++. C++ programmers should not have too much trouble learning Ada. One other nice aspect of Ada is that since it was the first ISO standard OOP language, and since the way it interacts with other programming languages is codified as part of that standard, it is very easy to use Ada for the "mission critical parts of a software project. There is no need to re-write a whole project to start taking advantage of Ada; it can be done piece by piece.
-
AdaAda has all these qualifications except multiple inheritance, but considering Ada's powerful generic facility, you probably won't need it. Ada is perhaps the best available language for software engineering. It is fast, high level, yet easily allows low-level bit-twiddling if need be. GNU GNAT is the without a doubt the highest quality compiler in the GNU family of compilers. It is ISO certified, and must pass over 6500 regression tests before it is shipped. Several studies have shown that projects written in Ada lead the pack in fewest defects per 1000 lines of code, besting all comers.
Here are some Ada links:
-
Re:The wrong starting point?
> The biggest problem at the moment is that none of these "safer" languages has yet developed the same raw expressive power of C++.
Take a look at Ada. Extremely safe, extremely powerful, extremely unpopular. Go figure.
It's object-oriented, it supports generic classes ("packages", in Ada terminology), it has built-in support for multitasking and distributed programming, it lets you (optionally) specify even such details as numeric representations for the ultimate in portability, and it has a set of first-class and well-documented bindings for GTK+.
There's a free compiler called GNAT, which is built on gcc and will actually be rolled in to gcc 3.1 or thereabouts. There's also a Linux-specific site for gathering and distributing component packages.
And pace ESR, it wasn't designed by a committee. -
Re:next version will do the kernelRead the damn INSTALL file of gcc.
You misinterpret.
1) I've done this dead project. If you knew what it took to get that, with a native *solaris* GNAT compiler as the starting point, you'd know that I've read the INSTALL file.
2) I was only making the point that it should be possible to bootstrap gcc with icc, not that the final product would be any faster.
3) If you are a speed freak, you should be able to kludge up a true icc-compiled gcc from the stage1 bits that the build process (normally) leaves lying around. I've done similar for '1)'.
-
Re:Ada95, Bero.
The versions of GNAT that are shipped with Red Hat 7.0 don't work with Red Hat's GCC snapshot[*]. And since you can't recompile GNAT from sources without having a version of GNAT installed to bootstrap itself, that means GNAT is fundamentally and profoundly broken.
GNAT 3.12p is based on gcc 2.8.1, which is included in gnat-devel as gnatgcc.
checkout Ada for Linux for more info.
-
Ada and GVD: GNU Visual DebuggerYes, Ada is excellent advice. GNU GNAT is superb, and one of the best multi-threaded debuggers is ACT-Europe's GVD GNU Visual Debugger.
GVD, the GNU Visual Debugger, incorporates all the features of regular debugger GUIs and is complemented with data display and visualization capabilities more powerful than those offered by DDD (the Data Display Debugger). GVD provides the ability to debug multi-process/multi-threaded applications in the same debugging session.
Links for those interested in Ada and GVD:
-
Re:Gnu Visual Debugger
Not sure why that is. You can get it for now at www.gnuada.org, though you might have to make do with a (source) rpm.
-
Gnu Visual Debugger
The gnu visual debugger is based on gdb, and claims to have much-improved support for multithreaded code. I haven't used it myself, though.
If you're considering a different language, Ada is worth a look. Gnat is a complete and stable compiler in a way that g++ is not, and the language was designed for multithreading from the start.
-
Re:Userspace threat, definately.
Any program which grabs a network socket and accepts connections from the outside world represents a potential threat from buffer overflows.
Any program written in C like languages may be vulnerable to buffer overflows.
Programs written in other languages (which don't let you do that kind of shit) won't.
Buffer overflows should have been eliminated in 1980, along with GoTo and C itself[1]
Aidan
[1] If you want assembly, you know where to get it. If you want a programming language, try here
-
Re:Generic Programming
Ada generics are completely type safe. Indeed, type safe generics are possible, if done right. Check out GNU Ada. By the way, GNU Ada can compile to Java byte code. It is also worth looking at GNU Eiffel which also provides type safe generics and the ability to compile to Java byte code.
-
Re:The last language designed by committee was...
Ada was designed by committees
Excuse me, but Ada was not designed by committee. There was a large requirements gathering process, but the design of the language was by a small tightly focussed design team led by Tucker S. Taft at Intermetrics who had final say, and used it.
For what it's worth, Larry Wall publically said that Ada might be a good choice for the Perl6 implementation language.
The Topaz project chose C++ instead (which is probably fine) however the reason they gave for dropping Ada off the candidate list was due to bootstrapping worries which were, in my view, unfounded now that we have GNAT (also see this). I hope they reconsider.
Also do not forget, it's "Ada" not "ADA". ADA is the American Dental Association, whereas Ada is a language named after Ada Byron, Countess of Lovelace, world's first programmer, thanks!
Chris Morgan
-
Re:On programming
Excellent post, wish I had mod rights so I could send it to the 5 it deserves.
As an older programmer myself, I fully agree with every point, with one minor quibble: Not all "engineering" languages (as opposed to "hacking" languages) are dead--if Ada is dead, for example, it's an awfully lively zombie, especially on free OS's. So take heart, and take a look.
Despite this, it's a great time to be a programmer. Amen, brother. When I was starting out, I had fantasies about systems with a tenth the capability of what's on my desk right now. I never dreamed I'd actually own a system with this much power, with this wide a choice of languages, this much flexibility, etc. Sure, the software bites--but hey, that's just more opportunity, right? A target-rich environment.
-
Re:There are other languages...
OTOH, I wonder why he didn't choose GNAT.
From the article: The problem is that if Perl 6 were written in Ada--it would require people to bootstrap GNAT before they could even get to Perl. That's too much of a burden to put on anybody.
Basically Ada '95 didn't get used because a lot of people don't have it. Chicken, egg, egg, chicken.
But that may also be suffering from lack of current maintainers.
Errm? 3.11p was released in January, and 3.12p is suppoused to be out RSN.
AdaCore Technologies is the normal maintainer, but they were sounding very commercial when I talked to them a year ago.
Hmmm. I'm a member of the Ada-Linux team and we've got a very good relationship with ACT and ACT-Europe. They are a company, but they do do a lot to help both the Ada and GNU communities (there was an ALT/ACT meeting in Paris in June), both officially and unofficially (the Ada-mode for emacs is maintained by them, and several members of ACT-Europe helped create GtkAda)
Of course the problem of where to get his programmers couldn't have anything to do with his choice.
:-)Course, comp.lang.ada wouldn't be a good place to start would it?
- Aidan (dislikes disinformation, but is horrendously behind on
/.)