‹ BackHN Continuity

Thread

EDG C++ front-end goes public

249 points · 129 comments · iandinwoodie

  1. vintagedave · · focus · HN ↗
    Wow. This is big news for C++.

    For background -- and I am not an expert here -- their C++ frontend is widely known. I first heard of it because Visual C++'s Intellisense uses it, which was notable because VC does not use the msvc frontend for its own completion. I understand it's been either used or evaluated for other frontends in the past too. I worked as PM for one C++ product, and was fortunate to be able to learn a lot from our engineers; we didn't use it, but they thought highly of EDG.

    It has a very strong reputation for being correct. And as such, I think open sourcing it will be a very beneficial thing for the C++ community.

    1. jcranmer · · focus · HN ↗
      There are essentially four C++ frontends: gcc, clang, MSVC, and EDG. Pretty much every C++ compiler is a reskinned version of one of those compilers. Most of the proprietary compilers have been slinking away from using EDG to using clang (e.g., Intel did this transition a few years ago).

      The reason why the EDG frontend is being open-sourced is because EDG itself is closing up shop, and the open sourcing is an interim solution as EDG's customers work on migrating to using Clang instead. So... it's really not good news, because it means that one of the frontends is basically reaching end-of-life.

      1. vintagedave · · focus · HN ↗
        I’m hopeful open sourcing means a new life for EDG.
        1. crote · · focus · HN ↗
          Where would that new life come from? As far as I am aware, there isn't exactly a thriving community around it which has been begging for a source release for ages, and with Clang and GCC there hasn't been a shortage of open-source C++ compilers either. And it's not exactly like the C++ ecosystem as a whole is booming, with it not having any answer to the memory safety problem.

          From what I can tell this is just some retiring guys who want to make sure their life's work isn't lost to history, and who want to avoid screwing over their handful of remaining customers. Realistically, the best you can hope for is probably the occasional bugfix, and other open-source compilers scavenging it for a handful of useful clever ideas.

          1. whizzter · · focus · HN ↗
            Maybe they're hoping the remaining customers will cooperate on keeping it up to speed? I know that f.ex. IAR are building their own backends,etc and might be an EDG customer, the MSVC IDE team aswell, now if they'll manage to get it working is another question but with the code in the open there's a chance at least.

            Why not defect to clang? I'm sure some PHB's will suggest that (and that will be part of the survival, convincing those that supporting another party is a good thing).

            Standardization does have it's issues, but the JS ecosystem always seems to be healthier when one implementation isn't too dominant. The question is if the C++ ecosystem is large enough to support multiple frontends.

            1. crote · · focus · HN ↗
              The thing is, who's going to pull the cart? Giving stewardship to a nonprofit is perfectly fine from an IP perspective, and they'll have no trouble finding someone to herd some bugfixes, but what's going to happen when significant refactoring is needed to add support for C++26/29/etc?

              Having your resident compiler expert upstream the occasional patch to keep your legacy product from dying is one thing, but which big tech company cares about this specific compiler enough to spin up an entirely new dedicated team for it? And who's going to choose a mostly-abandoned compiler front-end as a core part of a new product?

              Sure, it can be done, but for each individual user defecting to clang must be looking very attractive right now.

              1. whizzter · · focus · HN ↗
                If they're all downstream users and rebuilding their entire infrastructure on Clang might not be the most enticing thing if they're deeply embedded into EDG in their products and EDG can be kept alive with small costs per company.

                I think that's the point of the whole point of a nonprofit stewardship, that a few developers each from the main customers can come together and cooperate well enough on the upstream that they don't have to take the entire cost of changing downstream to Clang or maintaining a frontend.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.