The Artima Developer Community
Sponsored Link

Python Buzz Forum
Heart Transplants For Fun And Profit

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Ben Last

Posts: 247
Nickname: benlast
Registered: May, 2004

Ben Last is no longer using Python.
Heart Transplants For Fun And Profit Posted: Jun 1, 2004 9:07 AM
Reply to this message Reply

This post originated from an RSS feed registered with Python Buzz by Ben Last.
Original Post: Heart Transplants For Fun And Profit
Feed Title: The Law Of Unintended Consequences
Feed URL: http://benlast.livejournal.com/data/rss
Feed Description: The Law Of Unintended Consequences
Latest Python Buzz Posts
Latest Python Buzz Posts by Ben Last
Latest Posts From The Law Of Unintended Consequences

Advertisement
To quote Eric S. Raymond writing in his response to the Alexis de Tocqueville nonsense;
Software is not composed of interchangeable parts that can be hodded from one project to another like a load of bricks. Context and interfaces are everything; unless it has been packaged into a library specifically intended to move, moving software between projects is more like an organ transplant, with utmost care needed to resect vessels and nerves.

I have distinctly mixed feelings regarding Mr Raymond; I admire much of what he's written, the way in which he writes it and the ability of the mind that does the writing. On the other hand, my politics and his are incompatible in the same way a three-phase 1kV supply is incompatible with the tiny socket in my watch in which the tiny battery fits. Plus I have this built-in aversion to homophobes... nevertheless, I must applaud the section I quoted above; he's also as relevant as all hell to my current preoccupation with Zope and content management.

If you don't know about Zope's acquisition, then think inheritance. The "branches" of your website can inherit all sorts of clever things from further up the "tree". Nice, but there are a number of gotchas that can trap you as you crawl your way up the steep and slippery Zope learning curve. For acquisition is close enough to inheritance to lead you astray.

Let's consider this very common newbie situation: In the root of my website, I create an Images folder. In there go all my standard images. Now, under the root, I also create me a LookAndFeel folder that overrides certain of the website's core bits and pieces to provide a different look and feel (the clue was in the name). In here, too, I create an Images folder. The idea I have, you see, is that I can override specific images in here to vary the look and feel where needed. Ah, but I have been led astray. The "local" Images folder overrides the other one completely, like a subclass method hiding a superclass one. But whereas in a programming language one might arrange for the subclass method to call the superclass, that doesn't happen in Zope, at least without a certain amount of Python scripting.

So I look at the various content management systems built on Zope, starting with the Zope CMF (wittily, this stands for Content Management Framework) and working my way up to the pleasingly named Plone (imagine if all future products had to be named by Stephen Fry. Wouldn't that be nice?) And they're all too much for me. To further extend Mr Raymond's simile above, I just want the heart, but it comes with this entire respiratory system wrapped around it. Each tool, though often well-conceived and well-designed, makes assumptions about the entire problem I'm considering and lifts it entirely out of my hands, muttering soothingly to trust it, and all will be well.

Anyway, it's an excuse for some creative Pythoning.

Read: Heart Transplants For Fun And Profit

Topic: I'm in the Mac and the Mac is in me Previous Topic   Next Topic Topic: A Twisty Turny Thing

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use