[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Industry versus academia
On Saturday 22 February 2003 23:38, Michael Vanier (by way of Michael
> > From: Michael Schuerig <email@example.com>
> > Date: Sat, 22 Feb 2003 13:10:59 +0100
> > On Friday 21 February 2003 23:53, Michael Vanier wrote:
> > > 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...
> > Hm... wouldn't it be even cooler if this mythological language
> > could be used by average programmers to the same effect?
> Sure. But the point is, if my example were real (which it isn't),
> then whether average programmers could/would use this language is
> irrelevant, because the ONLY way to get the job done would be to use
> a language like Foo, abstruse or not. This is pretty commonplace in
> science. If you want to build a television set, you have to know a
> lot about electronics, which I could characterize as fairly abstruse
> knowledge. If you want to work in cryptography, you have to know a
> lot of abstruse mathematics. The situation is different in
> programming, but my question is: what if it weren't? How would that
> affect the PL landscape and the questions we're discussing?
For one thing, the situation is not different. As you said yourself in
another article, there are some extremely good programmers who
nevertheless preferably use comparatively retarded languages -- and
achieve excellent results.
I think your Gedankenexperiment breaks down under the weight of
Turing-equivalence. Tentatively, I'd say that more advanced languages
provide only a gradual advantage, not an in-principle one. Or, from a
slightly different angle, a programmer who would be able to handle the
delicate intricacies of a very advanced language would probably be able
to achieve similar results in a lesser language. The choice of language
is a matter of convenience and taste.
What it comes down to, is that for certain tasks you need experts. The
tools are secondary, given they are above some threshold. For all their
shortcomings, C++ and Java seem to be good enough.
> I guess my point was that I find it interesting that so many of the
> conceptual advances in programming languages that we discuss on this
> list seem to be useful mainly for making certain kinds of programs
> easier to write (for programmers who understand the new
> abstractions) rather than making it possible to write programs that
> would have been intractably difficult to write without them. Maybe
> this is just a consequence of Turing completeness -- I don't know a
> rigorous definition of "intractably difficult".
As I said above, I doubt it that problem tractability depends on choice
of language. To my mind, this overestimates the importance of
You gave the example of creating provably correct software for air
traffic control. I'm wondering, how large a part of the endeavour is
taken by coding? Where are errors most likely? In the implementation?
Or rather in the specification? If it's the latter, no programming
language is going to help.
Another problem I see with an experts-only language is that there are
too few experts around. This could mean, that while use of that
language would hugely boost the performance of a few select experts,
they would nevertheless lag behind the combined productivity of legions
of average programmers with average languages. Presumably, even in air
traffic control software, not every single module requires guru-level
expertise. Too bad, if the language enforces such a requirement. So, I
consider it very desirable, that a language that allows experts to fly
is at the same time friendly to novice and average (but hopefully
Michael Schuerig Not only does lightning not strike
mailto:firstname.lastname@example.org twice, it usually doesn't strike once.
http://www.schuerig.de/michael/ --Salman Rushdie, "Fury"