Why GL Now
timothylottes.blogspot.se
timothylottes.blogspot.se
OpenGL 4.3 support could've been very useful in the coming years for indie developers wanting to develop mobile games with OpenGL ES 3.0, which is fully integrated into OpenGL 4.3, and then easily port them to PC's, either native or in WebGL. But since Intel doesn't seem willing to support 4.3 at least until 2-3 generations from now, that means there won't be a whole lot of laptops out there that support OpenGL ES 3.0 out of the gate.
And of course supporting the full OpenGL 4.3 also means they are as serious as Nvidia and AMD about graphics drivers. But apparently they aren't at that stage yet.
Of course, telling users to update their drivers is always a hassle, but oh well... seems like Intel is slowly but surely getting better at GL in their drivers.
Now if Windows Update would stop hiding such updates under "Optional"......
Still receiving frequent updates and new features. It's been exciting to see it come together.
My biggest caveat has been the OpenGL ES support on Android. It only builds properly on Linux, and it doesn't support performance profiling the last time I checked. You're better off using vendor specific tools like Nvidia's PerfHud ES for Tegra devices and PVRTrace for PowerVR devices for that sort of work.
There's also no support for OpenGL ES on iOS devices. Fortunately, Apple's OpenGL ES profiling tools for Xcode are (surprisingly) quite solid, and much less of a pain in the butt to set up than any Android OpenGL ES solution. As long as you're content with there being only one game in that town.
EDIT: And for taming GL Extension Hell, GLEW is still the best; http://glew.sourceforge.net . If you see a tutorial that suggests anything else, it's wrong. :)
GL is seen as a "crufty", non-OO C-style API but that's actually pretty cool in that it gives you very direct GPU access and gently forces you to think more in a way that matches how current-gen GPUs actually work. I wouldn't any magical abstractions over it. The core profile is great because all the outdated legacy stuff is no longer legal in it, giving you a modern, direct-hardware-acess graphics API with absolutely zero overhead. Driver support keeps getting better, even Intel has entered into GL 4.x land by now. Proprietary Linux drivers and their GL 4.x support are really solid and better than ever. All that remains is for Apple to get up to speed, GL is still at 2.1 or 3.2 depending on your OS X version.
GLSL 3.3 was present but hilariously broken in Lion, if you explicitly requested it in your shaders.
Hopefully things will improve for Mac OS X 10.9.
In the context of graphics programming (in my experience), the "Open" is often dropped here since it's pretty clear which API is being referred to with just "GL". Easier to say, without the forced slowness of the long "O" in "Open".
You can also access the same site at http://timothylottes.blogspot.co.uk/2012/11/why-gl-now.html, http://timothylottes.blogspot.de/2012/11/why-gl-now.html, http://timothylottes.blogspot.fr/2012/11/why-gl-now.html, http://timothylottes.blogspot.ru/2012/11/why-gl-now.html, and so on...
I'm happy that JavaScript is becoming popular for games, since in my conversations with game programmers it seems the biggest hurdle to even evaluate another language is their ignorance about what other languages give them that C++ doesn't.
It was a pain to move developers from Assembly to C and then again from C to C++.
I know of some companies making use of D, but it is still a single digit set of examples.
C# is becoming widely used thanks to Unity, but it is still C++ at its core
If you're dead-set on a citation, you can check the IRC logs at http://irclog.gr/#browse/irc.mozilla.org/rust/ ...but be warned that the search function is rather lacking (I had no luck remembering any terms to conjure the correct results). Your best (and most tedious) bet is probably to just run backwards in the history until you find it.
Even Microsoft has started to deploy native code for .NET Windows Phone 8 applications with the MDIL format.
A C++ replacement in the game / graphics area needs to provide the same mix of hardware control and abstractions that C++ provides.
Currently I only see Ada as possible contender, but it is considered too verbose by many developers.
D and Rust still need to earn the hearts of the games community and become more stable.
While Unity uses C#, it still seems to use C/C++ components for graphics and physics and such (going by the libraries it uses internally, anyway) and allows you to call native code if you wish.
You can, but it's hard to ensure a strict no-allocation policy afterwards (someone did it recently).
A moderate amount of allocations each frame is usually ok, and this routinely happens in C++ engines too. In my opinion, it's absolutely possible to make a game with D and GC enabled. It's a bit like not making too much drawcalls in a frame.
Eg. for this game I only made one struct pool and that was it: http://www.gamesfrommars.fr/wormhol/
Maybe Rust dethrones C++ one day.
http://www.mono-project.com/Compatibility
The big ones are: WCF, WPF, WWF... Guess what the first W in all of those acronyms stand for? Windows.
EDIT: It's right there at the top of the page - "Everything in .NET 4.0 except WPF, WWF, and with limited WCF." - I don't see a problem.
http://www.mono-project.com/Compatibility
I don't see how any of the non-implemented features are going to be blockers for a game engine.
The main issues are the pauses caused by the JIT and lack of memory layout control, which is very important to take advantage of how caches work.
Additionally current JITs, except for Mono, don't explore the set of available vector instructions.