[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