Kate Gregory said in an interview that she likes to call C++ programmers the dark matter of the software development world. They’re not visible — they don’t attend conferences and they don’t buy a lot of books — and yet there are a lot of them.
I’ve thought the same about those who write code for games and embedded systems. I’ve hardly met anyone who works in either area, but there is a huge amount of such software and someone has to be writing it.
Game developers and embedded systems folk often work in C++, so my observation would overlap with Kate Gregory’s.
Hello,
Yep, embedded developer here…
I don’t go to conferences, I don’t buy books. Thing is, I don’t need to because I don’t have to learn the latest and greatest microsoft “technology” every year and 1/2 or so…
past maloc, free, realloc, string manipulation and memory move, all the functions that I use, I (or my team) create. We, embedded guys are self sufficent, and we like it that way.
Each time I have to program on windows, it seems to be just an endless search for ‘the function that does what I want’ in crap documentation.
Regards, Cyrille
What do you mean they don’t go to conferences? Go to GDC, E3, or Siggraph and you’ll find crowds of people working in game development or the visual effects field. Almost all of them use C++ daily.
Slavomir: Since Kate Gregory works primarily with Microsoft tools, she may mean that C++ programmers hardly attend Microsoft conferences. Or she may be lumping all conferences together; I don’t know how large the conferences you mentioned are compared to all software developer conferences.
It is a great time to program in C++, not much hype and commercial pluff, it is quiet and thoughtful here, C++ books are getting better since they make more sense now as the use of the language matured, no ridiculous conferences, new standard focused on the language rather than in the TV-commercial kind of features, less bugs in compilers. And you see all the giants, Java, C#, .NET, all CLI, dancing around wanting to see were to go next.
Just a quick note here. I know several embedded system programmers. They oftenuse C not C++, although this is slowly changing (several years ago, they were using assembler, and it took some time to migrate to C). To that I would add most system and device drivers programmers, as well as almost anyone who has written or contributed to an interpreter/compiler. On the other side, it’ s my understanding that all game programmers write their core libraries in C++, and use Lua and Python for scripting.
Interestingly, I don’t see a replacement for C/C++ in these areas. Not anytime soon.
@gappy
Add also financial programmers (middleware is often written in something else than C++, but core number-crunching stuff is mostly C++). I am the odd one in this area, as I work on pricing models but code in Java.
Embedded guy here. About 75% C, 25% C++ (would be more like 50-50 if I had my druthers).
Cyrille talks about “embedded” and Microsoft in the same sentence. For me, they are almost mutually exclusive. I deal with PowerPC communciations processors, DSPs, FPGAs, small uCs, etc… NONE OF THIS STUFF runs Microsoft. It either runs a commercial RTOS (real RTOS, not Windows embedded), a custom tight kernel, or something close to bare metal.
Unfortunately (from my perspective), to Microsoft, “embedded” means “non PC”. To me, “embedded” means some combination of real-time (hard real time – i.e., things break and explode when deadlines are missed), close to the hardware (i.e. writing to registers, dealing with analog-to-digital converters, initializing hardware, etc.)
Most of my friends either write signal processing firmware, games, or financial / trading software. Lots of C++, lots of emphasis on performance, under-the-hood knowledge required, etc…
It is a nice analogy, though in reality ‘dark matter’ could better have been called ‘hypothetical undetected matter’. We don’t know there is such matter at all (or ‘dark energy’, another label for an unexplained phenomenon). It is just that _if_ the observations should come from _matter_ it is matter that we cannot see in terms of it giving off radiation (hence: ‘dark’). But it could be quite something else.
The programmers of the analogy, we really know that they are real.