You seem to be hinting at the ideas of Intentional Programming. What are your thoughts on that?
Yes, IP is after many of the same goals. When I first read the description a while back I thought it was the same thing, but then I started looking into the details and ... Well, I think they have the right goals, but haven't yet "unlearned" the mistakes of existing paradigms.
Can you guess why Microsoft aborted their IP project?
(Wasn't aware they had one, let alone aborted it.)
I think users of high-level languages such as Lisp, ML and logical languages might disagree with you. I once complained to a professor because he took points off from a Prolog assignment of mine for lack of comments [...] and he agreed with me that it was completely obvious from the code [...]
If you had changed all the names of your predicates and variables to A, B, C, D, and so on, would it have remained obvious?
Regarding "necessarily full AI" question, I believe TUNES answers it negatively, and I agree with them. But I'm an optimist by default. I never understood why software systems have to be so complex anyway. I say: if you can think about something simply and explicitly, you should be able to implement it simply. But for some reason (which I don't understand) it's not that simple.
This is a question I've been working on for the last decade. I could tell you two concrete reasons right now, but I'm in the process of implementing some related tech and don't want to "give it away" just yet... (but I'd be happy to talk about it in detail in a more private venue).
So the problem of programming is: how do you take the process in your head and put it in the machine? And that is essentially formalization work.
Here I disagree (but this is related to the items mentioned above).
I think what we need is a new "programming meta-paradigm"
Agreed!
Why we don't have such a nice executable language (more formal than English, more general and more "expressive" than current languages) might have *something* to do with quirky human logic, but that by itself should be much much simpler than the so-called "AI problem".
A decade ago I predicted general AI would first emerge in a compiler--not in some soda-spilt-on-the-circuits magic sort of way, but because I think the evolutionary pressures on compilers are pushing them in precisely that direction (more so than any other commercial application I can think of). Now I'm not so sure, since there is suddenly renewed direct commercial and academic interest in pursuing AI, but I still give it good odds.
The question you pose is about representation--forget how to do anything with it, how do you even represent it? ("It" being... knowledge in the general sense.) If you knew how to concisely write down what was in your head, it would probably be a lot easier to figure out how to compute with it (in the same ways that you do, or more). I think this question of representation is central to both IP/Tunes/etc.., and to general AI. I don't think you need to solve general AI to solve the programming paradigm problem, but I think the current, and perhaps largest, hurdle is the same for both at the moment.
(no subject)
Date: 2003-12-16 04:22 pm (UTC)Yes, IP is after many of the same goals. When I first read the description a while back I thought it was the same thing, but then I started looking into the details and ... Well, I think they have the right goals, but haven't yet "unlearned" the mistakes of existing paradigms.
Can you guess why Microsoft aborted their IP project?
(Wasn't aware they had one, let alone aborted it.)
I think users of high-level languages such as Lisp, ML and logical languages might disagree with you. I once complained to a professor because he took points off from a Prolog assignment of mine for lack of comments [...] and he agreed with me that it was completely obvious from the code [...]
If you had changed all the names of your predicates and variables to A, B, C, D, and so on, would it have remained obvious?
Regarding "necessarily full AI" question, I believe TUNES answers it negatively, and I agree with them. But I'm an optimist by default. I never understood why software systems have to be so complex anyway. I say: if you can think about something simply and explicitly, you should be able to implement it simply. But for some reason (which I don't understand) it's not that simple.
This is a question I've been working on for the last decade. I could tell you two concrete reasons right now, but I'm in the process of implementing some related tech and don't want to "give it away" just yet... (but I'd be happy to talk about it in detail in a more private venue).
So the problem of programming is: how do you take the process in your head and put it in the machine? And that is essentially formalization work.
Here I disagree (but this is related to the items mentioned above).
I think what we need is a new "programming meta-paradigm"
Agreed!
Why we don't have such a nice executable language (more formal than English, more general and more "expressive" than current languages) might have *something* to do with quirky human logic, but that by itself should be much much simpler than the so-called "AI problem".
A decade ago I predicted general AI would first emerge in a compiler--not in some soda-spilt-on-the-circuits magic sort of way, but because I think the evolutionary pressures on compilers are pushing them in precisely that direction (more so than any other commercial application I can think of). Now I'm not so sure, since there is suddenly renewed direct commercial and academic interest in pursuing AI, but I still give it good odds.
The question you pose is about representation--forget how to do anything with it, how do you even represent it? ("It" being... knowledge in the general sense.) If you knew how to concisely write down what was in your head, it would probably be a lot easier to figure out how to compute with it (in the same ways that you do, or more). I think this question of representation is central to both IP/Tunes/etc.., and to general AI. I don't think you need to solve general AI to solve the programming paradigm problem, but I think the current, and perhaps largest, hurdle is the same for both at the moment.