[prev] [thread] [next] [lurker] [Date index for 2005/04/23]
> I think you miss the point. I share Juerd's hate for the Mac because I, too, > am I Debian user. I see it even clearer because I use fink which gives me > apt for *some* of my Mac software. Another perfect example is the CPAN > shell for Perl modules vs, say, keeping your Java libraries up to date. Keeping MY java libraries up to date involves clicking on "Software Update" once in a while. CPAN is another example of a very powerful solution to a problem that should be avoided. I have a lot of hate for the way CPAN works: it's aggressive, and assumes it's the whole world. It forces you to stay up to date by taking over. Whenever I've used it it's pulled down layers and layers and layers of Perl scripts that depend on Perl scripts that depend on Perl scripts, most of which dependencies aren't really necessary. Dependencies are bad. Tools to resolve dependencies are only good when the dependencies are necessary. Tools to MANAGE dependencies and let you see what they are so you can avoid them when you don't need them are rare. Hell, it's often hard to even SEE what the dependencies are, particularly in open source software. So what I see is a perl script to do something useful, the guy who used it wanted to do something and there was a CPAN module that did a lot of other stuff but also seemed to be a bit easier way of doing whatever he wanted than writing a couple dozen lines of code himself. So he uses it. He never sees that that module pulls in 20 others, and then it says "SillyJokes::Unicorns needs Perl5.0003.34 and you're using perl5.0003.16" and the next thing I know it's pulled down perl5.0004.12, and built that... HATE So I go in to the original program, and find that it's using some XML parser to grep a fixed format web page for a chunk of text that doesn't even include any HTML, and I replace it with a regexp, and the resulting code is 20 times faster. HATE CPAN is a snare for the programmer. It's hiding great nests of evil that should not exist. > Its not about making a single piece of software easy to install, that's > been done, its about making the entire system easy to keep up-to-date. > Once you can easily check what's up-to-date you no longer have people using > ancient, buggy versions of software just because they don't want/care about > doing the periodic chore of manually checking all their software. That's a good thing, but it's not the only thing. Most commercial operating systems and many applications have mechanisms to automatically update themselves. I ALWAYS turn these off sooner or later, because all too often I have had the "new, improved" version break things. Developers do stupid things, sometimes. They remove functionality. They break functionality they don't care about. They change configuration files. They don't necessarily want the same thing out of their software that I do. Would you want to be automatically updated to something like Netscape 6? What if you want to keep the functionality that was dropped in later versions of Gnomeapps, and you're not a geek who can edit the config files? > "Update all the software on my machine" should be one command. It is on FreeBSD. I never use it. > No complex packaging system or registry is required because Apple already > has such a system, the .app bundle. It could have been something as simple > as an extra file in the .app directory describing where to check for and > download the latest version. The version number is already there in every .app directory. There's already third party tools that promise to take care of you, using their own databases or the ones at MacUpdate or Versiontracker. I think Macupdate sells one. Apple has made a painful task trivial, without forcing people like me to work like people like you, AND there's software for people like you. It's a MUCH less hateful solution than Debian or CPAN or even FreeBSD Ports.There's stuff above here
Generated at 02:00 on 03 May 2005 by mariachi 0.52