Hacker News new | ask | show | jobs
by iam 5379 days ago
I want to completely agree with this guy, I really do. But Visual Studio 2010 supported more of C++11 then most other major compilers (except I think for Comeau and GCC) when it was released.

Apple didn't choose Clang over GCC for political reasons, a lot of Clang devs are actually on the Apple payroll.. and Clang is just a far superior compiler to GCC architecture-wise -- it just needs a few more years to catch up to full C++11 support.

The fact of the matter is that unless you're starting a new project you're probably tied to your old version of the compiler, to upgrade to something newer would require weeks of updating the toolchain.

1 comments

> Apple didn't choose Clang over GCC for political reasons, a lot of Clang devs are actually on the Apple payroll.. and Clang is just a far superior compiler to GCC architecture-wise -- it just needs a few more years to catch up to full C++11 support.

Do you have any insider knowledge of this? Because the prevailing wisdom around the net is that Apple didn't like to be dependent on a GPL3'd product (which gcc became at some point), so they propped up the only viable alternative at the time, which was LLVM.

That may be so (and I'm not an Apple insider, although I do know a few LLVM devs). I guess you could say a driving motivator to find an alternative solution to GCC was to not be reliant on a GPLv3 license. Traditionally I don't think the license has stopped Apple from contributing a lot back to the OSS community (just look at WebKit).

Besides, a compiler is just a compiler. Maybe someday down the road they will start producing their own ISA, but until then even if they're making their own ARM chips it's really hard to get it to do special Mac/iPad-only magic.

What I do know is that Clang was funded by Apple almost from the start, it was engineered right from the start to be more than just a compiler but something you could plug into the IDE as well (as the latest XCode demonstrates, it has completely unbeatable C insight).

LLVM itself is also far more extensible than GCC, just look at the slew of new-ish (last 3-4 years) of projects that have launched using LLVM. Have you heard of any such projects being launched with GCC? I can't think of any (maybe if they did, they weren't proud of it).

> Traditionally I don't think the license has stopped Apple from contributing a lot back to the OSS community (just look at WebKit).

GPL3 makes a world of difference (KHTML/WebKit is GPL2 if I'm not mistaken); e.g., it may interfere with Apple's executable signing policy

> Have you heard of any such projects being launched with GCC?

Not as many as LLVM, but ... GCCXML, GCC Go frontend, GCC D frontend. Things still happen in GCC world.