Home > Uncategorized > Actively maintained production compilers for middle-age languages

Actively maintained production compilers for middle-age languages

The owners of the Borland C++ compiler have stopped maintaining it. So we are now down to, by my counting, three four different production quality C++ compilers still being actively maintained (Visual C++ {the command line c1.exe, not the interactive IDE compiler}, GCC, LLVM and EDG); lots of companies repackage EDG and don’t talk about it.

How many production compilers for other middle-age languages are still being actively maintained?

Ada I think is now down to one (GNAT; I’m not sure of the status of what was the Intermetrics compiler).

Cobol has two+ (I’m not sure ow many internal compilers IBM has, some of which are really Microfocus) that I know of (Microfocus and Fujitsu {was ACUCobol}).

Fortran probably needs more than one hand to count its compilers. Nothing like having large engineering applications using the languages features supported by your compiler to keep the maintenance fees rolling in.

C still has lots of compilers (a C validation suite vendor told me many years ago that they had over 150 customers). Embedded processors can be a very tough target for the general purpose algorithms used in GCC and LLVM, so vendors with hand crafted compilers can still eek out a living.

Perl has one (which I find surprising).

R has one, but like Cobol it is not a fashionable language in compiler writing circles. Over the last couple of years there have been a few ‘play’ implementations and rumors of people creating a new production quality implementation.

Lisp has one or millions, depending on how you view dialects or there could be a million people with a different view on the identity of the 1.

Snobol-4 still has one (yes, I am a fan of this language).

There are lots of languages which have not yet reached middle-age, so its too soon to start counting how many actively supported compilers they still have in production use.

  1. Lukasz
    September 1st, 2015 at 14:54 | #1

    Microsoft Visual C++ is another C++ compiler you haven’t accounted for.

  2. September 1st, 2015 at 15:07 | #2

    As far as I know the code generators in the Microsoft compilers are from Microsoft. Does an EDG front-end plus Microsoft back-end mean the product Microsoft sells should be classified as a Microsoft maintained C++ compiler? The Microsoft C++ library is from Dinkumware’s. Perhaps we could classify it as 1/3 of a Microsoft maintained C++ compiler.

  3. September 2nd, 2015 at 07:39 | #3

    As far as Lisp goes, even ignoring dialects, there are a surprising number of actively maintained Common Lisp compilers implementing the same standard. I count nine, of which seven are open source and two proprietary: ABCL, CLisp, CMUCL, SBCL, Clozure CL, GCL, ECL, LispWorks, and Allegro CL. Of those, seven are independent implementations; the pairs CMUCL/SBCL and GCL/ECL each share a development heritage but forked some years ago.

  4. Matías
    September 6th, 2015 at 15:07 | #4

    One question, to which R compiler are you referring? Googling for “compiled R” or similar query returns the “compiler” package, but you seem to be referring to something more like gcc.

  5. September 6th, 2015 at 15:11 | #5

    @Matías < /a>
    This one
    , which compiles to an intermediate code that is currently interpreted (perhaps one day an intrepid group of students will implement an R-machine using ASICs) .

  6. Matías
    September 7th, 2015 at 18:36 | #6

    Haha. Well, thanks for the answer (though not the one I was hoping for : )
    I do not really understand why the standard R interpreter could be considered/is a compiler

  7. September 8th, 2015 at 01:25 | #7

    I would classify the R projects R implementation as an interpreter. The article talks about compilers and I was somewhat lax in my use of terminology.

    Yes, this implementation translates R source to a lower level representation (which is what compilers do), but then very few interpreters directly execute source code (some Basic interpreters from the 1980s did).

  8. Lukasz
    September 8th, 2015 at 02:27 | #8

    @Derek Jones
    I though you were concerning only front-ends here. For that matter, the primary Visual C++ front-end (the one called with cl.exe) is Microsoft’s own product, developed in-house for many years (decades?) now. Microsoft does indeed license EDG as well, but it is used as the “interactive” compiler in the IDE. I happen to be maintaining the latter.

  9. September 8th, 2015 at 13:03 | #9

    Thanks for the correction, I have updated the post. The conflicting stories I hear of this compiler’s demise are obviously wrong. I believe the compiler originally came from Glockenspiel.

  10. September 26th, 2015 at 08:38 | #10

    There are some interesting details about the history and internals of Microsoft’s compiler front end at http://blogs.msdn.com/b/vcblog/archive/2015/09/25/rejuvenating-the-microsoft-c-c-compiler.aspx

  1. No trackbacks yet.

A question to answer *