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