Domain: adahome.com
Stories and comments across the archive that link to adahome.com.
Comments · 37
-
Re:Ada
There's a lot of good stuff here: http://www.adahome.com/ and here: http://www.adaic.org/
And It's "Ada" not "ADA". The language name is not an acronym. Rather it's named after Ada Countess Lovelace, see https://en.wikipedia.org/wiki/... The choice of the name was deliberate, Ada Lovelace is commonly cited as the first computer programmer (for Babbage's Analytical Engine). And that name long pre-dates the current initiatives for "women in computing." (There were a fair number of women involved with the Ada program, such as the late Jean Sammet, quite unusual in the late 1970s/early 1980s during the initial development of the requirements and then language itself.)
-
Re:Ada
I don't know how many industrial-strength C compilers there are. There are not many industrial-strength Ada compilers because there's not much demand, but there are a few. The main project I've worked on involving Ada for a mission-critical application used AdaCore's GNAT PRO (they'd switched from another compiler - I don't know which one - and found GNAT PRO's built-in static checking to be far superior). AdaCore is cagey about pricing, though. I have a Janus Ada installation set somewhere; that's from US$195 for a single seat. So Ada is quite affordable (there's always the GPL, non-PRO, version of GNAT for getting to know the language).
-
Re:Ada had this in 1995
And that's what makes Ada95 (and subsequent versions) so interesting from a language design perspective. Ada95 built on the Ada83 language (which itself built on Pascal, as well as CLU and other research languages), adding OOP (including supporting concurrent objects in a way that I haven't seen in other "modern" programming languages in this era of multi-core processors). There are design trade-offs, and these are well-documented. If you're interested in such things, the published design team rationale documents (for both Ada83 and Ada95) should be required reading. Ada83: http://www.adahome.com/Resourc... Ada95: http://www.adahome.com/Resourc...
What Ada95 accomplished was to graft a full OO design mechanism (i.e. inheritance) , while preserving type-safety (for scalar types, as well as "objects" or classes), keeping the safety properties (e.g. impossible without unchecked conversion to dereference a null pointer), and providing nearly 100% backwards-compatibility with Ada83. (There were a few inconsistencies, but these were at the edges of the language.)
Oh, and Ada2005 adds support for pre-conditions and post-conditions that matches what Eiffel now provides for defining and enforcing contracts. And it does so while providing the SPARK subset that supports theorem-proving for proof-of-correctness (including concurrent programs), starting with "cannot generate runtime error". See https://en.wikipedia.org/wiki/... A lot of this grew out of David Luckham's work at Stanford on annotation languages such as ANNA and TSL, see http://www.springer.com/us/boo...
-
Re:Ada had this in 1995
And that's what makes Ada95 (and subsequent versions) so interesting from a language design perspective. Ada95 built on the Ada83 language (which itself built on Pascal, as well as CLU and other research languages), adding OOP (including supporting concurrent objects in a way that I haven't seen in other "modern" programming languages in this era of multi-core processors). There are design trade-offs, and these are well-documented. If you're interested in such things, the published design team rationale documents (for both Ada83 and Ada95) should be required reading. Ada83: http://www.adahome.com/Resourc... Ada95: http://www.adahome.com/Resourc...
What Ada95 accomplished was to graft a full OO design mechanism (i.e. inheritance) , while preserving type-safety (for scalar types, as well as "objects" or classes), keeping the safety properties (e.g. impossible without unchecked conversion to dereference a null pointer), and providing nearly 100% backwards-compatibility with Ada83. (There were a few inconsistencies, but these were at the edges of the language.)
Oh, and Ada2005 adds support for pre-conditions and post-conditions that matches what Eiffel now provides for defining and enforcing contracts. And it does so while providing the SPARK subset that supports theorem-proving for proof-of-correctness (including concurrent programs), starting with "cannot generate runtime error". See https://en.wikipedia.org/wiki/... A lot of this grew out of David Luckham's work at Stanford on annotation languages such as ANNA and TSL, see http://www.springer.com/us/boo...
-
comp.lang.ada FAQRead this
...I believe most reviewers of Ada 9X (and Ada 83 for that matter) will assure you that it was most certainly not designed by committee
;-). -
Re:I like it
Behold the horrors!
Microfocus COBOL for jvm and j2ee (this possibilty came up with one of my clients but we went a different route): http://visualcobol.microfocus.com/overview/platform/jvm/
The University of Tennesee's Innovative Computing Laboratory is in the final stage of their F2J project, which will support Fortran 95 language to java bytecode: http://icl.cs.utk.edu/f2j/overview/index.html
Ada to JVM, read about projects and products here: http://www.adahome.com/Resources/Ada_Java.html
There was gcc back end to emit jvm bytecode, but RMS killed it because of Sun's Java license at the time. Things have changed since then, maybe that project will be resurrected. -
Re:what about COBOL, PASCAL, FORTRAN ?
-
Re:Ada does ASICs
That was only part of the point. The other point was related to how Ada, with its strong typing, encapsulation (over that of other languages), and library system allows compiler vendors to carry out certain optimizations that could be difficult or unreliable in other languages, hence improving performance.
To be honest I can't remember the details of this as it was a while back I read or heard about this - it's possible it was at a Tartan seminar, but it made sense at the time.
Interestingly there have been a number of examples of where Ada has outperformed C. Check out http://www.adahome.com/Ammo/Stories/Tartan-Realtime.html (although adahome.com appears to be unmaintained). -
Re:Airplane Operating Systems
"Good luck implementing an OS with Ada."
http://www.adahome.com/articles/1998-07/nw_ghs.html
"Written in Ada, RT Secure is a real-time, pre-emptive multitasking microkernel optimized for mission-critical applications that require true hard real-time response." -
Re:About the Authors
Ada is a good language, from a language point of view. Ada compilers will find several potential problems at *compile* time due to the strongly typed nature of the language. Ada's main flaw is the lack of vast user libraries that C, C++ and Java have (although one can natively interface to libraries of certain specific languages, including C, with a wrapper like construct). If you care to learn more about *why* the language was designed the way it was I highly recommend reading the Ada 95 Rationale.
-
Re:Wait a minute!
-
learning languages
VB is definitly a good language if you need to code tools and have little time to do so, however as a learning language i would recommand ADA http://www.adahome.com/ Very good for teaching beginners especialy to learn how to handle variables.
-
Re:Looks more like Delphi every releaseWell... languages does a lot of cross-inheritance, especially when they are new and fresh. And C# (C-hash as I like to say to the annoyance of everyone) is a relatively fresh language on the market.
The most annoying thing with that language is that it is very similar to Java, but is using different classes. Understandable since it is M$ behind it and they got slapped by Sun for incompatible Java.
Anyway, what I still don't understand is why M$ still are marketing VB as a programming language. It is just remotely related to Basic, and still suffers from the bad things with Basic which leads to hard-to-read code and lack of structure. OK, there are a lot of programmers out there that have learnt VB in and out, but I still would like to see better languages as the major language for a lot of operations. Why not promote programming macros and scripts in a more structured language with stronger typing instead?
And still, don't forget Ada.
-
Re:Hmmmm
Apparently, there are many projects using Ada. Go to AdaHome and click on the "list of projects" link at the bottom of the page. Go Ada!!
-
Ada Lovelace -- Born December 10, 1815We can't let December pass without wishing a birthday greetings to the mother of modern computing, Ada Lovelace.
Ada Lovelace, 189 years young.
-
the Mother of Modern ComputingWe can't let December pass without birthday greetings to the mother of modern computing.
Ada Lovelace. was born December 10, 1815. Happy Birthday, toots!
-
Re:What Jess is good for
I think you mean Ada... that's her picture on the right of the Ada HBAP site, and the rest of the facts you state are correct. I can't find any information stating who Miranda was named after. (at least through google... so it doesn't exist.
:) ) -
Re:What Jess is good for
-
Re:Great opportunity.
I'd love to see some network infrastructure servers done in Ada.
That's a good idea. Time for the Ada-zealots to "put up or shut up". Those guys never seem to put out much code... and of course they become rarer every day. If their language was really more secure, correct, and easy (yes, they claim that!), then an sshd reimplementation would be a fine demonstration to prove it. -
Re:Was Java engineered?
-
A Bit Odd
I can't say I compleatly agree with this article. In the comercial software world speed is extreamly important. Look at Opera, their biggest sellng point is being 'the worlds fastest browser' and happens to be coded in C++/Qt. While it would be nice, I doubt one could write a comparable comercial browser in python or perl.
Oddly enough, there was no mention of ada as a viable security conscious language. -
Re:Why Erlang?
Is that similar to the implementation of concurrency in Ada?
I'm not familiar with concurrency in Ada. In Erlang, processes are extremely lightweight and communicate via message passing. The processes themselves are done in the runtime, so there are no limits imposed by the OS (besides system resources, of course). With a shared heap, even the memory requirements are extremely low (compared to Java or C, for instance).As an Ada programmer I can tell you that it depends on your compiler. The Ada compiler I use GNAT uses the OS resources to map Ada tasks to threads so they are as light as system threads. The Rational Ada 83 compiler had its own thread library I believe (I don't care to go looking for it). I'm too lazy to check right now but I believe the Ada RM leaves it open to the implementation as to whether Ada tasks reflect OS based entities or not.
-
Ada
Ada has a bytecode generator. See here
So does that mean that my forced ada classes in college were useful? -
Re:Mandating compatibility is a good idea, but...
...in the past thinking like this has resulted in things like Ada.Yes, this is true. Ada was devised as the result of 4 groups competing against each other, and the best of em (though opinions vary) selected as the Mandated Language for the DOD.
The whole process is described thusly:
The driving concern of the HOLWG was to assure that the design was guided by a responsible principle investigator, and to preclude "design by committee". On the other hand, picking a single contractor to do the job and trusting to luck would have been imprudent. The procurement was through multiple competitive contracts, with the best products to be selected for continuation to full rigorous definition and developmental implementation.
And it was a disaster from the Defence Contractor's viewpoint. Firms fell over themselves trying to get exemptions from using it, ANYTHING was better. Because Ada had
- Objects
- Exceptions
- Generics (templates)
- Multiple-threading/Tasking
- Strong Typing
.So yes, had compatibility been mandated in the past, we might all have systems far more reliable and robust. But Microsoft wouldn't have $40 Billion and a number of tame Congresscritters.
-
Re:Yes Virginia, there are decent languages
Someone hit me with a clue-by-four if I'm talking out of my arse or if not, tell me what decent compiled languages exist out there =)
No, you're not talking anally, it's a good question.Try Ada-95, or one of its proper subsets if you want embedded systems.
Rather than give lots of religious arguments, unverified opinions and hot air, here's some resources and quotes:
From Crosstalk (March 2002) :
There is now compelling evidence that development methods that focus on bug prevention rather than bug detection can both raise quality and save time and money. A recent, large avionics project reported a four-fold productivity and 10-fold quality improvement by adopting such methods. A key ingredient of correctness by construction is the use of unambiguous programming languages that allow rigorous analysis very early in the development process.
SPARK code was found to have only 10 percent of the residual errors of full Ada; Ada was found to have only 10 percent of the residual errors of code written in C. This is an interesting counter to those who maintain that choice of programming language does not matter, and that critical code can be written correctly in any language: The claim may be true in principle but clearly is not commonly achieved in practice. (emphasis added by me)
Parenthetically, I get a little miffed when I see so much unsupported balderdash being purveyed in Ye Greatte Language Warres. Try looking at the experiments people, you know, data, numbers etc? The Scientific method? But I digress, back to the stuff useful to you.
Another Crosstalk article, proving fairly conclusively that a working Ada programs's easier to write than a working C program, at least in some problem domains (high performance, real-time).
Ada for C and C++ programmers shows you how to do what you want, if you know C.
The LRM - Language Reference Manual, ISO-8652 (yes, it's an ISO standard). This version is the one with annotations.
Oh yes, there's an open-source compiler, GNAT available for free download. Like GCC, it's industrial-strength.
Finally, I'll echo my own experiences with the C++ STL: namely, that implementations differ markedly, portability is not a possibility, and performing surgery deep in their bowels is like unravelling rancid spaghetti. But YMMV I guess. Code Warrior 7 and MVC++5 were not compatible for anything other than trivial examples.
-
Remember GNAT.GNAT, a gcc-based ISO compliant Ada95 compiler is the foremost example of collaboration between Free Software and the military.
The Computer Science Department of the Courant Institute of Mathematical Sciences at New York University received a contract from the Ada 9X Project Office, under the direction of Ms Christine M. Anderson, to develop a GNU/Ada system. The work was co-sponsored by ARPA and the Ada Joint Program Office.
GNAT has been validated on many platforms, by Ada Core Technologies (ACT), a company devoted to supporting users of this compiler.
The quotation was taken from http://www.adahome.com/Resources/Compilers/GNAT.ht ml.
You can get GNAT here or check the above webpage for mirrors.
Besides that, if you use Windows, you can use a free IDE, AdaGIDE, developed at the Department of Computer Science of the USAF Academy. The IDE is of course free software put under the terms of the GPL.
-
Re:unusual...
Try comp.lang.ada. It's swarming with Ada fans, many of whom would be happy to explain why they love the language so. Ada Home and AdaPower both have quite a bit of information and evangelism (the former is a bit of a 'classic', though).
-
Re:I wish Java didn't mean two things> How would I compile, say, Lisp into Java bytecode?
This is how. Not much on Lisp, but quite a bit for Scheme. There are also many other languages listed at that site that have been made to work inside of Java. I know that JPython is very popular!
> How would I get Ada to access classes that were written in Java?Look here.
-
Re:You've Confused and Saddened Us All
Just out of pure interest you aught to read this comparison of different languages
Ps, the stooopid mistake that guy made with the by reference and by value mix up just goes to show there are people who know squat out there. God save us all.
~matt~
0
o .
><> -
Re:Why a new VM?
More information about using Ada with a Java binding can be found in the Ada95 Lovelace Tutorial, Lesson 16.
-
Why not ADA
Ada is taught at my school for both Comp Sci I and II. The reason given for teaching ADA is that it's a "stongly typed" language and it's pretty fair with error recovery. According to my prof. ADA is used in military tasks involving 100% reliablity (submarine radar traking systems, air traffic control systems, stuff like that).
There are almost no professional opportunities for ADA programmers, unless you would like to work for Rockwell (no offence to those Rockwell folks, but you are the only people I know hiring ADA programmers.) Ada is almost SO strongly typed, it's almost code prohibitive; I get bogged down in the structures and not the implementation of the solution.
However, here are some links for ya'll
ADA Reference Manual
a prof's home page -
Re:About #^@%!$* Time!
Somebody get me Ada, we've got work to do...
I found GNAT (the GNU Ada compiler) on Google.
Kill Unisys and all the rest of the software patenters. -
Re:Want something native with Java semantics?
Cute story. Sadly, from a humor-related point of view, it's an urban legend.
I'll tell you something that is true, and that doesn't reflect particularly well on Ada's genesis. Ada's design was commissioned, though not actually executed, by the US Department of Defense. Just as with most military equipment, the Ada language would be put in the hands of poorly trained, minimally talented military programmers, and had to function acceptably under those conditions. I don't know if that goal was ever actually achieved, but that's the source of the language attributes which cause most younger programmers to chafe under its "fascist restrictiveness". Believe me, after you've written enough code, and made enough stupid errors that any rather bright chimp would probably have avoided, you begin to realize that all those "restrictions" are actually helping you.
Ada's real downfall was the mandate--something in human nature rebels at being forced, so the various DoD departments expended their creativity getting around the Ada mandate instead of using all that brainpower writing cool code. Now that the mandate is dropped, Ada is experiencing a resurgence in popularity, not the least in the free software world.
It's not a miracle language, regardless of what some real or imagined DoD hypemeister might have said about it, but it's damn nice, a pleasure to use when used properly, and a solid tool for the development of large, robust programs. But don't take my word for it
... see for yourself. -
Want something native with Java semantics?
If you're looking for a portable language that compiles to native machine code and which implements much of Java's semantics, check out Ada 95. You can find information here, or download a complete GPL'ed compiler here.
I'm totally serious, folks. Do not regale me with tales of how much Ada sucks--most originate from introductory CS classes where Ada83 was shoved down unwilling throats by indifferent or hostile educators. Please, go read and experience for yourself before replying. And for those who dispute my claim about Java semantics, please pay special attention to the links on this page before you comment.
-
Want something native with Java semantics?
If you're looking for a portable language that compiles to native machine code and which implements much of Java's semantics, check out Ada 95. You can find information here, or download a complete GPL'ed compiler here.
I'm totally serious, folks. Do not regale me with tales of how much Ada sucks--most originate from introductory CS classes where Ada83 was shoved down unwilling throats by indifferent or hostile educators. Please, go read and experience for yourself before replying. And for those who dispute my claim about Java semantics, please pay special attention to the links on this page before you comment.
-
Ada kernel
AFAIK a linux kernel written in Ada would never get up to the complexity level of Minix, because all the coders would get fed up.
"AFAIK"? That tells me that you know very little. Some of the most complex programs in the world are written in Ada. It scales far better than C or C++.Many in the hacker/free-software/open-source communities disparage Ada because:
- They were forced to use Ada83 in an undergraduate programming class.
- Their friends and role models disparage it.
I can understand why a hack programmer wouldn't like Ada (which is what we now call the modern OO language formerly known as Ada95), but most software engineers and disciplined programmers absolutely love it. Loving it, and being able to use it in a project because of political reasons, are often two different things. But on a purely technical basis, Ada rules for complex programs.
On the chance that anyone here might like to learn more, maybe try GNU Ada on their Linux box, see the Home of the Brave Ada Programmers, the starting point for All Things Ada on the web.
And I have to agree with the first poster--an Ada kernel would kick some serious butt. But I'm not convinced that it will never happen. That's what they said about the rise of Linux, and the decline and fall of Microsoft.
-
Re:Other languages?
Is there no one programming Pascal any longer?
No.If there were more people using more programming languages we might not have so many occurances of things like buffer overruns and other misc security breaches... IMHO
I agree. That is one of many reasons I have rejected C and startet writing in Ada95. Personally, I would require a lot more than average payment to start writing in C again. I recommend taking a look at Ada. The following resources are pretty interresting: