scripting language vs. developer community size

Dan Kegel dank@alumni.caltech.edu
Mon, 15 Jan 2001 10:30:35 -0800


James LewisMoss wrote:
>  >> > Requiring that all high-level Gnucash code be in Scheme might be
>  >> > restricting the number of developers able to contribute to it.
>  >> Why?
> 
>  Dan> Because there are very few people who know how to program in
>  Dan> Scheme compared to the number of people who know how to program
>  Dan> in C, C++, Java, or Perl.
> 
> Learning new things is a goodness.  People should be willing, might I
> say excited, to do that.

Should be != are.  Wishing it's so doesn't make it so.

On the other hand, perhaps you folks are using "ability to program Scheme"
in the same way Linus is using "ability to debug kernel problems without
a kernel debugger", i.e. as an IQ filter to keep dumb people from contributing
code.  I respect that strategy, actually, in the case of Linux.
Is that partly the way you folks think about it?

>  Dan> Fair enough.  Would it be more convincing to estimate the number
>  Dan> of programmers using various languages by counting job listings
>  Dan> for each language?
> 
> OK.  I don't think anyone will argue that there are anywhere near the
> same number of people who know scheme as there are that know perl (or
> C or Java or C++ or whatever), but here's the simple facts:
> 1) No on is willing to maintain an interface but the scheme one.  You
>    want a perl interface.  Go ahead.

Would it be sufficient to write a Perl interface to the engine code,
or would the Perl programmers need to be abel to call
existing Scheme code?  (Seems like that latter, offhand.)

> 2) Many (most? all?) of the core programmers on gnucash know and like
>    scheme.

That's abundantly clear :-)    It's a self-selected group.
 
> So whatever "You should do this" arguments you might have are pretty
> useless unless you or someone else is willing to maintain another
> scripting interface to gnucash.  I don't think anyone has argued
> against one.  It's just that no one is willing/able/have time/etc.

I don't think I'm saying "you should do this".  I'm simply noting that
you folks are perhaps needlessly stunting the growth of your project by
not allowing coding in more mainstream languages.

- Dan