[openbeos] Re: PPC versions

  • From: "Nathan Whitehorn" <nathan.whitehorn@xxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Tue, 09 Apr 2002 21:33:14 EDT (-0400)

> >Philippe Houdoin wrote:
> >>> Good is fine. _EXPORT is not good. It is a platform specific 
> > > > thing.
> >>
> >> This kind of *uglyness* could give us platform/compiler 
> > > independence.
> >> Not really costly.
> >
> >Yes, exactly!  It's really ELF that is weird in this respect, 
> > exporting
> >every symbol by default, NOT other platforms like PPC.  I'm used to 
> > seeing
> >_EXPORT or something like it in every shared-library-like thing I've 
> > ever
> >worked on for decades.  If adding a few _EXPORTs here and there to 
> > the
> >source helps PPC people contribute and work on OpenBeOS, I don't see 
> > why
> >anybody should object.
> 
> Very simply, this is adding a requirement to EVERY DEVELOPER out 
> there.
> For a *FEATURE* that was never part of the original idea. I am sure 
> that someone
> with your level of experience understands how dangerous feature creep 
> is.
> That is exactly what PPC has become. I have said to many of the PPC 
> people 
> (offlist, unfortunately) that PPC is *NOT* a priority or an official 
> port at this time.
> To be honest, it is a little (just a little) out of line to ask every 
> developer to make
> significant changes to their code and build environment in the middle 
> of their work 
> to support a side project that some (SMALL) number of people find 
> interesting.
> Should I ask everyone to optimize their code for my dual Athelons? 
> Nope.
> How about making an Alpha port easy? Nope. Not that these (and 10,000 
> other 
> things) are not worthy requests. But you can't please all of the 
> people all of the time.

It's not about making things easy. It's about not making things hard. 
The two are very different. It's the same argument as not writing all 
your code in x86 assembler. Writing in C/C++ isn't a good idea because 
it makes a PPC port easier but because it doesn't make a port *harder*. 
Remember the original subject of my e-mail: how not to *actively 
prevent* a ppc port. Not only that, _EXPORT makes code more readable. 
It seperates the external API from the internal support environment and 
marks what can and cannot be changed without breaking compatibility. 
All too often in the OBOS code I've seen, this distinction has become 
blurred.

> >In general, making a codebase work on more than one platform is a 
> > good
> >thing.  It forces you to think about assumptions that would 
> > otherwise go
> >unchallenged.  It might even help shake loose otherwise difficult to 
> > find
> >bugs, like uninitialized variables that just happen to have the 
> > proper
> >starting value on one platform but not on another.
> 
> I agree, here. But there are a very small number of people with PPCs 
> that can help.
> And the trouble of adding *stuff* to the code to support a 5 year old 
> compiler/proprietary
> file format combination just doesn't seem worthwhile to me.

It's not to support PEF/mwcc. It's too avoid writing code that uses *
GCC-only extensions*. The world out there is bigger than x86/gcc, and 
we should code with that in mind.
-Nathan


--
Fortune Cookie Says:

                AMAZING BUT TRUE ...

There is so much sand in Northern Africa that if it were spread out it
would completely cover the Sahara Desert.


Other related posts: