Live data from Hacker News

The pool of talented C++ developers is running dry

efinancialcareers.com

801–810 of 869 posts

Re: The pool of talented C++ developers is running dry

#801
post #25

Rust should make the pool of C++ developers decrease exponentially in the coming decades. There's little reason to code a greenfield project in C++ unless it involves leveraging some niche libraries, and those niche libraries will eventually have Rust equivalents.

C++ doesn’t require you attend an annual furry convention.

I thought furries were mostly network engineers.

Re: The pool of talented C++ developers is running dry

#802

Earlier quoted context omitted.

With fiat you KNOW you're getting poorer by the minute, but with crypto you have the hope you will earn more. Fwiw I have a grand total of 300€ "invested" (or "lost" if you're a pessimist) in crypto, so I'm not exactly a crypto fanatic.

The point of money is to be spent, not to hold it. You can't have an asset that's both good to hold over the short and long term. (I forget where this is stated.) That's because the point of an economic system is to trick other people into making food for you, and holding money instead of trading it obviously isn't going to lead to that.

> The point of money is to be spent, not to hold it.

Why? Why prioritize spending now rather than later? If I can't defer consumption, I will always need to work, and I can't retire. That would be financial oppression.

> You can't have an asset that's both good to hold over the short and long term.

I am abnormally curious why this is the case.

> That's because the point of an economic system is to trick other people into making food for you

I'd rather they make food for me when I'm old, instead of when I'm young and I can make it for myself. How is this an argument against saving?

> holding money instead of trading it obviously isn't going to lead to that.

While it's true that if everyone saved in the short term, we'd see persistent recessions, it's bound to end, as people start to want to spend their earned money.

In "Die with Zero", an argument is made to allocate and spend everything you've made, because this life is all you've got to do so. I agree with this book.

Even in extreme deflation, people buy things they need. For example, technology prices have been in exponential free fall for decades, yet today the world's largest companies have a lot to do with selling computers, phones, and/or software.

The only reason for government currency inflation is balancing the (wasteful) budget, after the government spends beyond its means. This allows soft-defaults (government paying bond coupons in a diminishing currency) instead of hard-defaults (government failing to pay bond coupons). But both kinds of defaults should be seen as bad, by investors.

To get an idea of the scale of the misallocation, compare the tax revenue to GDP with government spending to GDP. The US government pays for 44% of the yearly domestic product, while only taxing 9.9%. This amounts to a LARGE benefit to those printing money and spending it before price inflation hits.

- https://data.worldbank.org/indicator/GC.TAX.TOTL.GD.ZS

- https://tradingeconomics.com/country-list/government-spendin...

Re: The pool of talented C++ developers is running dry

#803
post #673

Earlier quoted context omitted.

Yes, but when you want to do linked structures, really generic code without repetition or decent compile-time programming, then C++ is very powerful at that. These things are useful in many situations.

Sure, but I wouldn't say that's easy.

I have found table-generation and processing at compile-time to be of big help.

For example, pre-computing values or parsing at compile-time.

This is useful for example in the following situations:

- You want to embed things at compile-time but keep things apart in a file. This file can be used at run-time when developing but is embedded and literally vanishes (you put your config directly in a struct) when deploying. - You do not want to spend extra time at compile-time. - No need to protect data at run-time with mutexes, etc.

The simplification it can yield is not immediately obvious. It can take a bit more work but the result is worth it. D is more powerful than C++ at this, btw.

Re: The pool of talented C++ developers is running dry

#804
post #772
post #495

Earlier quoted context omitted.

I declare your comment to be high quality BS. First of all I never said C++ was going anywhere. I compared it to COBOL which is still estimated to be involved something on the order of 60-80% of financial transactions. C++ has a similarly bright future. But secondly, your claim is wildly overstated. C++ is a lot less fundamental and essential than you think. Operating systems: Linux and the *BSD family are written in…

I learned something, thanks. One of Chen's arguments is, that C allows better memory control compared to C++. For example, it's easy to place the vtable in pageable memory instead of non-pageable memory. Do you know if rust has this problem too, since it also uses vtables?

Rust uses fat-pointers to references and raw pointers to dynamically sized types (DSTs) – slices or trait objects. A fat pointer contains a pointer plus some information that makes the DST "complete" (e.g. the length, or in the case of trait objects, the additional data is a pointer to the vtable).

Generally, you have, under control, where you store your fat-pointer.

Re: The pool of talented C++ developers is running dry

#805
post #27

Earlier quoted context omitted.

Having recently learned C++/C.. I don't see why it would be taught as a first language outside of specializations. The gains from C/C++ coding are vastly outweighed by the costs. The reality is that there is no good, agreed upon standard in C++ for how to manage memory... how would you teach this to junior engineers at university?

I'm always conflicted with this. My gut says any new student should start with an interpreted language like Python or JS/TypeScript. As that gets you to running code, and core concepts like variables, loops and if statements in little to no time. However, there is value in learning some of the under the hood concepts such as pointers, structs, memory layout, endianess, pass by reference, compilers etc. I don't think…

I would suggest Pascal or a compiled BASIC dialect to learn those things.

The nice thing with these languages is that they are relatively small but still has these concepts, thus perfect for learning.

Re: The pool of talented C++ developers is running dry

#806

Earlier quoted context omitted.

I also love Python the language, but it’s hard to keep using it when it’s so slow. Parallel processing helps, but it’s still slow. Definitely dumping pandas the first chance I get. It’s one of two major bottlenecks with the other being anaconda for Windows. Maybe the culprit is running Python on Windows since it relies on so many parts of nix?

I can recommend pola.rs instead of pandas. For my use case it was insanely faster, I did not try it on Windows however.

Try to update your Python environment and also install ALL recommend dependencies for Pandas (and for Geopandas if you use it). I had one old env in Anaconda (Python 3.9.12, Pandas 1.4.2) and then created a new one in Mambaforge (Python 3.10.6 with Pandas 1.5.0). It gives me speed up one of experiment project from ≈30 min to ≈5 min. Use Python code only for glue and leave extensive calculations for C/C++ code. Pandas and Geopandas have the recommended C/C++ dependencies which dramatically speed up calculations and in new versions as I guess they improve integrations with these dependencies.

PS I also recommend to every one to use Mambaforge instead of Anaconda, because it uses Mamba dependency solver written in C++ and it is in orders of magnitude faster.

Re: The pool of talented C++ developers is running dry

#807
post #641

Earlier quoted context omitted.

Even Gas cooktops without a pilot light are surprisingly inefficient with under 40% of the energy ending up in your pan. (Which is why the air several feet above the pan is so hot.) On top of this you end up venting air your HVAC system just used a lot of energy to make pleasant outside and/or breathing noxious fumes from incomplete combustion so Carbon Monoxide, NOx, formaldehyde etc Induction stoves powered by natu…

It’s even worse if you don’t size the burner to the pan. My wife always uses the largest burner with an 8 inch pan, probably 70% of the heat goes around and over it. Really made me want to switch to induction but I noticed the same thing that most induction cooktops have stupid, unreliable touch controls.

I think efficiency of a hob is pretty low on the priority list right? Certainly when framed in cost terms (gas being cheaper than electric). The total amounts are too small relative to hot water / home heating to make much difference. Especially if you go out of your way to find an induction cooker with a decent interface (there is at least one out there with knobs).

For most things which would need cooked on a hob for a long time we use an Instapot electric pressure cooker anyway (out of preference rather than efficiency concern).

Re: The pool of talented C++ developers is running dry

#809

Earlier quoted context omitted.

Isn't Julia a dynamically typed language?

Yes, but it's strongly typed, which is more important.

Yes but C++ is strongly and statically typed. Julia is not even running in the same race as C++.

Re: The pool of talented C++ developers is running dry

#810
post #485

Earlier quoted context omitted.

Most American voting machines print a ballot an let the voter review it, but not all. There have been some jurisdictions that have given up on that for reasons that seem bad and vague to me. I think mandating that voting machines be open source is a good idea to me. Here in the US we have 3rd party auditing companies. Various US State and the Federal Government all have different testing/auditing labs that they have…

> Do Brazil have anything similar with auditors or inspectors? Every year before elections, the government entity responsible for the voting machines invites hackers to run penetration tests [0]. > Or at least some crypto connecting the vendor to the polling locations? The machines have no internet access at all. [0, Portuguese]: https://www.tse.jus.br/comunicacao/noticias/2020/Abril/voce-...

Important to note the public test has lots of restrictions.
Post reply on HN