[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why code your own library?

On 22-Aug-99 Steve Baker wrote:
> Erik wrote:
>> 1) For fun. to see if you can do it ( Jeff Read said )
> Well, a little - but that wasn't *my* motivation.

it's a big part of why I wrote that js tut :)

>> 2) Functionality. What if I need to do something that none of the other
>> libraries do too awefully well?
> Yep - that's the main reason.
>> 3) Learning. I don't code just to code. It's not just fun, it's educational.
>> I
>> like knowing how the joystick works or how linux's audio layer works or
>> how...
> Somewhat - although if there were already suitable libraries, I wouldn't
> to learn that stuff.  I don't write my own sin() and cos() functions - I
> don't
> need to learn about how the math coprocessor works.

mebbe you don't, but I do :) I haven't written my own lowlevel trig stuff
but one day I may get a trig bug :) This was the other big reason for my js
code. Another reason was to replace old 2.0.x style js with new 2.2.x style in
some pre-existing games.

>> 4) Proprietary use. Most of these api's are gpl'd or lgpl'd. If for some
>> reason
>> someone wanted to make a closed source game, they couldn't use the GPL'd
>> stuff,
>> and the LGPL'd stuff would require that library installed on the system.
>> Mesa I
>> can accept, but I don't want to install plib or sdk32 or whatever else for
>> sound
>> or joystick support, I want it to just plain work. If all games were open
>> source, then it'd all be good, but most high quality games tend to be closed
>> source and linux is an open source beasty :)
> I don't buy that.  You use dozens of GPL/LGPL'ed libraries - Mesa,
> glibc, libm,
> etc, etc.  I suspect you are distinguishing between libs that come
> pre-installed
> on the OS in most distributions and those that don't.

yes, I meant to allude to distro specific vs admin added. Sorry I didn't make
this clear

> PLIB is (I think) on SuSE 6.2 and will be on the next RedHat CD too.

that's cool, but it's not on redhat right now, nor is it on debian, caldera,
slackware, rock, ...

> Where do you draw the line?

if it's a de facto library, then I'll use it. :) I use mesa, I use svgalib, I
use kernel level stuff... everywhere you look, people use it. plib may be the
greatest stuff in the world, but unless it's an extremely common api (like with
all the big distros as a "normal" package, not an extra), then I'm not gonna
work at making code that only uses plib (I use makefile magic and have target
compiles, so my source tree would have like sound.esd.c and sound.oss.c and
sound.win32.c). Most game players don't care about libraries and don't know how
to install them without some kinda package management tool. If I make a game
using a library where most games will have to download and compile (or totally
upgrade their whole system), it won't be as popular as a game that "just runs"
out of the box. If ya look at common complaints against linux games, however
they're released, a biggie is how well they run out of box...

ok, incoherent? check. No real direction? check. Just a jumble of random
rambling? Check. I think this email's ready to go :) 

> -- 
> Steve Baker                  http://web2.airmail.net/sjbaker1
> sjbaker1@airmail.net (home)  http://www.woodsoup.org/~sbaker
> sjbaker@hti.com      (work)

        -Erik <br0ke@math.smsu.edu> [http://shells.clipboard.com/~br0ke]

The opinions expressed by me are not necessarily opinions. In all
probability, they are random rambling, and to be ignored. Failure to ignore
may result in severe boredom or confusion. Shake well before opening. Keep