
Why I don't spend time with Modern C++ anymore - ingve
https://www.linkedin.com/pulse/why-i-dont-spend-time-modern-c-anymore-henrique-bucher-phd
======
w8rbt
What does he propose as a replacement for C++? Did I miss that part? IMO,
there's currently nothing mainstream that can replace it. Of course, C is just
as fast, but has the same expert problem he cites and lacks many of the safety
features found in C++. If you need a very fast, relatively safe, mainstream
systems language, there's not much else out there.

~~~
cottonseed
> Today the "Modern Technologist" has to rely on a new set of languages:
> Verilog, VHDL.

and

> all sorts of reconfigurable hardware are being deployed in the field. Intel
> is currently shipping Xeon CPUs with embedded FPGAs. IOT is going to become
> a multi-billion dollar market in the next five years, and it is largely
> propelled by little $10 FPGAs that will require an astounding amount of
> qualified technologists to program them.

I can't say I disagree (I wrote arachne-pnr [0] last year to learn about
exactly these technologies) but I don't know how many people are going to be
developing next generation of high performance systems in VHDL and Verilog
compared to modern programming languages. I think there is a huge opportunity
for tool development in this space.

[0] [https://github.com/cseed/arachne-pnr](https://github.com/cseed/arachne-
pnr)

~~~
kazinator
Nobody is going to write, say, a Firefox plugin in VHDL.

~~~
pcwalton
To be fair, nobody is going to write Firefox plugins in C++ anymore either
(except maybe with Emscripten/wasm).

------
cm3
Can we merge submissions?

This and
[https://news.ycombinator.com/item?id=11720659](https://news.ycombinator.com/item?id=11720659)

~~~
ingve
I have no idea why this submission got resurrected now, it was submitted
several days ago and failed to get any traction. Hope dang can kill it and
move the comments to the newer and more active thread.

~~~
dang
Sorry; I didn't see this until now. I think there were some crossed wires at
our end.

In the future it's best to email hn@ycombinator.com with something like this,
because then we're sure to see it.

------
n00b101
As has always been the case, effective use of modern C++ requires knowing
which subset of the language to use and which to avoid.

I agree with the author's criticisms of many C++ features. At the same time, I
think that a proper simple, modern subset of C++ exists that is much more
productive and safer than C, without sacrificing performance. You can also
optimize progressively, for example start with using std::string and
std::vector and then replace the stock implementations if they aren't
performant on your target architecture. I would not, however, recommend using
C++ for GPU kernel code - a mix of C++ for CPU code and C for GPU kernel code
works best. It is not ideal, but it's the best toolset available for serious
industrial development.

FPGAs are exciting, but they've also been the "next big thing" in general
purpose computing forever. Obviously it makes sense to use FPGAs for certain
HFT and embedded applications, but that's not the same as general purpose
computing which is what C/C++ is for. Not to mention, FPGA compile times can
take hours or even days, which pales in comparison to most C++ template
overhead.

I would also say that for IOT, I'm not sure why it is obvious that "$10 FPGAs"
should dominate. Why not a $2 microcontroller? Embedded devices have been
around long before "IOT" became a buzzword, and we can see that
microcontrollers, FPGAs, SOCs, and custom ASICs all have a role to play
depending on the application.

------
ngrilly
Doesn't Rust look like an excellent answer to the author's issues with C++?

------
dallbee
I wonder if the author has similar views about C, which doesn't have many of
the problems that he's talking about.

Furthermore, many of his arguments seem to be statements about _all_ high
level languages.

------
any1
During my time as a systems programmer, I've gone from C to C++ to C again.

At first, I didn't understand it so I feared it. Then I understood some of it,
so I liked it. Finally, I understood most of it, so the mirage dissolved in
front of my eyes and I no longer seek it.

------
alpineidyll3
I totally agree with everything in this article.

