9 ms·
It does sound like a bit of a strange assertion. gcc is amazingly core to so much and (in this case importantly) so much commercial. Not even the linux kernel i
by LarrySDonald 14y ago
It does sound like a bit of a strange assertion. gcc is amazingly core to so much and (in this case importantly) so much commercial. Not even the linux kernel itself has this many things that need it to be continued.
Could it be ousted? Sure, if a gnu (or otherwise foss) competitor steps up and does it better (good luck..) but in that case, no problem. Could it be that the gnu/linux distributions and applications running the majority of the internet will have to rely on a proprietary compiler or die? That's just wildin' - issues aside that's nothing even any of the major corporations could really suggest.
- eropple 14y agoif a gnu (or otherwise foss) competitor steps up and does it better (good luck..) There is a pretty compelling argument that LLVM and Clang are doing precisely that. And the "toolability" referred to in the article is a big part of that. Clang complete[1] is an example of using Clang to do things that the GNU toolchain thinks are perfectly doable with a box of regex. (Spoilers: they're so not.) [1] - http://www.vim.org/scripts/script.php?script_id=3302 http://www.vim.org/scripts/script.php?script_id=3302
- hosay123 14y agoIt would take an immensely ballsy release engineer to approve switching from GCC to clang even for a modestly sized, mature codebase. I can think of at least two Fortune 500s where this will almost certainly never happen: the potential cost incurred by the change would far outweigh just hiring a team to keep the old compiler alive, at least in the medium term.
- Hello71 14y agoYou mean like FreeBSD?
- deleted 14y ago[deleted]
- taligent 14y agoI'm confused but didn't Apple just do this for two operating systems. And then moved their entire OSX and iOS development community as well ?
- hosay123 14y agoApple manufacture consumer entertainment devices that are neither safety critical in nature nor difficult to field test. Think more along the lines of Boeing, Northrop Grumman or Raytheon.
- wooster 14y agoI'd be surprised and disappointed if those companies were using GCC to compile avionics code written in C++.
- 0x0 14y agoReally, why? What should they have been using - at least just a few years ago before LLVM became mainstream?
- frisco 14y agoProbably icc (Intel's C++ compiler), MSVC++, or one of IBM's (i.e., xlcc).
- 0x0 14y agoAre they really that much better? I remember hitting a bunch of incorrectly generated code for MSVC++ at least back in the 6.0 days. Like, the disassembly revealed dangerously incorrect code.
- frisco 14y agoI don't know much about MSVC++, but Intel's compilers are widely considered the most advanced C++ compilers, as long as you stick with Intel hardware. There was some controversy over it generating bad assembly when targeting AMD cores, but this is a non-issue for companies like Boeing and Raytheon, who will be using custom hardware anyway.
- Scaevolus 14y agoGoogle and Apple already have. Switching compilers isn't that difficult, especially when they're as reliable as GCC and Clang.
- X-Istence 14y agoFreeBSD is making the change, most of the code for the company I work for is only compiled with clang ... we do government work.
- barkingcat 14y agoFreebsd has switched over to clang - and that os is used as the basis for many types of embedded devices such as network routers.
- alperakgun 14y agoas far as i understand freebsd is there just because some license fanatics want to maintain a commercial-izable alternative to linux. they switching to clang doesn't mean much, because it is most probably a dogmatic, ideological move.
- icebraining 14y agoPlease stop with the accusations of dogmatism. Regardless of whether you agree with their goals or not, the reasons behind avoiding GPLv3 licensed components are very pragmatic.
- belorn 14y agoThe common myths and fear about GPLv3 are far from pragmatic. I can understand those that only want permissive licensed software for components. This make sense, as otherwise the copyright license will put some requirements when distributing copies of the new work. If its proprietary components, you got to buy a license. If its copyleft components, you got to use a particular license. But if we are talking about gplv2 vs gplv3, only a very small subset of people will ever have to care about the differences between those two licenses. It actually only comes down to two questions. 1: Are you planning to sell a product, but want to keep root access to the device after its being sold, while at the same time directly preventing giving the same access to the new owner who bought your device? 2: Are you in a patent license agreement with an other company over patents you pay for and which cover aspect of the new product? If your answer is No and No, to those two questions, you can regard GPLv2 and GPLv3 as identical licenses. Its that simple.
- viraptor 14y agoThere's also an issue of code contribution that some people will not experience or know about. I'm working at a large company and I can contribute to any FOSS project... unless it's gpl3 or requires a copyright assignment. In that case I have to go via a review process taking weeks to complete and involving 2 levels of management. Or I can simply fork locally, patch and never contribute back (this happens almost every time). I doubt this is rare inside of large corporations.
- bzbarsky 14y agoIt really depends on the code. Mozilla switched its Mac builds from gcc 4.2 (or rather the Apple fork of it) to clang, because the cost of doing the switch was lower than the cost of avoiding all the bugs in said fork of gcc 4.2 that didn't exist in the other three compilers the codebase also had to compile with (gcc 4.4 on Linux and MSVC).
- cpeterso 14y agoMozilla switched from gcc to clang on Mac OS X (starting with Firefox 17 last year): https://groups.google.com/forum/#!topic/mozilla.dev.platform/GCz92zrldn4 https://groups.google.com/forum/#!topic/mozilla.dev.platform...