>I agree with most of this, except for portable code being slow
>to write. I tend to write most of my software using standard
>functions (no M$ type proprietary extensions, etc). I tend to
>always use GNU/GCC as my compiler base. I have seldomly had to
>change anything (depends on versions of the same compiler). My
>software has compiled bug free (or at least no new ones *g*) on
>BSDI Unix, RH Linux, FreeBSD 2.2.x and 3.x, Sun Solaris, and on
>SGI IRIX.
*grin* sorry, but this one's a chip shot i just can't resist:
now try getting the same source tree to support Win95, Win98, NT,
OS/2, and Mac OS 8.5. ;-)
crossing borders among the flavors of unix is comparatively
easy, because the variants still present a largely homogenous
design environment. there are certainly differences to be had
(IRIX being particularly psychotic), but most of the underlying
assumptions are more or less the same. for true cross-platform
fun, you have to try and implement something using alternatives
which are completely incompatible.. unix sockets balanced
against SysV shared memory for local interprocess communication,
for instance.
it doesn't even have to be that exciting.. i write a lot of
cross-platform perl code for Mac and unix, and have to deal with
the fact that the two OSes have completely different definitions
of a filepath. the unix standard is, of course:
/dir/dir/dir/file
while the Mac uses:
volume_name:dir:dir:file
there are two points of divergence: the filepath separator
character, and the definition of 'root' in the path. the
workarounds aren't all that tough, but i've had to give up using
quick & easy constructs like:
$file = "$BASE_PATH/$name.$ext";
in favor of things that are more robust. i also have to spend
time thinking carefully about the internal representation of
filepaths in my code, and the timing of the conversion between
the internal form and the form that works for the current OS.
i'm not complaining.. the fact that i have to think through it
all encourages me to use better coding practices all round.
still, it takes time to develop an internal representation that
supports translation to all the platform specific alternatives,
and more time to develop the translation system which stands
between your base code and the specific platforms. the more
platforms and features you have to juggle, the longer it takes.
mike stone <[EMAIL PROTECTED]> 'net geek..
been there, done that, have network, will travel.
____________________________________________________________________
--------------------------------------------------------------------
Join The NEW Web Consultants Association FORUMS and CHAT:
Register Today at: http://just4u.com/forums/
Web Consultants Web Site : http://just4u.com/webconsultants
Give the Gift of Life This Year...
Just4U Stop Smoking Support forum - helping smokers for
over three years-tell a friend: http://just4u.com/forums/
To get 500 Banner Ads for FREE
go to http://www.linkbuddies.com/start.go?id=111261
---------------------------------------------------------------------