The goal of the Steam client project is a fully-featured Steam client running on Ubuntu 12.04. We’ve made good progress this year and now have the Steam client running on Ubuntu with all major features available. We’re still giving attention and effort to minor features but it’s a good experience at the moment. In the near future, we will be setting up an internal beta focusing on the auto-update experience and compatibility testing.

Since the Steam client isn’t much without a game, we’re also porting L4D2 to Ubuntu. This tests the game-related features of the Steam client, in addition to L4D2 gameplay on Ubuntu. Over the last few months, excellent progress has been made on several fronts and it now runs natively on Ubuntu 12.04. We’re working hard to improve the performance and have made good progress (more on that in a future post). Our goal is to have L4D2 performing under Linux as well as it performs under Windows.

Boston wrote on Jul 17, 2012, 14:57:C programmer here as well. Honestly, it's not THAT bad on Windows. It's just the matter of installing the right tools (cygwin/mingw/gvim/whathaveyou).

Like I said, there are Windows ports of the good Unix/Linux software, but the post I was responding to claimed that MS's own native alternatives were superior to those... That's what I disagree with...

And Visual C++ isn't too bad either - most of C99 features you can already use under C++ mode and I can live with that (unless you need to cross compile).

No, C++ doesn't do some really useful plain C features... Like auto-cast void* for you... Also, no compound literals, designated initializers, variable length arrays, flexible arrays in structs, stdint.h, long long, variable argument macros, etc... I'm not sure how many of those have made it into C++11; I don't keep up with C++ at all... But, the void* one is what always gets me anytime I've tried writing C++ code in the past... "You want me to cast the return value from fucking malloc()?! Screw you, brain-dead compiler, that's your fucking job!"