4 ms·
C was supposed to be replaced by C++ a long time ago, but a lot of systems programmers, particularly in open source, have reverted back to vanilla C because C++
by kyllo 12y ago
C was supposed to be replaced by C++ a long time ago, but a lot of systems programmers, particularly in open source, have reverted back to vanilla C because C++ is too complicated or provides abstractions that are not needed for the problem. But on the Windows platform C++ has mostly replaced C, and on the Mac / OSX platform Objective-C has basically replaced C.
There are a few other newer systems programming languages like D, Go, and Nim, but these all have garbage collection and so are unsuitable for many of the use cases for C/C++. I understand D and Nim allow you to turn GC off, but then you also lose memory safety so it's equivalent to using C++ from that perspective.
I believe Rust is the most promising new systems programming language because its compiler enforces memory safety without garbage collection. But it's just recently hit 1.0 so it may be a while before it becomes very widely adopted.
- marrs 12y agoBut it's just recently hit 1.0 As an alpha only. It's still much too unstable to be able to do anything serious with it.
- duaneb 12y ago> As an alpha only. It's still much too unstable to be able to do anything serious with it. No, it's powerful today. I'm writing 'serious' code with it. Just don't write production code with it because your code will have to do a LOT of maintenance to keep up with HEAD.
- kyllo 12y agoYehuda Katz uses it for production code for skylight.io, he's also a core Rust contributor though.
- kibwen 12y agoYehuda was invited to be a core team member because of his use of Rust in skylight.io, not the other way around. At this point, anyone who's seriously using Rust as a fundamental component of their company is probably eligible for core team membership. :P
- dbaupp 12y agomarrs is correct, about the label: we call the current Rust release 1.0.0-alpha2. 1.0.0-beta will be coming out soon and the true 1.0.0 after that. http://blog.rust-lang.org/2015/02/13/Final-1.0-timeline.html http://blog.rust-lang.org/2015/02/13/Final-1.0-timeline.html
- marrs 12y agoPerhaps I should have been clearer: don't do anything serious with it if you have a deadline to meet.