Hey, finally a moment to comment (mostly related to the language/programming aspects):
I share your goals completely, and those of Tunes, but I have been frustrated over the years at the brittleness of any direct approaches to these problems and at this point I believe they need to be tackled at a more fundamental level. Tunes, for instance, claims it is just a matter of integrating all the existing pieces. But I believe it is the manner of integration itself that is the true missing piece.
What you are looking for, I think, is not more attributes to your programming language, but new fundamentals benieth it.
To be concrete: existing code, in any current useable language, specifies How, but not What or Why. Look at the comments above methods or prototypes in well-documented code, and you will find they are more useful, and longer-lasting, than the code itself. The code will be rewritten from context to context, but the comments often stay the same. Why? Because the comments express, as a chunk of knowledge, What the code does--and that is the real code, or should be. That is the chunk of knowledge that reflects what is in our heads, and it is how we think about the code, and how we decide when to use it and why (and that is what integration is all about...).
Imagine if we thought about our code in terms of the bodies of methods -- we would be unable to do anything more abstract with them. Yet imagine if I gave you a function foo(a, b, c) and didn't tell you what was in it -- it would be useless to you. This is the world visible to any modern compiler.
So, I ask: if you read the body of a method and/or the comments above it and understand what it does, what is that understanding, and how can it be written down? Can it be made more accurate than english, but more general and concise than code?
(And is the answer to that question necessarily full AI, or could it be just another programing paradigm? And can TUNES really succeed without answering that question? I realize it's not immediately obvious on the surface why not, but my suspicion is not.)
Anyway, my two cents. I reserve the right to change my mind about anything and everything on a moment's notice. :)
(no subject)
Date: 2003-12-10 01:43 pm (UTC)I share your goals completely, and those of Tunes, but I have been frustrated over the years at the brittleness of any direct approaches to these problems and at this point I believe they need to be tackled at a more fundamental level. Tunes, for instance, claims it is just a matter of integrating all the existing pieces. But I believe it is the manner of integration itself that is the true missing piece.
What you are looking for, I think, is not more attributes to your programming language, but new fundamentals benieth it.
To be concrete: existing code, in any current useable language, specifies How, but not What or Why. Look at the comments above methods or prototypes in well-documented code, and you will find they are more useful, and longer-lasting, than the code itself. The code will be rewritten from context to context, but the comments often stay the same. Why? Because the comments express, as a chunk of knowledge, What the code does--and that is the real code, or should be. That is the chunk of knowledge that reflects what is in our heads, and it is how we think about the code, and how we decide when to use it and why (and that is what integration is all about...).
Imagine if we thought about our code in terms of the bodies of methods -- we would be unable to do anything more abstract with them. Yet imagine if I gave you a function foo(a, b, c) and didn't tell you what was in it -- it would be useless to you. This is the world visible to any modern compiler.
So, I ask: if you read the body of a method and/or the comments above it and understand what it does, what is that understanding, and how can it be written down? Can it be made more accurate than english, but more general and concise than code?
(And is the answer to that question necessarily full AI, or could it be just another programing paradigm? And can TUNES really succeed without answering that question? I realize it's not immediately obvious on the surface why not, but my suspicion is not.)
Anyway, my two cents. I reserve the right to change my mind about anything and everything on a moment's notice. :)