Originally Posted by Traches
.... and that the only reason windows is so popular is because microsoft is evil. I'm sick of seeing that attitude.
There is an element of truth to that. Microsoft have been one of the biggest bullies of the IT playground over the last couple of decades. I'm not saying Microsoft are alone in this, just that you'd have to be naive to think that any commercial product becomes dominant from it's own merits alone. And for a long time, Windows clearly wasn't the best product on the market (O/S2, BeOS, MacOS, etc). These days there's really not much between most of the big OSs, so it's just a matter of personal preference. I, for one, find myself infinitely more productive in Linux, plenty fine the opposite to be true. It's all just horses for courses.
Originally Posted by Rocket Lawnchair
I believe he meant OpenGL, rather than OpenCL.
OpenCL does exist too; so I'm sure he meant OpenCL. It was the rest of his post I struggled with.
Originally Posted by jrl1357
microsoft is well known for being a monopolist, back stabbing partners (ibm, intel, and others) and in some cases has been accused of things like industrial espionage and the likes.
You picked some of the worst possible examples there as IBM and Intel are as brutal as MS.
Originally Posted by nathris
Except that only Microsoft API that game developers use is
DirectX, aside from initializing the window container, and that's so archaic that it takes DOS arguments.
You're assuming game developers use the entire Dx framework for all their needs. Back when I was a Windows dev (and I'll grant you this was a number of years ago as all my games were built in Dx 6 and 7) I preferred Winsock to Dx's network stack - though I can't for the life of me remember why. Also, if game developers want any form of multi-threading then they would have to look outside of DirectX anyway (or has Dx now added libraries for doing this in later releases)? So you can't simply assume that all Windows game developers religiously stick to Dx when your goal is to bring Windows game compatibility to Linux.
Furthermore, having full DirectX compatibility on Linux would be pointless if there was next to no .NET nor Win32 framework in place else you'd never be able to install the bloody games in the first place.
Anyhow, all this is moot as you'd completely missed my point. It doesn't matter if game devs use Win32 APIs or DirectX, they're all still moving targets. Each new release of Windows includes a new release of DirectX and ever 3 years WINE is pushed further behind Windows. Dx or not, WINE cannot ever catch up with Windows because by the time it stabilises an API, Microsoft supersedes it. And that was the crux of my argument and why Linux shouldn't chase after the impossible goal of running Windows games; instead it should be focusing on supporting native games with the best possible cross-platform toolkits (which is what I hope to see with Valve's Source engine).
Originally Posted by nathris
And don't spew that tired old Java BS. It may have been slower a decade ago, but right now its neck and neck with C++ in terms of speed. I mean, its not even a compatibility layer, its a virtual machine with its own instruction set.
I never said Java ran on a compatibility layer. I said by the time you've built a cross platform compatibility layer focused on performance, you'll end up with something akin to Java.
I'm well versed in how Java operates given I've been developing in it (albeit not as my primary language) since the early 1.x days. However to say that Java performs equally well as C++ is just wrong and completely misses the point of how applications execute. Granted JVMs have improved massively
over the years, but there still needs to be a core interpretation layer as byte code cannot natively execute on the CPU (hence it being called "byte code" and hence there being a virtual machine
). Regardless of how well optimised your JVM is, it will always have a greater performance overhead when compared to running machine code direct from a Windows PE. That's completely unavoidable but is the cross you have to bare when building cross platform frameworks and executables.
However, if you were to compare Java to other byte code-based languages such as those in the .NET camp (eg C#), then you would have a point.Edited by Plan9 - 8/20/12 at 1:45am