Hacker News new | past | comments | ask | show | jobs | submit login

Your point was that GCC was not as good at specific things that are the sole focus of the products you mention. Intel's compiler only targets Intel's x86s and Microsoft's compiler only targets the (two or three) OSs Microsoft makes. It's not really an apples to apples comparison.

For me the Intel compiler makes sense in certain specific applications (many of my servers are not even x86), but the Microsoft compiler is absolutely worthless.




My point was that GCC is not good at specific things that customers care about (and it is good at other things, but I'd argue these things are more niche, such as retargeting for custom embedded devices).

For example, code size, throughput, debugging, and optimization are all places that the Visual C++ compiler is superior than GCC. How many Windows games are written with GCC? How many top-tier Windows apps are written with GCC? If I'm writing a Windows C/C++ application, I'm going to either use Visual C++ or icc. I'll choose icc for code with lots of compute intensive loops or vectorization opportunity. VC is better when icache is an overriding concern.

Now that may not be what you do, but to say, "Who in their right mind writes programs for Windows?", I think says more about you than it does about the respective compilers.


From my point of view, Windows desktop software is a niche. It's a good, big and profitable one, but one I do not take part in. I agree Visual C++ is a great compiler for that specific target.

Still, there is a lot more to programming than desktop applications that run on x86 processors under Windows. And embedded ARM processors outnumber desktop x86s by a large margin. I carry at least three of them with me at all times.


And embedded ARM processors outnumber desktop x86s by a large margin. I carry at least three of them with me at all times.

And Visual C++ targets ARM also, and has for years. One of the reasons I've heard bandied about as to why WP7 first party apps are so fast and responsive is because of the quality of the Visual C++ compiler. :-)


None of the ARMs I carry with me run WinMo or had binaries compiled with VC++. The odds of WinMo devices outnumbering competing devices are very slim.

But you surprised me now: wasn't WP7 managed code-only? Has MS decided to allow native app code?


Yes, the number of non MS-ARM devices is probably several of orders of magnitude more popular. But you'd be surprised at how many embedded devices run Windows CE.

Regarding WP7, 3rd party apps are managed. But the core OS is native and 1st party apps can be native. For example, IE and the mail app are both native C++ apps.

Honestly, I think allowing 3rd party native apps would be a mistake in general. Although I'd create a partners program where you require devs to pay $10k and then go through a certification process, which allows them to ship native apps. Basically its the XBox model. Indie devs use managed code. Apps that are willing to go through the more expensive process get native access.

Why? Native apps introduce a bunch of problems that are a pain to deal with. For example, there a bunch of security issues and stability issues that native apps introduce. Additionally you have to target native apps to an architecture. It may lock WP7 into ARM, due to the ecosystem, and block it from moving, for example, to a new Intel architecture.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: