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

Compilers used to be something you paid money for. It took a while, but open source and I would say gcc in particular killed that.

It's funny how gcc was around for a long time, but it was only in the 2000s that cash cow compilers started dying. I think that coincides a bit with Linux and OS X becoming popular for developers. For example, it wasn't until 2005 that Microsoft started providing a VS express SKU.

You see Linux start to kill old school commercial Unix (like Sun) around the same time. Probably the same trend.



Compilers used to be something that nobody could afford to work on for free. Mostly because you had to start from scratch and move forward. I don't know if gcc started as an improvement in pcc or not but for its early years it was both functional and atrocious. Comparing its generated code to the Greenhills C compiler you just shook your head and wondered why would anyone ever advocate this stuff?

But the really magical thing about open source is that it never dies. And there is always someone willing to look at the code and fix a bug, or add a feature. And if you had a new architecture and no budget you could not afford the NRE charge of a big compiler company to build a code generator for you. And so it got incrementally better. Bit by bit. And the better it got, the more useful it was, and the more useful it was the more people used it, and then at some point it crossed the point where the economics of using a free compiler and dedicating some staff to fixing the problems you had made more sense than buying a compiler and waiting for the compiler company to fix bugs.

It really is a fascinating thing to consider and I expect that someone could write a very entertaining book about it at some point.


> It really is a fascinating thing to consider and I expect that someone could write a very entertaining book about it at some point.

Someone already did write that book, and that someone is RMS! If you haven't read it already, I highly recommend "Free Software, Free Society". And in the spirit of things, it of course available Freely: https://www.gnu.org/philosophy/fsfs/rms-essays.pdf

(Though I do have a hardcopy which I'd never part with.)


It's funny, just yesterday I was in a thrift store and found a brand new still sealed in shrinkwrap copy of Visual C++ 2.0 (with its totally awesome C++ logo made of 3D plus signs: http://www.amazon.com/Microsoft-Visual-C-2-0/dp/B0016LE9FO) for $2.99! I remember when I was a teenager looking at copies of Visual C++, QuickBasic 4.5, Turbo Pascal, etc. on the shelf of CompUSA and wishing I could afford any of them so I could go beyond messing around with QBasic. Kids today have it so much better with access to great free development tools, and they don't even need to crawl text files on local BBS' to figure out how to use them anymore. :)


I remember in the 90s advocating for things like gcc and the absolute scorn I would receive. "A free compiler!!! What kind of crap must that be??". You paid for compilers, you paid for your version control, you paid for your bug tracker, and that was that.

Interestingly, at that company (a defense contractor) it was the government more than anything that changed that attitude. There were a lot of projects initiated by the DoD designed to test whether Linux and other open software were a good choice. Attitudes slowly came around.

And it (paid=good) is not an entirely unfounded position. There was some really bad OS software, and Visual Studio is still top by some measures (quality of the debugger). But the amount of pain noncompliance of the VS compiler brought was just frustrating. And if you want really fast code on x86 it still makes sense to buy the Intel compilers (C++ and Fortran).


It's important to note that Visual Studio got a lot of love from MS above and beyond what it's revenues would support. Likewise Intel have gcc a lot of love because they needed to get software used to longer pipelines.


If the VS debugger is king of the hill, then it must be really grim out there. At least half the time, I'm using printf debugging because actually running in the debugger brings my entire machine (16 GB RAM, quad-core intel) to a standstill.


Folks who have figured out windbg's learning curve will know that VS isn't even the best debugger from Microsoft.




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

Search: