My love/hate realationship with Windows and Linux

  • Thread starter Thread starter morcar
  • Start date Start date
  • Replies Replies 40
  • Views Views 1085
I'm not sure the developer community in general is guilty of this - just a powerful faction I call the "usability before usefulness" crowd. Unfortunately they seem to have a lot of clout.
Yeah, that's what I meant to say; that fraction of the developer community that is concerned with usability seems to think that it means "having no features that could not be figured out by a brain-damaged golden retriever."

The other reason it practically never happens is that it's *hard*! Also, not a great deal of fun - whereas throwing out last year's device-mapping subsystem and replacing it with with hotplug-daemon-du-jour is actually kinda fun to the right kind of geek! ;)
Yeah, I'm sure it is fun, to the kind of person who likes to make a hobby out of doing OS maintenance, but the problem is that it just complicates things for everybody else. (How many different sound toolkits are there for Linux, for example? OSS, ALSA, PulseAudio, JACK, DSSI, and so on, now try getting them all to coexist peacefully on one system!)

Yes, upgrading and refactoring something the size of an OS in a sane, clean way is hard. Yes, kludging together a roll-your-own-standard replacement for X component is quick-'n-easy and an appealing "bypass" solution, to the kind of person that's likely to be developing for Linux. But that still doesn't change the fact that all you're really accomplishing is to build a whole system out of components that are outdated but still required by applications that have never been updated to support newer interfaces (because there was never a general standard that they could adhere to and be able to work with newer versions of the underlying structure.) Contrary to what people like to think, worse is not better - it may be easier, but it's still worse. And if you build a whole system on that "eh, whatever" philosophy, you're going to get a slipshod mess that might work, but will never be clean or simple the way a system designed the right way could.

It's a giant Jenga tower - try to take out even one crufty old piece, and you risk bringing the whole shebang crashing down. That's a nightmare for anybody who just wants to use their computer for things. Even with someone like me, who actually enjoys tinkering with software, that doesn't mean I want to have to do maintainence on the OS itself just to keep it running - imagine how someone who doesn't like technology for technology's sake feels about it!

That way of doing things is the exact reason Linux lost the desktop war.
 
XWindows has no standards for UI whatsoever, every application uses one of three popular and significantly different UI toolkits, or better yet, some obscure one you've never heard of, and introduces the programmer's own bizarre eccentricities to the mix, and nobody cares or has a clue about good UI anyway, so nothing works like anything else, unless you use one of the megalithic desktop-environment projects, most of which are bloated as hell, and the ones that aren't are typically missing about half the programs they should have.

so true and I was only browsing http://toastytech.com/guis/ the other day
the wheel has been invented stop trying to make it ya own and develop social skills where problems need to be solved
 
Hmm, somebody said something smart in this thread, and I agree with that statement :thumbsup2:
 
It's really not that complicated.. (IMHO)
If you want simple, you use Ubuntu (or Mint), you install it and just he apps that come from the default Synaptics package manager...

And it basically just works...

Now, you try doing things like getting "other" apps to work and it can get tricky, but that's your call..

Frequently, when I see people nowadays say that Linux didn't work for them, it turns out it's a particular APP of features (like a certain set of 3D effects or whatever) that doesn't work.

I've got plenty of old Windows apps that don't run or don't run properly on my XP box.
It just happens...

Now, there are some hardware features that are still problematic (multiple monitors comes to mind) with the base Linux distros, but in general, it's pretty good as long as you don't get fancy.
If you get fancy, then.. Well, that's when it gets fun.. ;-)

desiv
 
Now, you try doing things like getting "other" apps to work and it can get tricky, but that's your call..

Frequently, when I see people nowadays say that Linux didn't work for them, it turns out it's a particular APP of features (like a certain set of 3D effects or whatever) that doesn't work.

I've got plenty of old Windows apps that don't run or don't run properly on my XP box.
But my point is that Linux as a desktop OS and the Linux developer culture are basically inseparable. Barring the extreme case where you use Linux solely as a base from which to run WINE and then use only Windows applications (I suppose someone might conceivably do this, while ReactOS is still in alpha, but it's safe to say that that's not what we're discussing here,) it's not like you can just opt to not use Linux software. That's like saying that you're not allowed to complain about what's on the radio because nobody's making you turn the dial to any particular station; without them, it's just an expensive paperweight, and there's only so many stations that are on the air in your area.

So no, you're basically stuck with Linux software; and even if you get it running without any trouble (and don't talk to me about repositories, even Synaptic can run into trouble with the intricate dependency-tree Hell and mutually incompatible library structures that many Linux programs suffer from,) there's still the problems of basically no UI standards and commonly no grasp of what makes good UI at all. That's not a problem of the application not running properly, that's a problem of badly designed software, and it's rampant in the Linux developer community. Linux is culturally broken.

(With regards to incompatible Windows software, I'd be interested in hearing some examples. Outside of old Win16 and early Win32 software that wants to be able to directly access hardware, I've found very few Windows programs that don't work on newer versions, and even that usually comes down to shoddy drivers for new hardware.)
 
But my point is that Linux as a desktop OS and the Linux developer culture are basically inseparable.
Oh..
Then you're wrong.. ;-) I know several people who run Linux and know nothing about Linux dev stuff and would run away screaming if I said "type ./configure"....


Barring the extreme case where you use Linux solely as a base from which to run WINE and then use only Windows applications (I suppose someone might conceivably do this, while ReactOS is still in alpha, but it's safe to say that that's not what we're discussing here,) it's not like you can just opt to not use Linux software.
Agreed.. I never recommend WINE to anyone. Windows in a VM is a much better option, IMHO...

So no, you're basically stuck with Linux software; and even if you get it running without any trouble (and don't talk to me about repositories, even Synaptic can run into trouble with the intricate dependency-tree Hell and mutually incompatible library structures that many Linux programs suffer from,)
You haven't used Synaptic recently, or you have been REALLY REALLY unlucky.
Dependency hell in Debian based systems is MUCH less common and Synaptic is really good...

there's still the problems of basically no UI standards and commonly no grasp of what makes good UI at all. That's not a problem of the application not running properly, that's a problem of badly designed software, and it's rampant in the Linux developer community. Linux is culturally broken.
So are lots of OSes..
However, from the user experience, if they use the apps that are available with Synaptic and are happy with those, what do they really care that the backend is confused???
They don't care... As long as the app runs...

(With regards to incompatible Windows software, I'd be interested in hearing some examples. Outside of old Win16 and early Win32 software that wants to be able to directly access hardware,
That's exactly what I'm talking about. Why "outside of" that??

That's like saying "outside of the Hindenburg, zeppelins with hydrogen are totally safe."
:-)
Off the top of my head (other than the lots of old games that are quirky), I have a great file cabinet piece of software that came with my Logitech Page Scan Pro that wouldn't install/run on XP...

Was it realistic of me to expect that? It's old??Maybe not, but maybe it was just as realistic as someone expecting that 32-bit .DEB file they downloaded from some website and being upset when it won't install...

And don't get me started on JAVA apps that have problems with different versions..
Yes, that's JAVA and not XP, but my Linux box seems to have no problem with localized Java installs, where my XP apps really want one Java install to rule them all..
(Yes, I can tweak around it; but as a user that's a bit extreme..)

My point, you have similar issues with BOTH major OSes...

desiv
 
Then you're wrong.. ;-) I know several people who run Linux and know nothing about Linux dev stuff and would run away screaming if I said "type ./configure"....
They're still stuck with software that's the output of that culture, is my point. Whether or not they ever have to touch a command line, everything they do is influenced by the Linux developer culture, which has serious issues.

You haven't used Synaptic recently, or you have been REALLY REALLY unlucky.
Dependency hell in Debian based systems is MUCH less common and Synaptic is really good...
November 2011, Debian Wheezy. Had to deal with everything I mentioned (monstrously large dependency trees, mutually incompatible library requirements in both the "Synaptic won't allow you to install these together" and the "Library X mysteriously breaks Library Y" flavors.) This was all from software in the repository, this was not from doing any kind of low-level mucking around or highly customized builds of non-repository software. You can ascribe it to luck if you want, but if merely trying to install a particular subset of software that is supposed to be verified and workable on that exact distribution is "bad luck," I'd say there's something wrong here.

However, from the user experience, if they use the apps that are available with Synaptic and are happy with those, what do they really care that the backend is confused???
They don't care... As long as the app runs...
I'm not talking about the backend; I'm talking about the user interfaces presented to the user by the application. The backend is a convoluted mess too, but that's only an issue when you're having install troubles. Bad UI plagues the user every time they use the application.

That's exactly what I'm talking about. Why "outside of" that??

That's like saying "outside of the Hindenburg, zeppelins with hydrogen are totally safe."
No, it's like saying "outside of a Ford Pinto, cars usually don't catch fire when rear-ended." They don't, and if they do it's indicative of a serious design problem. Applications aren't supposed to access the hardware directly, that's what the OS is for. (This was, I'll grant you, less true on Win16, but still. Win32 applications coded with Win16 assumptions are going to run into trouble sooner or later.) I have quirky old software I love, too, but complaining that badly-behaved programs don't work on newer versions of the OS that more strictly enforce that policy is just downright unreasonable.

Was it realistic of me to expect that? It's old??Maybe not, but maybe it was just as realistic as someone expecting that 32-bit .DEB file they downloaded from some website and being upset when it won't install...
Again, I'm not talking about esoteric, old builds from the website of a long-abandoned project; I'm talking about the kind of things that happened just a mere year ago, with contemporary builds of software, from a repository of builds that exists solely to have programs that are supposed to install and coexist peacefully, but don't.

And don't get me started on JAVA apps that have problems with different versions..
Agreed; Java is a whole other bag of issues...

My point, you have similar issues with BOTH major OSes...
And my point is, outside of a few corner cases where it's really unreasonable to expect that not to happen, no you don't.
 
You haven't used Synaptic recently, or you have been REALLY REALLY unlucky.
Dependency hell in Debian based systems is MUCH less common and Synaptic is really good...

OK here's a little challenge for you:
Under Ubuntu 12.04 or derivative install PhotoPrint (written by me, but I've no idea who packaged it) from Universe.
Now try running it - does it work?
Last I heard, it was broken, because the .so name of Gutenprint changed (thanks to that project bumping the version number when they shouldn't have done). There's a one-line shell command that fixes it. How quickly can you find it? And how many end users will simply give up rather than hunting down that fix?

If you'd like another challenge, try installing the Linux version of Return to Castle Wolfenstein under any version of Ubuntu from 10.04 onwards.
Runs like a charm, right? (Assuming, if you're on a 64-bit OS, that you have enough of the 32-bit runtime installed.) Except... no sound!

Again, there's a fix, which involves a bizarre shell script that involves binary patching of a library at runtime (if that doesn't send shivers down your spine, it should!) - how long does it take you find it? And how many end users would give up long before finding it?

Now install the Windows version of Return to Castle Wolfenstein under WINE. Runs like a charm, right? Complete with sound.

It's not my imagination is it? That *is* bat**** insane, yes?
 
My point, you have similar issues with BOTH major OSes...
And my point is, outside of a few corner cases where it's really unreasonable to expect that not to happen, no you don't.
OK, what were you doing when you got the above weirdness??

What app??

I want to try it..

desiv
(p.s. "Lots of apps" isn't a valid answer)

---------- Post added at 23:58 ---------- Previous post was at 23:47 ----------

OK here's a little challenge for you:
Under Ubuntu 12.04 or derivative install PhotoPrint (written by me, but I've no idea who packaged it) from Universe.
Now try running it - does it work?
Last I heard, it was broken, because the .so name of Gutenprint changed (thanks to that project bumping the version number when they shouldn't have done). There's a one-line shell command that fixes it. How quickly can you find it? And how many end users will simply give up rather than hunting down that fix?

If you'd like another challenge, try installing the Linux version of Return to Castle Wolfenstein under any version of Ubuntu from 10.04 onwards.
Runs like a charm, right? (Assuming, if you're on a 64-bit OS, that you have enough of the 32-bit runtime installed.) Except... no sound!

Thanx for the specifics..
I'll check it out..

I have 32-bit at home tho, so I can't test the 64-bit stuff..

We also have to remember, it's not a level playfield.
We are comparing apps that are in the "Debian Universe" (which I maintain is still pretty good) against what??
Windows only has the apps that come with it...

Unless you are adding ANY Windows app..
And we only have to get to .NET apps to run into dependency problems that DON'T resolve themselves.
They just tell you (frequently) to make sure you have the right version.
There is no Windows application dependency resolution system. It's up to the App to include the .NET or more likely just tell you you don't have it..

There isn't a single "Windows install archive" to try to deal with the issue.
So complaining (not saying anyone was) about a feature not working in Linux that Windows doesn't even have????

Interesting..

I maintain.. Both OSes have pluses and minuses...
Not a fan boi, just trying to see the whole picture..

desiv
 
OK, what were you doing when you got the above weirdness??

What app??

I want to try it..
It was over a year ago, I don't exactly remember, but one that sticks out in my mind is installing a PulseAudio program (and consequently PulseAudio) which broke sound for the entire system. (Also several instances of attempting a dist-upgrade and having it nuke the entire system such that the only thing that would even work was to boot in single-user mode; even console login wouldn't work.) That is not a thing that should happen when the entire point of distros and repositories is to build collections of programs that just work together.

There isn't a single "Windows install archive" to try to deal with the issue.
So complaining (not saying anyone was) about a feature not working in Linux that Windows doesn't even have????
The point isn't that the repository system fails by comparison to something Windows has, the point is that the repository system fails to achieve its own goals on its own terms. The whole point of it is to have a coherent selection of programs that work harmoniously and don't interfere with each other or break the system, but that's not what happens!
 
The whole point of it is to have a coherent selection of programs that work harmoniously and don't interfere with each other or break the system, but that's not what happens!
It isn't perfect, I'll grant that..

But I think it happens most of the time....

Still better than .NET versions.. ;-)

desiv
 
There isn't a single "Windows install archive" to try to deal with the issue.

Arguably there is, insofar as you can get a hold of any .exe installer and install said program on Windows. If I want to install VLC, I just download the installer and run it. Simples.

This isn't nearly so simple with Linux. There's so little consistency between versions of Linux that you can't just go to the VLC homepage and download it. (Unless you compile from source). They list about a dozen distros for which you can obtain VLC, all with differing instructions as to how you get it out of package management.

Package management exists entirely because just downloading a package file for your distro is frought with dependency complications. Something that largely doesn't exist in the Windows world. Once you've got a JRE and a .NET runtime, you can pretty much install anything. It's rare indeed for a Windows application to have dependencies in the same way that Linux ones do.
 
This isn't nearly so simple with Linux. There's so little consistency between versions of Linux that you can't just go to the VLC homepage and download it.
...
Package management exists entirely because just downloading a package file for your distro is frought with dependency complications...
It's rare indeed for a Windows application to have dependencies in the same way that Linux ones do.

everything you build from source have the same problem, everything built with dynamic libs which you don't have has the same problem.

to get vlc i just write "apt-get install vlc" in linux. whatever reasons why i only got to do that is completly irrelevant. Fact is that i can just do so.

In OS X you don't have vlc in the app store but I got mplayerx from app store which looks great and plays all i got. keeps it updated and everything is dandy.

i like app stores. ;)
 
Arguably there is, insofar as you can get a hold of any .exe installer and install said program on Windows. If I want to install VLC, I just download the installer and run it. Simples..
No, that's not an install archive..
That's an executable that has all of the BITS it needed included or assuming that the OS has them..

While that tends to work well for windows apps, it's not arguably the same..
It's totally different. ;-)

If the OS and the executable don't have all the pieces (as in some apps which need JAVA or .NET versions or similar), it just tells you you need those.
Sometimes the installer is "nice enough" to spawn the download for you even, but it's 100% NOT an installer archive that tries to resolve dependencies..

desiv
 
everything you build from source have the same problem, everything built with dynamic libs which you don't have has the same problem.
Windows software coming without the DLLs it needs hasn't been a widespread problem since the days when hosting was prohibitively expensive and everybody had dialup. There are a few stragglers, and there's .NET and Java apps (don't get me started on .NET, just don't,) but by and large it's not an issue anymore.
 
Arguably there is, insofar as you can get a hold of any .exe installer and install said program on Windows. If I want to install VLC, I just download the installer and run it. Simples..
No, that's not an install archive..
That's an executable that has all of the BITS it needed included or assuming that the OS has them..

While that tends to work well for windows apps, it's not arguably the same..
It's totally different. ;-)

If the OS and the executable don't have all the pieces (as in some apps which need JAVA or .NET versions or similar), it just tells you you need those.
Sometimes the installer is "nice enough" to spawn the download for you even, but it's 100% NOT an installer archive that tries to resolve dependencies..

desiv

That's an install archive by my book. Or do you mean a repository?
 
That's an install archive by my book. Or do you mean a repository?

Really?

OK..
Difference of definition..
I look at an install archive as something external.

I believe a repository can be a type of install archive. But I don't see a singe compressed file as an install archive.

Although now that I read that out loud, it is like a tarball, which is an archive.
So I guess I was using the wrong word...

desiv
 
Back
Top Bottom