
What Next? A Few Remaining Problems in Information Technology (1998) [pdf] - sjcsjc
http://research.microsoft.com/pubs/68743/gray_turing_fcrc.pdf
======
amelius
My biggest concern: currently, programming is 10% thinking and 90% plumbing.

Most applications, even in the distributed web-service age, are just about
sending data from A to B. Or updating results based on changes of inputs. If
we cannot solve these problems in a simple and generic way, then most of our
intellectual capacity is lost to basic plumbing work.

And unfortunately, new programming languages and frameworks are not making the
tasks fundamentally simpler, only superficially (like reducing the required
number of lines-of-code by merely a constant factor).

Another problem I see is that functionality is often duplicated among multiple
languages. For example, there's a library for doing computational geometry,
written in Python, in C++, in Haskell, in Javascript, etc. This is of course
enormously wasteful, and the only thing necessary to solve this is a decent
mapping between languages.

In other words, we need better tools to get ourselves out of this mess.

~~~
javajosh
This is covered on page 43.

It's too bad the OP is off the front-page already - this is the best thing
I've seen on HN in about 6mo. But you're right - we _still_ need better ways
of thinking about application design. Bret Victor gets it, because it's a
visualization problem, and a pedagogy problem, and a tooling problem, not
really a "computer science problem" (a la Scott Aaronson).

This paper ignores "application construction" as a problem, but the existence
of Light Table, Swift, Go, React, and so forth underscore the need for better
developer tools. (React is particularly interesting as I don't know of
anything that good even outside of the web. It's interesting that app design
in the browser is eclipsing traditional methods in many ways! I think that's
cool.)

