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

Re: succinctness = power




Paul Graham writes:
> >
> > What if I defined a programming language that was twice as verbose
> > but the programmers working in it were half as expensive (business
> > majors rather than CS) and could crank out the same number of
> > features in the same time (the right primitives for the problem
> > domain). Would that high level language be less powerful?
> 
> God, yes.  That's exactly what I mean by powerful.  Add in Brooks'
> Observation (programming team productivity does not scale linearly)
> and you get the thesis of Revenge of the Nerds: which is:
> 
>   use weak language -> always be behind -> lose in market.
> 
> And remember that is the best case.  Languages are not just to
> implement in, but to think in.

This is such a succint (heh) formulation that you just enabled me to
find a possible counterexample: spreadsheets.

The spreadsheets is probably the weakest languages model in wide
use. The classic Visicalc spreadsheet (still recognizable in Excel)
doesn't even have control structures. Instead of loops and tests it
has columns of values and formulas, and yet spreadsheets are probably
the most popular languages design of the last 25 years. This is
because they so ferociously reduced the number of concepts that whole
new classes of user, like accountants and marketers and HR goons,
could easily understand them, and this permitted them to actually use
their computer for *computation* rather than as a fancy typewriter.

I suppose you could try rescuing the Revenge of the Nerds thesis with
the argument that the competition in this universe of users was pocket
calculators versus spreadsheets, and the more powerful language won.
It feels kind of strained, though.

(It's probably obvious that I really admire spreadsheets. It's true; I
think they are a *brilliant* design, and I would never have dreamed up
that interface, not in a million years. The best I would have done is
something clunky like a database's SQL REPL.)

-- 
Neel Krishnaswami
neelk@alum.mit.edu