"Portability" (was: How to create a Unix Domain Socket?)
Cameron Laird
claird at starbase.neosoft.com
Thu Oct 19 09:17:12 EDT 2000
In article <39EEE7D8.1059A34F at holdenweb.com>,
Steve Holden <sholden at BellAtlantic.net> wrote:
>Cameron Laird wrote:
>>
>> I'm going to grumble briefly--or perhaps ask for help.
>> I'm getting tired of calling Python "wonderfully por-
>> table" or whatever it is I say when I'm acting as an
>> advocate. I know what I mean by it, but for most
>> people, most of the time, Python's not quite up to the
>> portability of C, and almost every other language is
>> equally tender on the point.
>
>Don't know that I'd agree with that. In my (limited)
>experience with C, the thing that tripped me up most moving
>between platforms was differences in library semantics: i.e.
>the language is the same on all platforms, but the underlying
>support code differs, sometimes in subtle, non-obvious ways.
Sooooo true. I suspect there's some artifact
of my personal history operating here, but it
surprises me nowadays how often I hear porta-
bility concerns about *languages*, when, as
you write, it's almost always the run-time
libraries where the problems lie. I think it's
worth a follow-up to emphasize tha.
>
>Given that the Python library offers MUCH higher-level
>functionality, I find there's a remarkable degree of poertability.
I do *not* find it remarkable. Ha!--it's the
higher-level stuff that's easier to get right,
or at least invariant.
>
>> So: what's a good word
>> to express, "available on lots of platforms, more or
>> less, and, whatever the semantics are on any particular
>> one, there's an entertaining story to explain why it's
>> so"?
>
>Might I suggest "The usual portability concerns apply to Python
>just as much as any other language"? The fact is that it's always
>tempting to implementors to expose underlying OS support in
>scripting systems such as Python, and when there's a variety of
>platforms then there'll be a variety of non-portable constructs
>in library usage.
Part of my growsing is uncertainty about
whether that's a temptation or a responsibility.
My personal emotional reaction is that Python
shouldn't be like Perl, and shouldn't just expose
the OS run-time; it should build in a portability
layer for strftime(), socket(), and other notor-
ious black sheep. I suppose I'll just leave it
at the level that I'm curious to hear what Guido
and the other silverbacks think about
exposing the OS
vs.
construction of a library coders use portably.
.
.
.
--
Cameron Laird <claird at NeoSoft.com>
Business: http://www.Phaseit.net
Personal: http://starbase.neosoft.com/~claird/home.html
More information about the Python-list
mailing list