Comment Re:If having video as wallpaper... (Score 1) 75
I wish they would bring a modern Active Desktop back. If they want a video, you could just run an RTSP stream or an embedded video in a web page. I miss that.
I currently work hybrid. It reduces my effective pay by around 10%, which is a hell of a cut. It gains me nothing, since all meetings - even when we're all in the same room - are via teams, because company policy.
I see no added value from visiting the office.
However, I'd like to ask you what, if anything, you've ever done for your country or have you just held out your hand hoping your government would drop money into it?
Once you realize it is the governments of the world that cause tribalism, and pit us against each other, you will realize what a folly it was to go to war so some politicians and can win over some other politicians. Sorry if that upsets you, but the stupidest thing you can be is patriotic. Even in America, we are far from free, and far from the sort of men who went to war over a 1% tax on tea. Our governments own us. They are in control, and we cant do shit about it. They are evil, regardless of which side of the aisle you think your side has the moral high ground. You are wrong. No peoples want to harm you, no peoples want to take what is yours. Just governments do (unless you are Palestinian, and there are Israelis around). I commend your bravery for going to fight, just not the wits you used to decide to do it for some shitty politicians. They are all shitty. All of them.
So don't use STL
Indeed, No True Scotsman would use STL with C++.
clang-tidy and Cppcheck and flaw finder and Sonarqube
The last job I had where I had to use C/C++, we automatically ran an expensive static analysis tool every time we checked in code. I'd estimate that it only found about half of the potential segfaults, and it made up for that by finding twice as many false positives.
The "rules" of mutable collections in STL state that collections may not be mutated while being iterated.
Nope. If I had used st::list instead of std::vector, it would have been perfectly fine and officially supported. (Assuming I changed "i+10" to "i+11" in order to make the algorithm actually terminate, although that change wouldn't affect the vector crash.).
The problem is that there are dozens of different rules you have to remember to apply to the different types of lists and iterators. And that's only talking about that one topic. There are hundreds of other rules covering a multitude of language aspects that you have to mentally apply against every single line of code you write, many of which can potentially cause memory corruption.
Ish.
I would not trust C++ for safety-critical work as MISRA can only limit features, it can't add support for contracts.
There have been other dialects of C++ - Aspect-Oriented C++ and Feature-Oriented C++ being the two that I monitored closely. You can't really do either by using subsetting, regardless of mechanism.
IMHO, it might be easier to reverse the problem. Instead of having specific subsets for specific tasks, where you drill down to the subset you want, have specific subsets for specific mechanisms where you build up to the feature set you need.
You don't need the language to enforce memory safety to program memory-safe. The most important thing is, for example, to never touch raw pointers. C++ makes it very easy to avoid this. Rust forces you to avoid it, but just because C++ gives you the loaded gun, it doesn't mean you have to use it. In particular not on your own foot.
That is a dangerous misconception. You don't need to use any pointers to get memory errors in C++:
#include <stdio.h>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9};
for (auto i : v) {
if (i % 2 == 0) {
v.push_back(i + 10);
}
printf("%d\n", i);
}
return 0;
}
$ g++ -Wall -pedantic t.cpp
$ echo $?
0
$./a.out
1
2
-947527061
1600570778
5
6
7
8
9
languages like Rust exist to put ignorant programmers in straight jackets for their own good
Are you seriously trying to suggest that never allocating memory is not also a "straight jacket"?
You seem to be saying that a currently existing bowdlerized version C++ is safe for close-world problems. Possibly so, but that still leaves C++ unsuitable for open-world problems. That makes C++ only suitable for niche applications. Why learn it?
If you just use Rust or any other memory safe language, you won't have to worry about what kind of "world" you're writing for, or about choosing from a range of increasingly dangerous "profiles".
Oh, absolutely. These days, I spend so much time checking the output from computers, it would normally have been quicker to do searches by hand. This is... not useful.
I can fully understand that.
A restoration expert in Egypt has been arrested for stealing a 3,000 year old bracelet and selling it purely for the gold content, with the bracelet then melted down with other jewellery. Obviously, this sort of artefact CANNOT be replaced. Ever. And any and all scientific value it may have held has now been lost forever. It is almost certain that this is not the first such artefact destroyed.
For that you would want to focus on free energy and food replicators because once you have that, there's not much reason to work anymore.
No matter what, you're still going to need someone in a red shirt to duck into the circuit bays and reverse the polarity.
And on the seventh day, He exited from append mode.