[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Small time coding [Was: Re: About Visual Basic [Was: Industry versus academia]]
On Wednesday, March 12, 2003, at 06:58 AM, Shriram Krishnamurthi wrote:
> Geoffrey Knauth wrote:
>
>> If making the hard stuff easy is the goal, are we looking for something
>> like a programmer's Mathematica? That is, you'd express a problem in
>> mathematical terms, ask the computer to search the archives for an
>> approved algorithmic plugin that solves it within parameters of cost
>> and performance, and the computation would succeed or fail based on the
>> availability of an existing implementation.
>
> Bill Gosper used to say that what would he would find truly useful
> would be the *inverse* of Mathematica (or, as he'd put it, of
> Macsyma). You want a program that takes as its input a term, and
> tells you what is interesting about it. For instance, you might enter
> a number to which it responds, "Ah yes -- that's pi^2/e with a few
> bits on the side". Such a program would be the ultimately expansive
> code generator. A non-deterministic language, too.
There is such a program, the [online] Inverse Symbolic Calculator,
http://www.cecm.sfu.ca/projects/ISC/ISCmain.html
Entering in 3.6308245516559 yields
Results of the search:
Your input of 3.6308245516559 was probably generated by one
the following functions or found in one of the given tables.
Answers are given from shortest to longest description
Mixed constants, 2 with elementary transforms.
3630824551655960 = Pi^2/exp(1/2)^2
Browse around 3.6308245516559.
But Geoff's point is interesting. Most IDEs focus on low level syntactic
details. I've always preferred emacs for syntax and editting, but a
high level IDE
that provided access to a rich library of algorithms with specified and
searchable
time/space complexity would be much more interesting. An IDE that could
search
for combinations of algorithms, similar to the ISC above, for
implementing a particular
Abstract Data Type would be even better....
Tim