Re:Ask HN: Am I too late for the “Data Science” wave?
by wallscratch on Sunday November 15, 2020 @08:43AM
(#25101100)
> I found that for embedded C++ to be successful, you need to have some good (excellent sometimes was harmful, but that's a different topic)
Why were excellent C++ skills sometimes harmful?
Re:Ask HN: Am I too late for the “Data Science” wave?
by jeffreygoesto on Sunday November 15, 2020 @09:59AM
(#25101656)
First of all, it leaves the team behind if you use features that are too advanced. Makes collaboration hard if you have wildly diverging skills (in both ways).
Also, it did in our case take you away so far from the bare metal, that the code was elegant, but slow. It did not play well with our static allocators and allocated/deallocated way too much, especially temporaries.
You might i.e. check out talks like [0].
Re:Ask HN: Am I too late for the “Data Science” wave?
by deng on Sunday November 15, 2020 @10:31AM
(#25101913)
I agree. Another thing to consider is portability. You might have to port your software to obscure platforms with bad C++ compilers where compiler bugs are not uncommon at all, so it's better to stay clear of more advanced features. Also, you might have a legacy system which does not have modern C++ compilers, so you might have to restrict yourself to C++03. Another thing is code size, so templates should be used judiciously.
Re:Ask HN: Am I too late for the “Data Science” wave?
by dmurray on Sunday November 15, 2020 @11:11AM
(#25102212)
These replies both don't seem like they describe someone with "excellent" C++ skills. Sounds more like someone who knows a lot of advanced features of the language, but doesn't make the correct tradeoffs considering portability and/or performance.
Maybe it could be that he didn't know all the requirements up front and his mediocre colleague accidentally wrote code that better suited the company's unstated requirements (e.g. portability to niche systems). But that's hardly the most likely explanation.
Re:Ask HN: Am I too late for the “Data Science” wave?
by jeffreygoesto on Tuesday November 17, 2020 @01:33PM
(#25127635)
Ah, ok. In my head I do have a distinction between excellent C++ and excellent domain skills. So that person had excellent C++ skills but did not properly choose which C++ subset to use for the domain. From your comment I think you would say "excellent" implies "in all relevant aspects", whereas I just meant the pure programming language. What I tried to write in my first comment is that it is more and more difficult to find both combined in one person.
And there are a lot of foot guns around... ;-)