* Jason King <jason at ansipunx.net> [2009-02-20 00:59]:
> It's a bit like saying Solaris is not language (programming) agnostic
> because libc is the primary stable API for developers. Yeah a lot of
> the stuff is written in C -- and a lot of the system stuff is written
> as sh or ksh scripts. It doesn't prevent anyone from using csh, zsh,
> ruby, python, java, C++, Ada, Fortran, or even Cobol on Solaris.
Actually, at least two factors argue against arbitrary implementation
choices as one moves closer to the core OS:
1. System minimization prevents use of arbitrary language platforms
if/when we decide to define a minimal core for the OS. ksh93 and
Python would be in my core definition. (However, I would evict
Perl and Java from a minimal core, although they would return in a
workstation definition, and in many server definitions. And I
wouldn't want to admit new language platforms easily...)
2. Maintenance costs go up in proportion with the number of supported
implementation languages, and with the rate of change in the
platforms associated with each language. Components that are
"supported" should be implemented in a language in which a
sizeable fraction of the community declares expertise.
People can write applications using whatever tools they need, but the OS
is a shared development effort. Historically, we've been lax about
identifying the costs introduced by new languages (or the world
changes, and initial assumptions are now not correct). That laxness
(or being poor guessers) has proved injurious, if not fatal, to some
products.
- Stephen
--
sch at sun.com http://blogs.sun.com/sch/