5 ms·
The difficulty, huge though it is, is secondary to the lack of utility. Even with C, for a long time there was only a single viable, mainstream compiler on any
by asfasgasg 8y ago
The difficulty, huge though it is, is secondary to the lack of utility. Even with C, for a long time there was only a single viable, mainstream compiler on any given platform. Clang being the main exception today.
- RossBencina 8y ago> Even with C, for a long time there was only a single viable, mainstream compiler on any given platform. I don't think this is even remotely true. On Windows in the 90's we had Borland, Watcom, Microsoft compilers. Today there is at least MSVC and icc. On Mac there was Think C, Metrowerks Code Warrior, and others. For embedded systems there are multiple commercial compiler vendors, as well as the open source tools.
- asfasgasg 8y agoIt's been a minute since Borland or Watcom were mainstream C compilers on Windows. Consider the year between ~2000-2015. Based on my recollection, it seems like MSVC was used at least 75% of the time, with the other compilers each having a small slice of the remaining quarter. Today, very seldom do you encounter a program that was compiled with anything other than MSVC, although with Clang that's starting to change. I don't know too much about the history of Mac compilers. You may be right. Back in the days, it was easier to make a competitive C compiler, because the accretion of advantages to the dominant compilers was not so large. Today, the moat is too wide and too deep. There's also no reason to build a new compiler, because nobody is going to pay you for it unless it's substantially better than the free ones, which by this point are pretty damn good.
- sanxiyn 8y agoI use many programs compiled with GCC on Windows. MinGW works.
- asfasgasg 8y agoI'm sure you can find someone who uses many programs compiled with TCC. That tells me little about the actual prevalence of programs compiled using various compilers.
- sanxiyn 8y agoI believe NumPy Windows binary is built with MinGW. NumPy is used enough that it is more than "very seldom".
- filmor 8y agoPython C extensions are (supposed to be) compiled with the same compiler as the Python interpreter you are building against was, which in case of the official python.org release is MSVC, see https://wiki.python.org/moin/WindowsCompilers https://wiki.python.org/moin/WindowsCompilers.
- tavert 8y agoAnd that choice of compiler has caused endless headaches for the NumPy and SciPy communities, see e.g. https://github.com/numpy/numpy/wiki/Numerical-software-on-Windows https://github.com/numpy/numpy/wiki/Numerical-software-on-Wi... and https://mingwpy.github.io/motivation.html https://mingwpy.github.io/motivation.html VLC's windows binaries are also built with mingw-w64 gcc last I checked, that is likely used even more widely than numpy.
- justincormack 8y agoGo and CGo both require gcc on Windows.
- JdeBP 8y agoThe existence of Clang (ironically the very compiler discussed in the headlined article) undermines your argument, based as it is upon there being "no reason to build a new compiler".
- kazinator 8y agoIt may not have been true on Wintel PC's, but on embedded platforms, it's very common to there be only one C compiler.
- lispm 8y ago> On Mac there was Wasn't Apple using their own MPW C compiler?