Hello.
My background came deeply from Pascal language before I discovered Ada which provides last modern object programming with last standard Ada 2005. Just as you mentioned them, Ada provides Pascal like range checking, exceptions, generic and more: native tasking model and much more, see http://en.wikibooks.org/wiki/Ada_Programming
With my huge legacy Mac Pascal code, I got involved in Pascal to Ada translator P2Ada: http://sourceforge.net/projects/p2ada It comes with some explanations: http://p2ada.sourceforge.net/ pascada.htm It comes with ISO and Borland TurboPascal translation on NewP2Ada branch (pretty stable release http://p2ada.svn.sourceforge.net/viewvc/ p2ada/newp2ada). It comes also with Object-Pascal translation mainly coming from Delphi and FPC on ObjP2Ada branch (alpha release http:// p2ada.svn.sourceforge.net/viewvc/p2ada/objp2ada/). For translating all macro of Pascal Mac interfaces I used GPC pre- processor.
At the beginning of the century I was very happy to get a Pascal compiler on Mac new OS X. Thanks to all that make GPC possible. Nowadays, as mentioned, Ada tool chain GNAT is available with GPL (http://libre.adacore.com/libre) thus I switched without forgotten why.
Regards, Pascal. http://blady.pagesperso-orange.fr
Le 31 juil. 10 à 06:54, gpc-owner@gnu.de a écrit :
De : Frank Heckenbach ih8mj@fjf.gnu.de Date : 31 juillet 2010 06:01:17 HAEC À : gpc@gnu.de Objet : Rép : Ada (was: D (was: Quo vadis,
J. David Bryan wrote:
This raises a point of interest to me. When GPC development stalled, I had to decide whether to continue with GPC as it was, switch to another Pascal compiler, or switch languages. I have programmed in Pascal for thirty years; it was my fifth language, after BASIC, Algol 60, FORTRAN IV, and SNOBOL, and of those, it is the only one in which I have continued to develop new programs. This was due primarily to the existance of GPC, and especially its good support for ISO 10206.
For a number of reasons, I elected to switch to Ada, as implemented by the GNU Ada compiler (GNAT). I had studied the language shortly after it was introduced in 1983 but did not use it seriously until a GCC version became available. I found the transition from Pascal to Ada to be quite easy, because many of the implementation concepts are similar. For several years, I've done all of my new work in Ada instead of Pascal.
I would think that translating from Pascal to Ada would have some advantages over C++. For example, Ada inherently supports scalar subrange types and range checking. I'm not that familiar with C++, but I don't believe that subranges are supported.
No, not directly. However, range-checks are a rather minor issue -- for comparison, it took me a few days to implement them in GPC, while the object models took weeks or months (I'm not sure exactly how much work Peter and Waldek spent on them), exceptions implemented from scratch would take weeks, and templates probably much longer. So it's these "big things" that matter most. You might think checked subranges are more important because they're more fundamental (which they are), but they're just not so difficult to implement. For the 3 big things I mentioned, I know C++ has them already. I don't know if Ada does, perhaps you can give us some information here, e.g., is its object model comparable to those GPC supports or that of C++; does Ada supported exception handling and how; does it support something like templates (IOW, how can one implement, say, a generic list, applicable to any given type, with strong type-checking).