|
Oh, and IMO it's a bit easier to do multithreaded work in C on Linux than Windows.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: Oh, and IMO it's a bit easier to do multithreaded work in C on Linux than Windows. I love thread handling in C#. I can go high level and just let the framework do what it thinks it's best, or I can go low level and take complete control. And threads (aka async tasks) with awaits, while it can be a bit of a hurdle to sometimes realize what I did wrong and to how to break the chain of, oh, this method is now async, so the parent has to be async, oh wait, the grandparent now has to be async..., yeah, how to do deal with that takes some finesse, but I still love how C# implements the whole mess.
|
|
|
|
|
I do have to admit man, while I've done very, very, very little multi-threading in C#, from what I've seen it does make it nice. More recent versions of C++ do as well.
Jeremy Falcon
|
|
|
|
|
They keep adding layers of lipstick, but it's still a pig!
A home without books is a body without soul. Marcus Tullius Cicero
PartsBin an Electronics Part Organizer - Release Version 1.4.0 (Many new features) JaxCoder.com
Latest Article: EventAggregator
|
|
|
|
|
Surely you don't think of computers as pigs, do you?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
I admit to having never developed anything in C# or anything else managed. I admit that the .net ecosystem is nice, but I just wish Microsoft would stop renaming stuff to make it look new. That was the gist of my rant.
I've done a good bit of Unix development in the past - device drivers, graphics subsystems, applications, likely a few years before Linux became a twinkle in someone's eye. Tinkering, it's a bit of a shock to step back into that environment - much closer to the base system. I'm looking forward to relearning make files .
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
To be honest, I'm floating the idea of switching to Linux for personal use. I make my living with Microsoft technologies, but for personal use, I'm considering what would be involved in switching.
I'll be interested to see how you make out.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
I haven't developed in C# or anything managed either. Some things about C# are appealing, but it's not a fit for what I've focused on so far. Besides, you can't kiss all the girls.
Renaming in large corporations sometimes occurs when a new group takes something over and rebrands it, even to the point of inventing new terminology. It's often at the behest of the new VP, much like an animal engaging in scent marking. My former boss described it as "Same lady, new dress."
I'd heard so many horror stories about makefiles that I kept delaying porting my code from Windows to Linux. And one day I discovered CMake, which even this dinosaur learned with relative ease. If it's a fit for what you doing (building a large C++ code base in my case), take a look at it.
|
|
|
|
|
I think Micro$oft's Delegate system to be quite hokey. Just give me regular function pointers to work with!
|
|
|
|
|
Exactly what I was thinking. But my C++ work tends to be relatively close to hardware with some desktop code mixed in, so I rarely if ever use the higher end stuff of C++. Need to read the next comment.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
|
All my personal stuff ( a lot ) is on Linux
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
My first plan is to see how much I can do on a raspberry pi. Plug in a 1TB usb drive, and I think it will do everything I need it to do.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
Take a look at the new NVME hat for the 5. I am now also using macro pads on the Pi and Debian. Lazy man’s tool.
>64
It’s weird being the same age as old people. Live every day like it is your last; one day, it will be.
|
|
|
|
|
"Starting next week, I'm moving to linux." Welcome to the club.
PS I still have to deal with Winders quite often, But not for my own stuff.
To err is human to really elephant it up you need a computer
|
|
|
|
|
But backwards it's even more stupid.
Yeah I'll get my coat...
|
|
|
|
|
I been click-baited!! Help, I been trolled!
Why did I click that? Why?
|
|
|
|
|
And so fast too
|
|
|
|
|
I like to keep my reaction-time extremely fast.
I've accidentally bought dozens of products I don't even want because they were on sale.
And, I've also released numerous viruses (virii?) onto my computer because of this, but I just keep coming back for more.
|
|
|
|
|
"Life is too short not to take chances."
|
|
|
|
|
There are certain things that are not appropriate in 192KB of SRAM.
Garbage collection is one of them.
There are certain things that are not appropriate on an 80MHz CPU.
Running an interpreter is one of them.
So why in the world is MicroPython so popular?
It's ridiculously slow, and just recently I've been trying diagnose what looks like (but can't be?) a heap frag issue in some MP firmware.
You can also write poor C and C++ code, of course. But the difference is you can also write *good* C and C++ code.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Worse - non thread safe memory allocation that c++ does at a whim. That drove us crazy for months until we figured out what was going on.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
I don't even use the STL on embedded, mostly because I've run into incomplete and/or non-compliant implementations and I don't want to keep track of which platforms I need to fork for. Secondarily, the way it uses the heap is shameful out of the box. Utterly irresponsible unless you have gobs of RAM to where heap frag is never an issue, so you're usually stuck creating your own custom allocators and your own management scheme, but aside from that, many devices have multiple heaps with different sizes and performance characteristics, and getting The STL to handle that gracefully is just more trouble than it's worth, IMO.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
The shop I'm leaving cannot spell STL. There were hopes, but design went into a different direction. All of the base code is written in pure C, the HMI - when one is needed is all JavaScript gobbly gook. Company just got fed up with MS bullshit.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
Yeah. As far as I can tell Microsoft didn't truly straighten out their C++ compiler until VS 2022. That's when my standards compliant code started compiling for it, and it wasn't even using the STL, though it makes heavy use of templates.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|