please comment on technologies

andrew cooke andrew at acooke.org
Sat Apr 26 18:52:14 EDT 2003


luc wastiaux said:
> In article <HqCqa.8931$3M4.241359 at news1.tin.it>, Alex Martelli wrote:
>>> The project would be developped by a group of 4 to 6 CS students
>>> (including me), over a three months timespan (but not full time, we
>>> have
>>> to go to classes and other stuff)
>>
>> The most valuable thing you'll learn will be how to structure your
>> work.  I heartily recommend incremental development (most crucial
>> features first), test-driven design, pair programming, and a healthy
>> diffidence towards "big design up front" - you may get the temptation
>> of designing in some big chunks of infrastructure preparing for future
>> enhancements... that may never come.
>
> In short, you recommend following extreme programming guidelines, did I
> understand your advice correctly ?

[i'm adding unsolicited comments here!]

there's no one right answer in my opinion - everything depends on
circumstance.  if you're a tight, cohesive group that know each other and
have lots of experience then incremental development works (can't comment
on pair programming).  a lot of planning might be better if you're new
together, haven't  had much experience, or have different opinions on
what's happening(!).  most likely you'll find your own compromise -
planning at a high level, followed by implementing the main structures,
followed by iterations of planning and implementation at lower levels,
with some "jumping outside the box" to ensure that you're not duplicating
work as you work down the tree of tasks.  alternatively, you can try going
bottom up and try writing "one to throw away" in the first third of your
time available.  might work with python, could be risky...

the one thing that does seem to be (almost!) always worth doing is writing
plenty of tests, when it's easy to do so (and consider modifying your
design to make testing easier).

>>> Spyce today and it looks like I could use it for the web interface.
>>
>> Sure, that's one possibility.  Personally I'd choose Webware, which
>> offers an amount of flexibility I appreciate, but Spyce's OK too.
>
> I will have a look a webware. I was looking forward to using spyce because
> it features <?php style tags to embed code into HTML templates, does
> webware have that ?
> I just know webware from this url:
> http://colorstudy.com/docs/shootout.html
[...]
>>> Then I have this idea about using XSL for templating, the idea is not
>>> only
>>> to separate the data from the representation, but also allow
>>> programmers
>>> to "leech off" the search engine (it's easier to do this if the output
>>> is
>>> XML).
>>
>> The ability for other programmers to send "queries" to your search
>> engine and get XML output is good.  However, personally, I would avoid
>> XSL (unless you guys are already well familiar with it -- or NEED to
>> get very familiar with it anyway to pursue your studies).  It's simpler
>> to have separate URLs, or a form field requesting XML or HTML output,
>> and just use different templates with the same contents -- doing your
>> templating in Cheetah (or preppy/Spyce/whatever).
>
> Ok, I thought XSL was the definitive answer to all templating needs, but
> you don't seem very excited about it ?

in my personal experience, xsl is a very neat solution that's very hard to
self in practice.  if you're a bunch of smart programmers that are capable
with functional programming then i'd say go with it - you'll save time. 
but it's a difficult job getting people used to more traditional
approaches to take it seriously for long enough to get past the learning
curve.

that's from working with java - i don't know what python's xsl support is
like (when i last looked i was less than impressed with python compared to
java in this regared, but i suspect it's improved since then.  you should
check this out as there's nothing worse than having to work round bugs in
external libraries that are critical to the project).

have fun,
andrew

-- 
http://www.acooke.org/andrew





More information about the Python-list mailing list