|
I think you're not noticing that managed code, to the extent of .NET and maybe Java, (I don't know much about Java except that I hate eclipse,) was revolutionary. It dumbed down programming on a scale even greater than the effect Visual Basic had on Windows application programming.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Not sure how you can draw that conclusion based off an SGML example. While I do concur the "rise" of XML and .NET were around the same time, that example stands independent of .NET, so I'm not sure what I failed to notice given the concept has nothing to do with managed code in and of itself and more to do with junior programmers of any generation knowing little of the past.
Jeremy Falcon
|
|
|
|
|
I just wanted to say that. Nothing personal.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Fair enough.
Jeremy Falcon
|
|
|
|
|
We just happened to be scaling more in the time of .NET.
I don't think anything will ever dethrone VB/Office dev as making dev simpler, save maybe new AI things that don't yet exist but harken back to those "design by wizard" but with way way better wizards.
|
|
|
|
|
Managed code simply frees the programmer from having to deal with most memory management issues. You still need to understand how the management framework's runtime operates to make the best use of it.
|
|
|
|
|
My XML hype period started around 2002.
When ajax (x is for XML!) actually used XML on the wire.
Then JSON came along and the security analysts have not had a good night’s sleep since.
I still appreciate how easy it is to write a quick XSLT to extract anything from an XML file.
|
|
|
|
|
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
|
|
|
|
|
ConcurrentBag + Task.Waitxxx/WhenAll/Any
|
|
|
|
|
Marc Clifton wrote: this method is now async, so the parent has to be async, oh wait, the grandparent now has to be async...
So much this.
One of these days I'll have to actually sit down and take the time to study this and try to understand, once and for all, how to avoid getting yourself in that situation.
Because right now I find myself avoiding using async/await because I see it as having to "retroactively pollute the entire codebase". And that can't be right, that has to be just me misunderstanding and misusing it.
|
|
|
|
|
|
Thanks for that, it's been bookmarked and I'll go over it closely.
The very first response (upvoted 1096 times) starts with:
"Asynchronous programming does "grow" through the code base. It has been compared to a zombie virus. The best solution is to allow it to grow"
...which is exactly what I'm complaining about. You start polluting your libraries with those keywords, and then suddenly you have to modify everything that requires it, going completely against the very concept of encapsulation.
|
|
|
|
|
Mainly it grows because every async method has a state machine created by the compiler. Yes, partial async is a contradiction and at best leads to the same thread-blocking as fully synchronous code, while the usually worst outcome is deadlock. The fact that async is an all-or-nothing commitment is IMO the main reason for developers not embracing it, but there's no excuse to not use it for greenfield projects. If you do it right, you also pass a CancellationToken with every call; increasingly, I'm also becoming convinced of passing IProgress<t>, at least for certain public members.
There was recent interest in replicating the Go concept of green threads, which I think would have been a game changer had it been used instead of async/await. Green Thread Experiment Results · Issue #2398 · dotnet/runtimelab · GitHub[^]
|
|
|
|
|
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.
|
|
|
|
|
Richard Andrew x64 wrote: I'm floating the idea of switching to Linux for personal use. I make my living with Microsoft technologies
I'm in the same boat. Can't abandon MS because of work (I've always worked for full-on MS shops), but given where MS is clearly headed, I'd rather not follow.
I like tinkering with Linux in a VM, and have an old laptop or two running it directly on the hardware, but dedicating myself to it would be a tough transition.
modified 25-Jun-24 9:48am.
|
|
|
|
|
There's one or two programs that won't work, but I switched a few years back (to Linux Mint) and never looked back.
By one or two programs, just about everything mainstream has a native version, or will run in Wine. Even most games (some still limited by flakey DRM). Some even run faster. The things I've not been able to get working are Samsung phone backup software and that kind of thing.
And it's so fast (comparatively). I needed 16GB ram for Windows, on Linux I could make do with 8GB. That said, I have a feeling that on a laptop it's not as frugal with battery use. I don't have a laptop, but people who I know that do are telling me battery use is not as good. . . those same people are not ones that will have optimised anything though.
Hope that helps.
|
|
|
|
|
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.
|
|
|
|
|
swampwiz wrote: Micro$oft's
How 1990's of you. Coming straight for Slashdot?
(Sorry, it's just a pet peeve of mine. My perspective is, get over it, everybody does what they do for $ and if you're not, you're either lying or I don't know what part of the world you're from where everything is free).
|
|
|
|