3 ms·
> MySQL (C) MySQL and MariaDB are a mixed of C++ and C nowadays [^2] [^1]. Most Database reimplementation nowadays are C++, Go or more recently (Rust). > - me
by adev_ 6y ago
> MySQL (C)
MySQL and MariaDB are a mixed of C++ and C nowadays [^2] [^1]. Most Database reimplementation nowadays are C++, Go or more recently (Rust).
> - message buses: DBus (C)
ZeroMQ is C++, Same for gRPC (reference of RPC nowadays), same for Thrift [^4]
> - games
Almost all triple A use the Unreal Engine or an home made engine in C++. Even Unity that brand itself as C# uses some C++ internally.
> distributed systems
Almost all Distributed system in the HPC world is C++ or Julia nowadays, with a bit of Fortran surviving.
> - AI runtimes
AI means often GPU usage, GPU usage means CUDA, meaning C++. That's valid for the today three main contenders (Tensorflow, pyTorch, MXNet ) and they all provide a python API on top of C++.
> Now let's add one obvious category which was suspiciously left out from this list: operating systems: Unix, BSDs, Linux, Plan 9, Illumos, GNU Mach, Windows NT, XNU --- there is almost no C++ here (and any C++ that there is in just the last two).
C++ is also in Fushia (Google) and BeOS/Haiku. But OS are mainly C (or Rust nowaday) because kernel space. Exception handling is problematic in kernel space.
[^1]: https:/github.com/MariaDB/server
[^2]: https://github.com/mysql/mysql-server https://github.com/mysql/mysql-server
[^3]: https://zeromq.org/ https://zeromq.org/
[^4]: https://github.com/facebook/fbthrift https://github.com/facebook/fbthrift
- gpderetta 6y agoTo add more: Regarding DBs, there is also ScyllaDB which really take advantage of the modern C++ realtime application design. DBus is just a spec, the reference implementation is in C, but for example QtDBus is in C++. Also the original unix predates C++ by ten years at least [1], so it is unsurprising that all descendants (direct or not) are written in C. [1] C was designed to implement unix in the first place.
- abjKT26nO8 6y agoI'm not debating that there are a lot of projects written in C++. I only argue that C is enough to be able to learn about state-of-the-art tech in this area. I'm not even going to debate C++'s merits at this point. Everybody's had enough of that already. There are people who stick to it and there are those who bailed after a while. It's just that, if I have a choice, I won't work with the people who belong to the former group.