Hi Greg,

Every day when I open an older SQL code project, I'm thankful that it's likely 
to just work, unchanged.

By comparison, every single time that I open a VS app project that I haven't 
touched for a few months, I shudder about what I'm likely to have to spend time 
fixing.

It's largely an attitude thing from the dev teams. I know that when someone 
stuffs up in the SQL team, they know that people are going to be still swearing 
at them in 18 years' time, wondering why that made that mistake. They pride 
themselves on not breaking things. I just don't see that in other teams.

The app dev teams seem to work on the basis that anything older than a few 
months should be thrown away and rebuilt.

I used to find it funny going to conferences where people would be telling devs 
to avoid doing something, and yet it was exactly what the same people told them 
to do, just the previous year. Nowadays, I don't find that so amusing.

They say that most apps today are 90% code from other people, usually from open 
source libraries, each of which has no constraints on how it's built or 
versioned, or which versions they have dependencies on. Is it little wonder 
that when you need to use several libraries to get something done, that you can 
then end up in an incompatibility mess?

Now I wouldn't want to be involved in rewriting something like NewtonSoft 
within my own project, but there is something to be said for the development 
tool and language manufacturer providing critical libraries and controlling 
upgradability, etc. rather than outsourcing the development of all of them to 
random external authors.

I keep hearing how the community will steer libraries in the right direction, 
but I keep seeing the outcomes.

Regards,

Greg

Dr Greg Low

1300SQLSQL (1300 775 775) office | +61 419201410 mobile
SQL Down Under | Web: https://sqldownunder.com<https://sqldownunder.com/> 
|About me: https://greglow.me

From: ozdotnet-boun...@ozdotnet.com <ozdotnet-boun...@ozdotnet.com> On Behalf 
Of Greg Keogh
Sent: Wednesday, 27 October 2021 12:48 PM
To: ozDotNet <ozdotnet@ozdotnet.com>
Subject: DLL Hell

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