The impedance mismatch between Linux and its software

The problem described there is a general software problem; it has nothing to do with a specific OS.

The "impedance" in terms of RBDMs vs OOP emerges from fundamental differences between the two approaches to data structuring and operations. They're both capable of describing the same information, but translating between the two is not a trivial task, and mapping between the two approaches has resisted automation so far.

However, the "impedance" you seem to be talking about is a simple and relatively common occurrence of version conflicts and missing dependencies in linked libraries. While fixing these problems requires some curating, it's a task which, as many have stated, is addressed by multiple package managers. The fact that they're not perfect doesn't make them broken, and the fact that such managers are (necessarily) incomplete doesn't mean that there is a "deep systemic problem" within Linux. The problem you're describing is not unique to Linux or any other OS.

If you think this same issue doesn't occur with Microsoft, then I can safely conclude that you've never had to test Windows Server 2012 patches across dozens of racks of independent servers from different vendors with dozens of different baseboards and firmware versions, and, of course, a slew of distinct storage controllers.

One of the biggest distinctions between Linux and Windows is that Microsoft has put enormous resources into hiding these conflicts from the common Desktop/Laptop user; but believe me, a Windows Server sysadmin at any well-sized service provider is well aware of those conflicts.

Magic programmatic wands to make hard problems go away don't exist in softwareland - but any young programmer worth his/her salt will, at sometime, envision such things, and thinks they can solve it. A bit of hubris is healthy in a techie, but you're too inexperienced to declare Linux (or any other large-scale software) fundamentally flawed. I really don't mean that as criticism - it's just that you're obviously still cutting your teeth here - you're still learning how to describe the problem, let alone fully understand it or start to address it.

Keep dreaming and programming - but don't shit on the work of tens or hundreds of thousands of other people until you've at least taken an honest crack at solving whatever problem it is that they're already shoulder deep in. But take my word - there's no such thing as a "finished" program, and there's definitely no such thing as a "finished" program manager.

/r/programming Thread Parent Link - fourlightyears.blogspot.com.au