Category talk:Ada

From Rosetta Code
Revision as of 06:37, 2 August 2009 by rosettacode>Dkf (Nit-picking doesn't help...)

Ada has compilers for .NET and JVM targets, i.e. into intermediate code. So according to the [artificial and in general wrong] classification machine vs. bytecode Ada is in both categories. There also exist Ada to C compilers, which do not fall into any category. I also know at least one Fortran compiler which capable to produce either machine or intermediate interpretable code. --Dmitry-kazakov 20:11, 31 July 2009 (UTC)

While many languages are starting to get side implementations that use the JVM for execution, the purpose for the execution method categories is to note the standard method of execution. Where does that rule put Ada? --Mwn3d 20:15, 31 July 2009 (UTC)
There is no standard execution method, the language just does not mandate any. It is was designed to be portable, so whether the target is "hard" or "soft" is irrelevant. The same program can be compiled for JVM or x86 target, with an OS or else standalone. The classification has little sense to me, because any portable language is like this. When the target is more or less universal you can always compile into it. --Dmitry-kazakov 10:35, 1 August 2009 (UTC)
Lots of languages don't have standard execution methods. That's missing the point entirely. People writing programs in Ada will usually anticipate that their code will run with the performance of native execution, and there are toolchains to support this assumption of long-standing. The significant uses of Ada will also be done this way, especially if you were to encounter its use in the wild (e.g., in defense consulting). And the “execution method” field is single-valued anyway, so can only really capture the majority of what is seen in practice. Think of it this way: if every installation of an Ada program in the world were to vote right now on how it is executing, which candidate would win the nomination? —Donal Fellows 06:37, 2 August 2009 (UTC)