not safe at all

Alex Martelli aleaxit at yahoo.com
Sun Jul 15 14:33:12 EDT 2001


"Tim Daneliuk" <tundra at tundraware.com> wrote in message
news:3B50DE63.4217DC08 at tundraware.com...
    ...
> > What gave you the idea that anybody around here is interested
> > in "serving abstract ideas"?  I'm interested in serving *our
> > customers*, all 10,000+ of them at last count -- ensuring
>
> None of whom give a damn if your code is portable (unless you're
> selling programming tools like compilers) or how elegantly

Go tell that to a (hopefully hypothetical) customer who's just
done some system upgrade, preferably right after the program
with which he spends the majority of his working hours has
just stopped working.  "Oh but you don't give a damn if my
code is portable, so why are you giving all of these damns
right now?".  Even if all it takes to get him back to work is
a few downloads of upgraded versions -- a few hours' time to
locate, grab and install them -- you WILL hear damns aplenty.

> architected it might be - they just want your application to run
> on their system.  How it does so, is your problem, not theirs.

There is a grammatical error here.  "their system" is singular.
It would be a singular customer indeed (for our products) who
owned one single system (without significant upgrades) and
only ran our programs on that single (singular) system.

Change the sentence to "they just want your applications to
run on a wide variety of systems, offering several trade-off
points between cost, performance, stability, familiarity of
other system tools to their employees, &c, so that choosing
your applications does not constrain their abilities to choose
the platforms they equip their employees with, upgrade them
with the newest processors or graphic cards when they think
the price/performance is right for that, and so on".  In other
words, they just want our applications to be portable -- you're
right that HOW we achieve that desideratum (just like, how
do we achieve high performance, rich functionality, low price,
backwards compatibility, solidity, and a zillion other typical
customer desiderata) doesn't (well, _shouldn't_ -- reality is
often different) concern them.  But portability is a plus in
itself for the customer, just like performance &c, because a
typical customer in our field doesn't own ONE system -- much
less does he or she kid him or herself that 'ONE' unchanged
system is what he or she will own for a long, long time.

It so happens that _right now_ we can get away (for most
customers) with only offering portability among a relatively
narrow range of platforms -- yes, we ARE losing business
where (for example) the customer specifies that design
applications must run on Macintosh whatever (because
that's the system used in certain key departments of the
customer's firm/suppliers/customers/whatever, and the
customer doesn't trust translation utilities to be perfect,
and so wants to make SURE the same application runs on
all systems in a certain set) as well as Windows 2000, &c;
i.e., where a potential customer specifies among the
requisites a wider portability than we can offer right now.
But, we estimate that the loss due to non-universal
portability is lower than what it would cost us to achieve
universal portability (including quality assurance on each
supported platform, of course).  It's not an abstract, far
away issue: it's just as concrete and important as any
other customer desideratum, such as top performance,
low footprint, low price, total solidity, and so on.  Of course,
what the customer really wants is: everything, for free,
yesterday, etc, so one must trade-off between various
such desiderata -- but portability IS typically one of them.

It may be different in fields (if there are any) where every
customer believes (rightly or wrongly) that the application
he or she buys will run for all of its useful lifetime on a
single unchanging system configuration.  I suspect that may
be true of applications with relatively short useful lifes (such
as games), or when the customer is too naive to understand
how constraining it will soon prove to be unable to upgrade
his or her machines because of portability constraints of the
application being purchased.  Neither of these issues applies
to CAD and PDM software, and, I'm sure, to many other
fields in the area of software development.


Alex






More information about the Python-list mailing list