Why is Redland written in C?
Writing in C allows reuse in lots of ways and the library should be easy to call from languages since most of them allow importing of C libraries or calling of C functions. C is also more “portable” (subject to the usual C problems) and should be compilable on many different systems. I have access to and have built it on (at various times): Redhat 7-9, Redhat Fedora Core 1-4, Gentoo, Debian 3.0/unstable GNU/Linux (x86); Solaris 2.5, 7, 8, 9 (Sparc); OSX 10.2, 10.3, 10.4 (PPC); Debian GNU/Linux (DEC Alpha); FreeBSD 4.7-4.9 (x86); HP-UX 10, OpenBSD, NetBSD and more more. The release announcements for the packages typically list the systems that it has been tested on.. it configured, built and tested out of the box on all of these (C interface; the other language APIs depend on the particular support of each OS). See also the W3C Library note on C++ in C which covers some of these issues, although I wrote the library before finding this.
Writing in C allows reuse in lots of ways and the library should be easy to call from languages since most of them allow importing of C libraries or calling of C functions. C is also more “portable” (subject to the usual C problems) and should be compilable on many different systems. I have access to and have built it on (at various times): Redhat 7-9, RHEL 4, 5; Fedora Core 9-13, Gentoo ~ 2007-2009, Debian 3.0/unstable GNU/Linux (x86); Ubuntu ‘D’ – ‘J’ 9.04; Solaris 2.5, 7-9 (Sparc); Open SOlaris 10 (Intel); OSX 10.2-10.4 (PPC); OSX 10.4-10.6 (intel); Debian GNU/Linux (DEC Alpha); FreeBSD 4.7-4.9 (x86); HP-UX 10, OpenBSD, NetBSD and more more. it configured, built and tested out of the box on all of these (C interface; the other language APIs depend on the particular support of each OS). See also the W3C Library note on C++ in C which covers some of these issues, although I wrote the library before finding this.