> Alright, I give up - why do fun languages like Python or more fun
> languages like Squeak get passed over in the market compared to
> rather annoying languages like Java? How come they haven't been as
> competitive as say Linux as a server OS platform? Why is C++ vs.
> Java still our fate in 2006? Is there no God? Have we been bad?

OK -- this is a huge topic, but, for what it's worth, here's my theory.

Short answer: marketing.

Long answer:

Most language choices in the programming world come down to
programmers selling stuff to management. Selling is a people skill and
programmers often lack it. Every so often a programmer manages to use
some obscure language they prefer, and the results are impressive --
Yahoo! Stores was originally written in Lisp, there were virtually
zero Ruby Web programmers before one Ruby Web programmer created Ruby
on Rails, Seaside is written in Smalltalk and has productivity that
makes even Rails look sluggish, etc. -- but generally that's not
because somebody discovered a language's heretofore-overlooked power,
it's because somebody who was already aware of that power managed to
convince some business person that the power actually existed, or
learned enough business skills that these decisions became their own
to make.

More frequently, what happens is that the language choice actually
comes down to a management decision, and most people who manage
programmers are in the business of making decisions they do not
understand. So they follow the dictates of fashion. This is why the
industry is so prone to buzzwords and trends -- the people making the
decisions do not actually have any other metric at their disposal
besides popularity.

Anyway, apologies Owen, but I have to disagree with the "languages are
hard" thing. Languages are easy, at least, for me personally, I've
never found syntax or even idioms difficult to get the hang of. As
arrogant as I might sound, I don't think I'm actually unique in this.
The sheer number of languages, and the fact that most programmers know
several, demonstrates that they aren't **that** difficult. But the
points about interoperability and deployability seem much more valid.

I think programmers who enjoy obscure languages tend to be better
programmers, but the causality works the other way around: enjoying
obscure languages doesn't make you a better programmer, being a good
programmer gives you an increased appreciation for obscure languages.
That being said, there's a lot of interest in learning new languages
these days, and I think it's gotten out of hand.

A lot of the big surprise success stories in the last decade or so
have come out of left field in terms of the languages they were
written in, but this is almost tautological -- they wouldn't have been
surprises if they had been written in the languages everyone else was
using at the time. It does seem, though, that if you study languages
strictly to learn more languages, you'll find a lot of totally
careerist programmers doing the same thing. About a year and a half
ago I was going to Python users' group meetings at Google, and the
slickness, desperation, and indifference which marks a room full of
careerist programmers was so thick in the air that I could hardly
breathe. Maybe a year or so before that, it had become common
knowledge that Google preferred to see Python on resumes when hiring
for Java positions, and so a lot of people had started learning Python
purely to get better Java jobs, in much the same way that a guy who
has no interest in actually managing a project might still seek to be
officially named the project's manager.

I hope I don't sound like a bitter Silicon Valley refugee... ;-)

-- 
Giles Bowkett
http://www.gilesgoatboy.org

============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

Reply via email to