[SDL] SDL 2.0 ABI locked

Zoltán Kócsi zoltan at bendor.com.au
Tue Mar 19 06:59:03 PDT 2013

On Sun, 17 Mar 2013 17:29:35 -0700
"Nathaniel J Fries" <nfries88 at yahoo.com> wrote:

> [...]
> Assuming SDL is meant to be compatible with the earliest C standard,
> C89, then assuming stdint exists is bad behavior.

OK, let me be the Devil's advocate. Why should it target C89? It is
a library released *now*, targeting devices which were not even dreamt
of in '89.

As a matter of fact, you arbitrarily say C89. How about the C before
that? You know, the one without function prototypes. Why do you assume
that I use anything more than the original K&R book, which *was* the
de-facto C standard back then? I might even fancy the original C, where
+= was =+ (which caused a parsing ambiguity but was fixed before the
first K&R book, so it's not well known), how about that?

I am actually serious. Why do you draw the line at 24 years? Why not
anything before? I most certainly have programmed in C way before
ANSI-C (aka C89) came out. I might even have some old C compiler
incarnations somewhere, although I could not run them without some
emulator, even if I could find an old floppy drive and built an
interface card to actually read them.

I'm all for backward compatibility and really hate when old programs
don't run on new systems, especially when the new system is *supposed*
to be functionally identical and backward compatible.

However, SDL 2.0 is a *new* library, which is *not* backward compatible
with its old incarnation, despite the similarities. The lack of
backward compatibility is explicitly stated as an intentional decision.
Thus, I think the library can set the minimum acceptable HW, OS and
compiler level to whatever is deemed practical. SDL-1.2 is still there,
if you need true backward compatibility. If you want HW accelerated
rendering and OpenGL stuff, then you have to pay the price of using a
compiler not older than 14 years.


More information about the SDL mailing list