Announcement

Collapse
No announcement yet.

Backward compatibility hell

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by yotambien View Post
    The Free Zealot Foundation is proud to award its monthly prize to our beloved member Gforum.
    Now, now... While I would hesitate to label gforum's post as being wholly accurate, he is more correct than you think.

    There's tons of things that if you take the time to do them right (and it's not hard to ask the right questions- I did and I wouldn't regard myself as a "rocket scientist"...) take only slighlty longer than the "easy" way of doing them and the results are more robust than under Windows. Yes, we have our own version of "DLL Hell". It's less pronounced, can largely be side-stepped pretty easily, and if you're coding correctly for a commercial product, the bulk of the "issues" tend to be end-user inflicted because they don't get that it doesn't work like Windows does.

    Comment


    • #32
      Originally posted by Svartalf View Post
      ... and if you're coding correctly for a commercial product, the bulk of the "issues" tend to be end-user inflicted because they don't get that it doesn't work like Windows does.
      thats what i meant really. But it also goes beyond that, and i speak for more than just personal experience. sometimes when things crash in windows, you're screwed and you cant do shizzle about it... things are not OSS there are no 'fixes' about, and you have 1 option to take=the windows given one(which doesnt quite cut it most of the time).
      Linux by nature is ALWAYS patch-able.


      now if you dont understand that... im sorry.

      makes me wonder though, do you even know linux?

      i would hardly see my post as zealotry unless you have a zealot mind yourself.


      cheers.

      Comment


      • #33
        thats what i meant really. But it also goes beyond that, and i speak for more than just personal experience. sometimes when things crash in windows, you're screwed and you cant do shizzle about it... things are not OSS there are no 'fixes' about, and you have 1 option to take=the windows given one(which doesnt quite cut it most of the time).
        Linux by nature is ALWAYS patch-able.

        now if you dont understand that... im sorry.
        Don't take me too seriously, I'm sure you detected the high dosage of humour in what I wrote. And I'm sure too that you can see 'some' differences between your post and Svartalf's take on it.

        Good to know that if you "code correctly" problems are largely mitigated. Makes me question the coding habilities of the authors of many programs I use/used, though.

        Of course I understand you--when you care to explain it. The point is that I do not agree with you, mainly because my experience must have been different to yours (assuming we both are objective observers) but also because I don't equate 'patchable' to 'patched'.

        Comment


        • #34
          using gentoo - no problems.

          Comment


          • #35
            Originally posted by yotambien View Post
            Don't take me too seriously, I'm sure you detected the high dosage of humour in what I wrote. And I'm sure too that you can see 'some' differences between your post and Svartalf's take on it.

            Good to know that if you "code correctly" problems are largely mitigated. Makes me question the coding habilities of the authors of many programs I use/used, though.

            Of course I understand you--when you care to explain it. The point is that I do not agree with you, mainly because my experience must have been different to yours (assuming we both are objective observers) but also because I don't equate 'patchable' to 'patched'.
            Problem is that it is harder to write good code than hacks to make it just work. Even tough hacks may later on cause more work and problems than doing it first time correctly.

            Comment


            • #36
              Originally posted by suokko View Post
              Problem is that it is harder to write good code than hacks to make it just work. Even tough hacks may later on cause more work and problems than doing it first time correctly.
              In all honesty, it's more often than not only slightly more difficult to write the right kinds of code than the hacks- at least to me. Having written the sort of code that would be deemed safety critical (Emergency services P25 Radio Trunking systems for example...when the code doesn't work many people could get killed.) you forsake taking the "easy" path wherever possible. If you're doing your work right, it's not even a 5-10% drag in your productivity once you start doing it. Making things cross-platform clean takes more effort- and I typically do that as well.

              I want to make less work for myself. Not more. Doing those things tends to make more for me down the line. You don't make assumptions like int32 == void * without consequences. You don't do things like altering the contents of a string constant without consequences down the line. (Yes... There was a piece of code that a Windows developer, a good and skilled one, provided to our team that was intended to provide an API edge driver for our RFID device line. It's entertaining. VC++ will give you a warning. Windows will let you DO it. GCC will give you a warning. Linux or any POSIX compatible OS will promptly (and correctly...I might add...) segfault on you over the attempt. His code would have been a source of transients the way he did it. It got peeled out and redone by myself...)

              Comment


              • #37
                Originally posted by yotambien View Post
                Good to know that if you "code correctly" problems are largely mitigated. Makes me question the coding habilities of the authors of many programs I use/used, though.
                Coding correctly means not cutting corners wherever possible.

                Coding correctly means packaging up the right set of binaries, including libraries and making sure that API drift doesn't zap your code or libraries that you ship.

                Under Windows, it's a minefield. VC++/Windows encourages sloppy coding and packaging practices to be used (My previous post gives a good example thereof...) and DLL's are FUN to make sure you're working right. The search path is a good rule of thumb, but you can end up with a broken DLL in the mix easier than not and no good way to tell what you're getting hosed with.

                Under Linux, it's a minefield, but less of one. The compiler and OS discourages many of the bad coding practices. The minefield comes in with the varying versions of things. Most of them like SDL will pretty much work out of box without needing to pin things. However, there have been times where SDL DID have a bug in the distributions that would have precluded shipping a game or waiting for the distributions to push an update. This is where providing a carefully vetted set of .so's comes in. Done right, you end up with something that largely works on a broad range of disparate platforms.


                Of course I understand you--when you care to explain it. The point is that I do not agree with you, mainly because my experience must have been different to yours (assuming we both are objective observers) but also because I don't equate 'patchable' to 'patched'.
                Heh... In the case of Windows- you more often than not don't even have "patchable". Seriously. As for your experience, I'd have to hear more about it to be able to relate- in the large, I've only had problems with stuff that didn't follow the path I've taken on things. Typically, I don't use much commercial stuff save Linux game ports, though, so, perhaps my experience is not as broad as yours is.

                Comment


                • #38
                  Of course I understand you--when you care to explain it. The point is that I do not agree with you, mainly because my experience must have been different to yours (assuming we both are objective observers) but also because I don't equate 'patchable' to 'patched'.
                  Heh... In the case of Windows- you more often than not don't even have "patchable". Seriously. As for your experience, I'd have to hear more about it to be able to relate- in the large, I've only had problems with stuff that didn't follow the path I've taken on things. Typically, I don't use much commercial stuff save Linux game ports, though, so, perhaps my experience is not as broad as yours is.
                  Wait, are you talking about the end user or the developers point of view? If the latter, are you saying that in Windows more often than not there is no such a thing as a 'patchable' situtation, and therefore there is nothing that can possibly be done do fix a problem? Because this really goes against what I, as a user, have experienced, i.e. by and large things generally work; developers seem to be doing just fine to get their programs running.

                  If you are talking about the users point of view, I contend that there is no difference between 'patchable' and plainly broken. Of course, if you have the right skills and are motivated enough you have more of a chance to fix a problem in Linux, but that's hardly the point. The point is that in every platform, authors of commercial software (should) have as a priority that their code runs OK in the first place--who would they sell it to otherwise? With this in mind one does not care what sort of minefield the coders have to overcome, only that the final product works and will continue to do so for as long as possible. And this is not the user's responsibility.

                  My experienced is biased for and against Linux, since it is what I use most of the time both at work and at home. Hence, I'm more likely to find something broken here.

                  Comment


                  • #39
                    Originally posted by yotambien View Post
                    And this is not the user's responsibility.
                    No, it's not- so long as you don't go yanking the guts around. This whole thread was about something someone self-inflicted on themselves. They said so themselves. That's going to be an issue in either OS we're discussing. My personal experience is that it just simply works in the large on Linux and not so much on XP or Vista- and in many cases with less issues over a longer time than with Windows products.

                    Yours may be different. I won't challenge that- don't have any basis to do so. Without good concrete examples I can follow up on, I don't have any basis to actually follow your premise because there's largely none in the recent experience I've had over the last 5 or so years of Linux use.

                    Comment


                    • #40
                      Originally posted by yotambien View Post
                      Because this really goes against what I, as a user, have experienced, i.e. by and large things generally work; developers seem to be doing just fine to get their programs running.
                      Every time I run Windows Update on one of my PCs, it wants to update the .NET Framework. Every time I try to update it gets 2/3 of the way through and then gives some useless error message which tells me nothing about why it won't update.

                      I've tried uninstalling the base Framework and reinstalling. The install works, but then the upgrade fails. I've even tried downloading the 'get this Framework thing off my system' brute-force uninstaller from Microsoft which is supposed to clear out all references to the software so that it will reinstall cleanly. It uninstalls, I reinstall it, the upgrade still fails.

                      Given that more and more programs are using this .NET stuff, that machine is basically toast unless I reinstall the operating system. There is no indication of why it doesn't work, there's no information about what changes it makes to the system so that I can try to figure out what might be causing the problem, and even Microsoft's own brute-force uninstaller doesn't work. I tried to figure out what might be causing it, but it appears to spew files all over the system so who knows what one might be the problem?

                      Thats my experience of Windows; 95% of the time it 'just works', the other 5% it breaks, gives you an arcane error message and is almost impossible to fix without reinstalling. I've never run into similar problems on Linux, since even if some system configuration is broken you can generally find out how to fix it (if all else fails, by reading the source code).

                      And now, in addition to the good old 'DLL Hell' with different applications spewing DLLs all around the system and randomly picking up DLLs from other applications which aren't compatible, Microsoft have added 'Framework hell' on top.

                      Comment

                      Working...
                      X