Interesting times indeed.

I think the point Greg made about so much code being from external sources, 
often with uncontrolled/tested releases (which we often blindly trust at our 
own detriment).

I do have a rule to not bring in third party libraries unless it's absolutely 
necessary. It's a double edged sword. Code you didn't have to write, but it's 
not free. You have the overhead of having to live with someone elses bugs.
It is often open source though, so I guess if you are bold enough to use it, 
should you also be bold enough to own it? I'm sure they would be more than 
happy to accept your PR and bug fixes.

How many of us use these libraries but don't take on maintaining them? It's 
indeed an attractive carrot to dangle in front of a dev. Libraries that mostly 
work, or code you have to write yourself.

I do place a level of trust on these libraries but when they are pumping out 
new versions so often (and so many new versions that are not backward 
compatible) even when restricting your libraries (ie Microsoft official 
libraries only), that problem does not go away.

I have a couple of UWP apps in the app store which I've not updated in a few 
years. They mostly work, a couple of issues I could not work around due to some 
platform design decisions, but they have more than paid me for the time. Not 
retirement well, but some extra pocket money.
I was putting off updating them and now I hear UWP apps are being sunseted, and 
Windows 11 does not even have live tiles anymore. So my apps that were written 
for Windows 8, are now mostly useless. I think I'll updated them one day, just 
to be on the latest version, and look to see if a new Widget (or whatever the 
side bar apps are called) and see if any might port over.

I guess if it was easy anyone could do it... 🙂
That all said, I still prefer coding to cleaning gutters or digging holes!!

cheers
Stephen

________________________________
From: ozdotnet-boun...@ozdotnet.com <ozdotnet-boun...@ozdotnet.com> on behalf 
of Craig vN <crai...@gmail.com>
Sent: Wednesday, 27 October 2021 12:36 PM
To: ozDotNet <ozdotnet@ozdotnet.com>
Subject: Re: DLL Hell

I have a large .NET 4.x project that needs upgrading to a new version. I have 
decided that .NET 6 is the one, but I dread the thought of doing it, hundreds 
of thousands of lines of code, outdated libraries.

On Wed, Oct 27, 2021 at 12:48 PM Greg Keogh 
<gfke...@gmail.com<mailto:gfke...@gmail.com>> wrote:
It's not Friday but ... the last few years of being a .NET developer in the 
transition period from full Framework through Standard to Core has been one of 
the worst periods of my career. We've had so many targets, libraries, versions, 
dependencies and releases that I have little trust that anything I write or 
publish will work or have any shelf life. Maybe the full arrival of .NET 6 will 
bring back the simplicity and stability that I last experienced in the 
Framework 4.5 days.

By a long shot, my worst suffering in recent years has been caused by compile 
problems and runtime crashes due to DLL versions and binding. I assume others 
here, like me, have exhausted man-days or weeks trying to solve DLL hell with 
System.Http or Newtonsoft (special mention!!), or many other dreaded names that 
just keep turning up like turds you can't flush. There have been times where 
I've had to update some library reference, and I spend 6 hours trying to make 
it compile and run. I've recently had problems (non-breaking ones) that have 
taken weeks of spare time research to overcome. Sometimes I reach the point of 
tears, so I just go and sit outside and read a book or clean the gutters to 
clear my head. In 40 years of programming, I've never experienced times this 
bad. There are often days where I spend more time Google searching for samples 
and answers than I do actually developing software, seriously!

The reason I'm so morose today is that I've just spent 2 days trying to get 
Python 3.7 to call one of our .NET library suites for data analysis. Using the 
excellent Python.NET package I came so close I could smell victory, but it was 
snatched out of hands by a Threading.Extensions 4.2.0.0 not found DLL Hell 
crash. Normally you would add a config file and redirect, but I'm in the 
goddamn Python runtime environment. More Google searching suggests vague and 
difficult workarounds that will take days of research, with no promise of 
success.

Is anyone else upset that software development is so hard? I know some people 
who are abandoning IT and preparing to retire because the burden of keeping up 
with all the latest technology and tools on different platforms from different 
vendors is just too much for them. One chap said that even taking time to 
become proficient in Git and version control would be worse than a lobotomy.

Greg K

Reply via email to