|
'Keep it Simple' refers to the users.
Because users are getting more and more less educated (Friendly way of saying 'Dumber' ), software needs to be 'smarter' (Friendly way of saying 'Bloated' )
|
|
|
|
|
In regards to the language, you don't have to use all it's features just because they're there. As an embedded systems engineer (retired now), I used a subset of the C/C++ language in my projects.
|
|
|
|
|
0x01AA wrote: Once upon a time c# was such a beautiful, simply/logical structured language
It still is!
|
|
|
|
|
Or have the '?' at the end of the conditional then what falls under it is the answer:
if (x is not null)?
{
do_something();
}
we first ask if x is not null, then the answer would be to do_something(). This does make the language look more conversational. (Yes, this is going off the deep end.)
|
|
|
|
|
I have been using C# since 2000 and am impressed with how contemplative the languages teams at Microsoft have been to evolve the languages to address the computer science issues of the day. As you mentioned, they are now taking on the issue of nullability and providing the capabilities to identify and address the challenges. I have a background in mathematics and SQL Server so nullability has always been something that I have paid attention. But, many software programmers don't even think in terms of, take for example a Boolean where the values can be true, false, or indeterminate (null). The goal of course is to have more resilient code. The addition of null checking would seem like an easy thing to do, until you realize that the entire .Net library needs to checked and enabled to participate.
|
|
|
|
|
Hmmm... that seems more like an Easter Egg than a feature... I mean, in terms of fitting in with C#'s regular syntax, it really doesn't... "if (a!=3 || x is not null || b!=null)" ... and so on...
...what happens if you say "if (x is not null || b!=null)" Is that the same as "if (x is not (null || b!=null))? Doesn't work. Can you say "if (x is not 4)"?
|
|
|
|
|
Good call out.
This is a way to future proof against someone adding a messed up operator later.
The ironic thing is that if someone wrote incorrect overrides for “==“ or “!=“ where they neglected null, then the likely outcome would be a null pointer exception from the operator itself.
Legacy code, before someone introduces a bad operator!=
if (obj != null) obj.f();
Avoids future introduction of bad operator.
if (obj is not null) obj.f();
|
|
|
|
|
Super Lloyd wrote: With latest c# iteration, instead of x != null, one can write x is not null.
Something else to insist people should not use.
Super Lloyd wrote: But then I tried to override the == and != operators and then.. I understood!
Operator overloading was something that C++ programmers learned to avoid like the plague before C# existed.
|
|
|
|
|
Been using that all over the place. Technically, it does about the same as != null, but I think it's increased readability is a boon. A comparison may look like any other value comparison at a quick glance, but an is not null screams "Yo dawg, this is a very special case here, potentially used for high-level control flow/error handling".
|
|
|
|
|
I've been running benches on my machine, and my CPU benchmark is coming up really poorly compared to other systems with the same CPU. Like 10-17% percentile depending on the run.
I've updated the BIOS (which I think clobbered by hardware virtualization) and updated the chipset drivers.
It's a Ryzen Pro 4750G and I don't know much about AMD, but are these clock locked? If not it could be that others are overclocking theirs.
Does anyone have any insight here? Or know a bit about AMD cpus (this is my first one) and can tell me if these are overclockable at least? That would help my investigation.
Real programmers use butterflies
|
|
|
|
|
My first thought: cheap slow memory
|
|
|
|
|
My memory benchmark is about average to good. It's not gamer memory but it's decent.
This bench runs separate tests for CPU and memory so I imagine their CPU bench code fits in the cache.
Real programmers use butterflies
|
|
|
|
|
|
Yeah, that one told me to use a particular benchmark software, but that software wants an installer to run their installer. Seriously. And they require you to register with the website, and you can't even use a big three sign on/register method.
It's like they don't want me to use their product. (Cinebench)
So I'm not going to.
The problem with getting millions of likely hits is they may as well be no hits at all.
Real programmers use butterflies
modified 23-Dec-21 2:52am.
|
|
|
|
|
G means APU, do you have a discrete video card? If not, then the CL value of the RAM is important. Also important how much of the memory is assigned to the video card functionality.
|
|
|
|
|
I have discreet video - an RTX 2080ti, and the memory is set to autoassign to the onboard GPU (which isn't being used)
Real programmers use butterflies
|
|
|
|
|
Could it be that your CPU is throttled in the Windows Power settings?
|
|
|
|
|
I checked that.
Real programmers use butterflies
|
|
|
|
|
Check for thermal throttling. I have seen this on some of my AMD boxes.
|
|
|
|
|
honey the codewitch wrote: Does anyone have any insight here
Not a great deal. But take a look at this: https://www.amd.com/en/technologies/ryzen-master
If the CPU supports overclocking, this tool will allow you to do it from a GUI screen. I think maybe a reboot is needed aftewards, but it far easier than trying to figure out what BIOS settings to change, and/or what's safe values.
Keep Calm and Carry On
|
|
|
|
|
How's the CPU temp while running these benches?
|
|
|
|
|
My bench tool didn't track that. I'd need to find a separate tool to use to check
Real programmers use butterflies
|
|
|
|
|
As others have said I will bet it is due to temperature. Is the heatsink dusty? Or loose?
I would check it (CoreTemp is a good program Core Temp[^] )
If that shows high temps and thermal throttling buy some good thermal paste and maybe even a better cpu cooler.
|
|
|
|
|
No, the chip is running far cooler than it really should be under load.
Real programmers use butterflies
|
|
|
|
|
"The chip" or individual cores? Can you see if it is throttling? CoreTemp will give you info on each core. Also make sure your power settings are set to high performance.
It would also be nice to know if performance was better before the bios update.
|
|
|
|