Earlier quoted context omitted.
I think this is probably the most salient point. C/Rust then Java. I don't know why people hate on Java so much. And I think C lives fine along side Rust.
Java is based on Objective-C without any of the nice flexibility, doesn't have value types, has C-like numeric types except they're less flexible yet not any safer, and its culture thinks you organize code by putting it into 6+ layers of namespaces inside other namespaces. My rule is that languages are good if they have value types, which explains why PHP is good.
The pool of talented C++ developers is running dry
751–760 of 869 posts
Re: The pool of talented C++ developers is running dry
#752Earlier quoted context omitted.
>C++ as a whole should be deprecated -- and no new projects should use C++ (unless for some very odd and specific reason). And what can be used instead of C++? C? If C was better, then C++ wouldn't have been invented. Rust? It's much more painful to use than C++. Zig? It's immature and has very low usage. Nim? Has very low user base. Julia? It isn't solving the same problems.
I don't think that's true. I started C++ using the 'cfront' system, the major push wasn't because C was somehow lacking, it was because it was fashionable to do object orient programming which is hard in C. Various horrible patterns were invented using function pointers so C programmers could feel like they were doing object oriented programming and all of them sucked. When cfront turned up, the first versions basica…
C# is much better but still it isn't a systems programming language due to garbage collection. So while you can solve some classes of problems easier and better, it can't replace all of C++ use cases.
Re: The pool of talented C++ developers is running dry
#753Earlier quoted context omitted.
It's only ugly because it was meant to be a federation of different programming paradigms. You can mix low level C calls with homegrown RAII frameworks, or mix traditional OOP with functional programming. Once you start throwing in preprocessor macros, meta programming, and templates, you can have a codebase that is incredibly complex to understand and maintain. As for the header/implementation separation, I always t…
Templates and Lambdas. Woof.
Re: The pool of talented C++ developers is running dry
#754Earlier quoted context omitted.
If people think C++ is hard to learn and attracts opinionated people boy are they in for a surprise when they start using Rust.
Learning rust is like cycling over 2 big hills. It’s exhausting and painful if you’re in any way out of shape. Learning C++ is like cycling from SF to LA. It starts easy enough and every day you’re making a lot of satisfying progress. But you have so far to go because of all the features and quirks of the language. It’s probably easier to get started learning C++. But it’s also much faster to finish learning rust and…
Re: The pool of talented C++ developers is running dry
#755Earlier quoted context omitted.
>C++ as a whole should be deprecated -- and no new projects should use C++ (unless for some very odd and specific reason). And what can be used instead of C++? C? If C was better, then C++ wouldn't have been invented. Rust? It's much more painful to use than C++. Zig? It's immature and has very low usage. Nim? Has very low user base. Julia? It isn't solving the same problems.
> And what can be used instead of C++? For most use cases Java is a better option. Very fast, without any of the pain. If you truly must not have a VM (rare), there's still C. Perhaps rust.
Re: The pool of talented C++ developers is running dry
#756Earlier quoted context omitted.
> I'm still wondering why `(int)` is spelled `reinterpret_cast ` in C++ 1. because it is greppable and unsafe 2. because there is also static_cast and dynamic_cast 3. Because in C (int) is all three at once and not greppable -> C will let you do whatever, C++ will not let you do with a static_cast everything you can do with a (T) cast. All in all, it is nice to ask, but if you do not know what you are talking about e…
> 1. because it is greppable and unsafe But it is not unsafe, or rather, the C++ casts aren't more safe. They have the same semantics. There are differences casting between class types, but with numeric types the issues are how to handle the value not fitting in (or being imprecise) in the destination type. Casting a value to int in C++ that overflows is still UB. It doesn't fix C's other strange numeric issues eithe…
Re: The pool of talented C++ developers is running dry
#757Earlier quoted context omitted.
The difference between C++ today, and what we had 20 years ago is not much. C++ has functionality built in today, we didn't have, but the OS provided, and now the language has many features we wished we had years ago. Example: Variadic templates. When that happened, the problems we would bang our head against the wall with magically vanished. Twenty years ago, every implementation of the std library had serious bugs…
Template metaprogramming is hardly ever needed anymore. C++20 has better built-in features that for most of what was done with it, that compile much faster. Almost all C++ programmers completely ignore it. You can too.
Re: The pool of talented C++ developers is running dry
#758Earlier quoted context omitted.
I don't know why you say that, because even in lieu of high inflation, USD has been less volatility than the majority of cryptocurrencies.
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.
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.
Re: The pool of talented C++ developers is running dry
#759Earlier quoted context omitted.
> You may also look into Kernel Programming for a lucrative systems programming career. This is the road I have taken since I started to work professionally, but I yet have to find a lucrative job. I know that I am paid more than microcontroller devs, but less than web devs. The market for kernel developers is not that big either.
I did Linux kernel work for a decade at my old company. Left due to low pay. Also worried about my employability. Not much call for C programmers in 2022. You’ll always fear losing your job. I love low level though, I do embedded projects for fun! I can probably sling back-end Python for 1.5x the salary. I wish embedded payed better, but it doesn’t and therefore I won’t help alleviate this “shortage”.
Re: The pool of talented C++ developers is running dry
#760Earlier quoted context omitted.
>C++ as a whole should be deprecated -- and no new projects should use C++ (unless for some very odd and specific reason). And what can be used instead of C++? C? If C was better, then C++ wouldn't have been invented. Rust? It's much more painful to use than C++. Zig? It's immature and has very low usage. Nim? Has very low user base. Julia? It isn't solving the same problems.
> Rust? It's much more painful to use than C++ Write a sufficiently complex memory safe program in C++. I dare you. It's been proven again and again that humans can't do it. And calling Rust more painful than C++ is just absurd.
You appear to have fallen for the Rust hype machine.
We do know many people at Google can't.