Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: I *definitely* agree with Dijkstra

by no_slogan (Deacon)
on Jul 14, 2001 at 06:24 UTC ( [id://96655]=note: print w/replies, xml ) Need Help??


in reply to I *definitely* agree with Dijkstra
in thread about Coolness, Impatience and Complexity

I see that I have once again completely failed to communicate. I agree with you. Really. Computer science is not about bioses and endianness and all the other technical minutiae of computers. Abstraction is good.

When we create an abstraction, though, we don't always know whether we are making something useful or (to quote the Cryptonomicon) wanking ourselves. Just because you abstracted something doesn't bring it into existence. I think that there are fundamental limits to what a computer of any type can do, which are set by information theory and physics. Those limits define the compass of computer science. If we sit around and postulate new kinds of computers without addressing the limits (maybe by circumventing them in some way), I think we're dangerously close to wanking.

Also, I think not using goto is more an issue of engineering discipline than computer science.

That's all. I will now do my best to shut up and not add any more incoherent rantings to this thread.

Replies are listed 'Best First'.
Re (tilly) 2: I *definitely* agree with Dijkstra
by tilly (Archbishop) on Jul 14, 2001 at 13:56 UTC
    If CS has abstraction at its heart, at what point in your abstractions has the underlying concept of the machine been abstracted away into irrelevance? That is what Dijkstra is talking about. The computer is necessary for supporting the base of the abstractions in practicality, but what you use a computer to see and think about has nothing fundamentally to do with computers.

    Now further to that, there is truth in saying that discussion of calculations we cannot perform is not particularly useful. However beware of saying that thinking about such calculations is useless. The fact is that often by thinking about calculations we cannot perform and then trying to understand them, we can find ways to speed up key parts and come up with practical replacements. Without thinking about the implausible calculation problems we would be unlikely to ever arrive at practical solution.

    An interesting example of this that I once saw was an old book on signal processing someone was throwing out. I don't remember what the book was, but I looked at it briefly. It looked like a fairly well organized book, but virtually everything in it was only a historical curiousity. You see the book dated from the late 50's. Virtually every algorithm in it existed as a workaround for the fact that while everyone knew that the Fourier Transform was the ideal way to solve the problems at hand, it was not practically computable. Just a few years later an old result of Gauss' would be rediscovered, and the FFT made the Fourier Transform usable in real world signal processing in real world computers. And all of the theoretical work on Fourier Transforms was suddenly applied and all of the applied work on signal processing was out of date.

    However there is a far more practical example. In 1940 GH Hardy wrote in A Mathematicians Apology that

    I have never done anything 'useful.' No discovery of mine has made, or is likely to make, directly or indirectly, for good or ill, the least difference to the amenity of the world. . . Judged by all practical standards, the value of my mathematical life is nil . . .
    What was his reasoning for this? Why quite simply that his life was spent in pure number theory. He was working with numbers so big that nobody could do anything useful with them. In fact we look at the kinds of things that he was talking about and we see no prospect of practically doing the things he thought about. The computations which mechanical verification of his proofs require are, and likely will forever remain, well out of the reach of computers. Things like trying out every possible factorization of a hundred digit number and verifying that it is prime is not going to happen. Of what use then would be studying the statistical distribution of large primes be?

    Yet with RSA public-key encryption and the existence of algorithms like Rabin Miller, we can definitively say that Hardy was wrong. No matter how useless he thought his work was - and he had good reason for calling it useless - it was not. (ObRandomNote: While Hardy did a lot of good mathematical work in his own right, he is most remembered for reading and responding to a letter by a poor Indian clerk named Ramanujan.)

    So be very, very careful about what you label as useless, no matter how good your reasons are for labelling it so.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://96655]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (6)
As of 2024-03-28 09:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found