What languages are used to build what software?

I’ve been meaning to post a link to Vincent Lextrait’s nice (and actively maintained) catalog of what languages are used to build what modern and major mainstream software:

The Programming Languages Beacon

This table contains a list of major software products or utilities, with details about the programming languages used to implement them. Information on this is difficult to find, and a few small mistakes might have escaped the author‘s attention. Corrections, suggestions for additions or even references are welcome. …

A nice data point to use to show that the world is built on C++ (and its C subset).

The table was compiled without bias on the part of the person who compiled it; he’s just trying to gather information. If you think a language is under-represented, send mail to Vincent with specific project data (make sure it’s something you know of first-hand or can point to an authoritative source) and I’m sure he’ll be glad to add it.

9 thoughts on “What languages are used to build what software?

  1. I am not sure about this but most 3d software programs are written in C++. By that I mean Software used for visual effects for film and design. For example:
    Maya, 3dsmax, Softimage, Cinema4d, Houdini, Lightwave, Modo, Silo, ZBrush, Mudbox and so on …
    Again I am not sure about this but most of the above mentioned provide C++ SDKs which are said to be the same libraries that the software programmers use to develop the product.

  2. @John: “There are tons and tons of games being written in managed code, like Java and C#. XNA Is very popular, and Minecraft (last year’s most notable game) is Java.”

    Those games you are talking about have no real performance constraints. PCs can do that with C#. You need C++ only if you want to hit the limits, like with Battlefield 3…

    @Z.T: “I don’t know of a recent case where people chose C++ and regretted it because they realized they could have used python.”

    Well Python is not really the only alternative and probably the last one I would think about. But besides that, the list “The language Bacon” was pretty much only general purpose software with no obvious need for C++… If you take out OS and VMs of course. I doubt that the other projects chose C++ for speed. So the argument that C++ makes development a lot harder obviously doesn’t hold. These projects chose C++ because they could get the job done faster. Be it for compatibility, available libraries and whatever… And I think someone should conduct a more sophisticated study about that rather than just dumping out a table, which does not say pretty much…

    It’s just that most people just seem to believe in something and try to hold on anything that could prove their believes rather than go out and collect real, objective evidence or falsification…

  3. There are tons and tons of games being written in managed code, like Java and C#. XNA Is very popular, and Minecraft (last year’s most notable game) is Java.

  4. @MichaelTK

    “Is C++ really chosen because of speed?”
    New games and virtual machines/language runtimes really are written in (a subset of) C++ because of speed.

    “Because most projects just won’t need it.”
    The cost of using C++ is pretty high, so people who know they can get away with something easier to use don’t choose C++ for new projects. I don’t know of a recent case where people chose C++ and regretted it because they realized they could have used python.

  5. I always like to hear C++ being used in software, since it let’s me know I am not learning it for nothing… But besides the language used in a software one should also ask: “why?”. Especially for older projects, there was no choice but C++. It would be interesting to see more important recent software (that do not depend on older codebases and here the dog is probably buried) and the reasoning the teams did about WHY they chose a language. What I want to answer in particular is: Is C++ really chosen because of speed? Because most projects just won’t need it. I think it is really hard to figure out what language is good for a project without being biased, so such gathered information usually really only is information as it is without providing any insight.

  6. The only people who consider C to be a subset of C++ are the Visual Studio compiler team. No C programmer or team in industry think that way.

Comments are closed.