[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
languages for mediocre programmers (was: Language Marketing)
> Date: Fri, 14 Dec 2001 15:56:55 -0500 (Eastern Standard Time)
> From: "S. Alexander Jacobson" <alex@shop.com>
>
> To bring this back to language design; you should design a language for a
> population to whom you can market effectively. If that language is to be
> used in a commercial setting, then that population may be PHBs. If that
> language is for hackers to use on their own projects, thats fine too.
> However don't assume that PHBs interests are necessarily aligned with
> hackers. For example, PHBs may be concerned with:
> * the availability of libraries for a particular task (developers may
> prefer to roll theirown)
> * a plan/opportunity to merge/collaborate with a different organization (a
> plan for which the developer may be ignorant)
> * development environment and pricing advantages provided by platform
> vendors (get a discount if you use C# or if you use PL/SQL)
> * the cost of planned deployment environments (the PHB may prefer Linux
> because of a plan for an embedded version even though the developers
> like Visual Studio)
> * etc.
And a very big point: availability of programming talent.
Anyone who's tried to recruit programmers for a startup knows what a
thankless job it can be. It's hard to find people who are competent in
*any* programming language, much less people who know how to use postfix
stackless objective-Haskell with first-class continuations :-) This is one
big reason that languages get established. When a lot of programmers learn
the language, then the developer pool is larger. This makes it easier to
hire new people for a project, more people then want to learn the language
to make them employable, etc. etc.
Now, I fully agree with the idea of designing a language for your smart
peers. But PHBs have to have languages that even mediocre programmers can
use fairly well, because they can't be sure they will be able to hire a
star programmer. Languages like lisp and ML are (at least currently)
languages that only smart programmers know. I would add C++ to this list
too, because even though a lot of mediocre programmers "know" C++, they
really shouldn't be using it. If I were starting a startup today, I would
probably get my programmers to use python and java, because almost any
reasonably competent programmer can do a decent job with these languages.
Or I might hire one or two great programmers and use lisp :-) But that's a
riskier proposition; those one or two programmers are not easily
replaceable. For my *own* work, I want the Arc-style
languages-designed-for-smart-peers. It's no coincidence that the
"beautiful" languages were all designed for people to do their own work
in.
Mike