4 ms·
Despite Java's growth, C remains the language of choice for operating systems and C++ for web browsers, desktop applications, games and high performance web ser
by solidsnack9000 8y ago
Despite Java's growth, C remains the language of choice for operating systems and C++ for web browsers, desktop applications, games and high performance web services.
Rust is really only competing with C/C++, not JavaScript or even Java (or Go).
- shmerl 8y agoI'm waiting for game engines to pick up Rust.
- mcjiggerlog 8y agoNot sure why downvoted. A language aimed at replacing systems languages like C++, which happens to be the go-to language for game development, seems like a reasonable choice for a game engine. There's actually a website dedicated to tracking this - http://arewegameyet.com/ http://arewegameyet.com/
- pjmlp 8y agoActually it is quite interesting, thanks for sharing. I think to be on pair with C++, a Rust based engine needs to have some Unreal like tooling. Which actually seems to be a couple of WIP on that website, so I will now get to track their progress. :)
- pjmlp 8y agoTo be competitive to C++ on the AAA world, Rust engine tooling need to be on pair with Ogre3D, Godot, Cocos2d-X, SpriteKit, Unreal, Unity, CryEngine. So it would be interesting to see what Seed Studios will come up with.
- pjmlp 8y agoSome of those reasons are political, not technical. Like C on embedded vs C++. On Windows large majority of apps are in .NET with some C++. On OS X and derived systems it is all about Objective-C and Swift for desktop apps. C++ is mostly used for drivers, LLVM tooling and Metal shaders. Android is Java with some C++. ChromeOS is all about JavaScript. So no, C and C++ have lost the desktop, nowadays they are used for the graphics composition engine, while the remaining APIs are built on top of it with another set of languages. If Rust is supposed to beat C and C++ on the desktop, it needs to be able to integrate into the IDE tooling alongside the mixed language tooling experience.
- __bjoernd 8y agoC is not used in the embedded space for 'political' reasons but for the fact that in contrast to C++ you have full control over what your program does and don't have to worry about when certain functions get magically called and why the size of your two-int struct is suddenly way larger than the 64 bits you expected it to be. Sure, this is all a matter of 'using it right', but from my experience many developers in the commercial embedded space are not programmers by trade and this learning those intricacies is a real hurdle for them.
- pjmlp 8y agoSure it is for political reasons when even C99 is seen as too modern, and many are unwilling to let go of C89 and Assembly even if the OEM toolchain supports modern C. And for another point of view of someone more relevant than my insignificant self, CppCon 2016: Dan Saks “extern c: Talking to C Programmers about C++” https://www.youtube.com/watch?v=D7Sd8A6_fYU https://www.youtube.com/watch?v=D7Sd8A6_fYU "Embedded Development with Dan Saks" http://cppcast.com/2016/10/dan-saks/ http://cppcast.com/2016/10/dan-saks/ Thankfully there are industry certification standards like AUTOSAR, which now require C++, so those devs can choose to keep grasping to C and switch industry or learn more modern languages.
- namibj 8y agoThat's relevant when you target <1$, >.15$ processors, but they are rather niche.
- fiedzia 8y ago> Despite Java's growth, C remains the language of choice for operating systems and C++ for web browsers Does it? Existing project use what they have chosen long time ago, we can only discuss choice for new ones. And new OSes often choose something else. I am not aware of any new webbrowser, so can't say anything about that.