Some of the advice is applicable tp C++ as well. Enums and such things with non-exhaustive checks all have warnings and setting warnings as errors helps.
A few I registered a company in Delaware as a foreign company for SaaS business.
I have been unable to complete an organization certificate for my website.
Unfortunately I could not get one since my legal phone is not the way to reach me and they tell me that they cannot change that phone to reach me according to my legal representatives in Delaware.
I need some kind of certificate of good standing or being able to have a verifiable phone and/or email to reach me in a "reliable" way from a third party source.
How could I proceed for this, since I am not knowledgeable of the law in Delaware. Probably I need an attorney and I would be happy if I can be recommended one that could emit such verification.
SuSE would be a better option then, IMO. Not only have they been around much longer (1994 vs 2004), they offer much better support compared to Canonical. And as a bonus, you don't need to put up with any of the continuous enshittifications Canonical subjects you to (Snaps, increasing poor quality code etc).
The funny thing about SuSE, and admittedly I haven't touched it for over a decade now: Everyone I knew who used it touted that it had great enterprise support as a reason for using it, but everybody I knew that used SuSE used OpenSuSE. This was over ~20 years of providing Linux support, RHEL-based and Ubuntu were by far the distros we dealt with the most.
One issue I had with OpenSuSE was that once a new release drops you have around 6mo to migrate all your machines over to it. Which, for most businesses, is a pretty short timeline, in my experience.
I've always preferred authoring RPMs over debs, but Caninical having basically one distro without the forks, I think is a huge benefit for a business using them.
These days, since it's all about containers, I'd recommend openSUSE microOS, which is a minimal immutable rolling OS that's suitable as a container host. https://microos.opensuse.org/
I am not sure how dangerous it is. Not saying it is not but maybe hyperbole.
I have been hearing this and the climate change stuff since I was young as a threat to humans and I think there must be a lot more than science in here, at least, in my humble opinion.
Flu has a long track record in causing pandemics with new variants, e.g., the Spanish flu in 1918–1920. Outbreaks spread much faster now thanks to air travel. We do have the advantages of P2 masks and mRNA vaccines.
Better language? Well, now mix those with C libraries thst you need and make them generate code as efficient as C++ (I would assume people use C++ for a performance advantage of some kind in many scenarios).
Read my comment above: hardening is in, an effort to classify and remove UB is on the way. Implicit contracts (yes, that means basically to bounds-check even native arrays automatically) is on the way.
If you use warnings as errors they catch even subsets of dangling nowadays. Other ways of dangling have been made illegal (temporary conversions and range for lifetime extension).
I agree with you the defaults are still not the best but it is dteafily getting better.
But I think in the next years things are going to be tightened further in standard terms for better defaults. In fact, it is already happening.
All of that is great, and I strongly support these initiatives, but they are all teeny tiny bandaids.
Lifetimes are a crucial aspect of writing code in C++, yet they do not appear anywhere in the syntax. The same goes for synchronization. These problems are fundamentally unfixable without major, incompatible language changes.
It is true that it will never be Rust-safe level bit there is ongoing work: stl library hardening is in for C++26, there are some temporaries dangling that has been removed (range for lofetime extension and forbid conversion snd binding to temporary), there is a form of implicit contracts on the way (this means that even regular code can be compiled wirh implicit bounds checking, including arrays) and there is sn ongoing effort to remove all forms of UB.
So I agree it has its quirks but if the defaults keep changing and improving it keeps evolving into a safer by default thing compared to before.
No, I do not mean into you must be super-skillfull anymore: I mean that with all of that in, things are much safer by default.
Things keep improving a bit slower than we would like (this is design by committee) but steadily.
reply