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

Re: Industry versus academia

> From: DLWeinreb@attbi.com
> Date: Fri, 21 Feb 2003 17:11:48 +0000
> If you go up to the 50,000 foot level and look at the world of
> programmers and computing, what you see is that the kind of 
> people who are on this mailing list are rather in the minority.
> In fact, the whole world of people who can do system programming,
> who can build little languages, and even those who can use
> language extensibility mechanisms to make good, well-designed
> language extensions (including those who can use Lisp macros
> for good and not for evil, so to speak) is really very small.

Nominee for "understatement of the year award" ;-)

> >From the point of view of industry, coming up with cooler languages
> that are cool for elite programmers may be lots of fun, but there
> just isn't a lot of real-world revenue there.  Especially when
> programming languages are generally a free thing these days.
> If you want your idea to move from academia to industry, there simply
> has to be a plausible way for industry to make money from it.  It's
> hard to make money by coming up with a great new programming language.
> Maybe one approach to the original question is to ask why cool ideas
> from academia aren't making it out to the general public in the form
> of free software or open software, in light of the fact that it's hard
> to make money from selling programming languages.

I don't think that making money directly off of programming languages is
the point, though.  Perl, python, and java are all free (for suitably
flexible definitions of "free") and yet it is possible to generate revenue
from them once they get popular merely by doing consulting.

One thing that I've always hoped would happen (but hasn't yet) is that new,
advanced languages would be able to do things that are not merely difficult
or tedious in existing languages, but well-nigh impossible.  In that case,
and assuming what they do is valuable to industry, I think industry types
would rush to hire pointy-headed academics who know about monads and
continuations etc., simply because that's the only way the job is going to
get done.  

To choose an example: let's say that someone invents a programming language
Foo that has the property that programs in Foo can be automatically
verified for correctness before use (this is of course a long-standing holy
grail of the programming languages field, but never mind).  Let's say that
programming in Foo requires abstruse knowledge of category theory,
hyper-monads, supercombinators and ultra-continuations that very few people
have, but that is essential in order to give Foo the property of
verifiability.  Now suppose that you need software for air traffic control.
If the software fails, people could die.  Are you going to hire a Foo
programmer or a C++ programmer?  I think in cases like this the Foo
programmer is the clear choice, because what he/she produces simply can't
be produced by the C++ programmer in any practical sense.

The fact that sophisticated languages haven't caught on in industry is
largely a function of the fact that what they do can also be done (however
more tediously) with more conventional languages.  The increase in
productivity for the top 1% of programmers isn't enough to justify them in
the eyes of a manager, and I'm not sure I blame them.