Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I agree with Eric Raymond that GCC probably can't beat Clang.

However, I don't agree that this means we should just jump on the LLVM train. The world still needs GNU. And LLVM isn't GNU.

The GNU community has historically held dominance in the compiler field, so this is an uncomfortable time. We can no longer rely on the popularity of GCC to keep GNU in the forefront. However, this doesn't mean we should just give up--I think the solution is to start again from first principles and build a better system, an alternative to GCC that is also released under the GPL.

I'm not saying we should drop support for GCC. But we need to innovate: GCC became dominant because it was innovative and it lost dominance because it stopped innovating. LLVM isn't the only non-GNU competitor. It's telling that none of the major new languages (Go, Rust, Clojure, Scala) are released under the GPL.



The implementations of new languages aren't being released as GPL because the process of introducing a new programming language is already a nearly insurmountable task. To this end, language authors seek every advantage they can get. Nobody's ever chosen a programming language by virtue of the fact that its implementation was GPL, but I can easily see people ruling out such a programming language out of fear that the use of such an implementation will infect their own code with GPL (I fully acknowledge that this fear is unwarranted if your licensing is set up properly, but it actually can be rather tricky to get right and most people are rightfully fearful of interpreting this sort of thing on their own).

At the same time no developer of a fledgling language is going to worry about someone coming in and taking their permissively-licensed code without contributing back, because getting to the stage where someone cares enough to seriously fork your language already implies an enormous relative degree of success.




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

Search: