C++ is still the language of choice when building fast things.
(Linus
being the duly noted exception of course.) Also note that building
fast things is not the same as building fast. Rust is never going to
catch on for a bunch of reasons: volatility, syntax, performance. Go
is better Java for back-end. Etc. But the things you still have to
build in C++ make your brain hurt. For instance, I felt the need to
write an optimized function for turning doubles into strings! 2016!
The good ol' sprintf was an order of magnitude slower and gcvt
isn't standardized enough (mostly thanks to Microsoft's _gcvt_s
shit). And boost is bloat and I don't use.
The drawback of writing these things in C++ is that it number of
lines of code you need to churn out is very high (43 in my case), not
to mention the overhead. The .h file takes up another line, and you
keep the code in an .inl to create fast code. The problem with that
is that when you change a central .inl you need to compile every
damn .cpp file in your project. And then of course you make a bug
which you aren't able to detect with your home-brew unit tests
(home-brew to avoid depending on third parties which sucks in C++,
and unable to detect since you don't foresee the hard bugs).
My bug was that 27.05020 would become "27.052". I.e. all decimal
zeros not next to the dot disappeared. Rust's syntax doesn't
prevent you from these silly bugs, but to Rust's credit I have to say
that you never would write this type of code. That is also true for
all sensible languages. Fucken C++...
I just experienced another even more trippy anomaly. I noticed
a bulge on the bottom of my lower-left arm. Very small, say 1
centimeter long, 0.4 centimeters wide and the shape of a parenthesis
pushing the skin out. Hard and very... worm-like. At first I thought
it was a piece of my subcutaneous fat that had hardened for some
reason. I have no parasites that I know of, and never had (there are
practically none in this country). Very strange. After a couple of
seconds it loosened up and disappeared. Either this is me starting to
lose my grip or I've somehow contracted something in need of a host.
I've never been scared of going insane, but would still prefer to
keep this type of thing a singular oddity rather than a reoccurring
anomaly.
With a least one anomaly gone, Trabant is slightly better than before. We're soon ready for a v1.1.
Ventures of an ex indie game developer