Hi Cortlandt, after recovering from the state my evening plans from tuesday left me in, I can't help adding some more comments:
> Actually what I am talking about is a compiler with a grammar that reads > easily and the ability to create grammars and protocols easily as an > important feature. As I said before, this added expressiveness comes at the tremendous cost of forcing developers to do something most of them normally don't (and would have a hard time to do, I guess): Express their intends in a clear and unambiguous way without having an environment that forces them to do so by sheer lack of expressiveness. I admit, though, that this point _might_ be made moot by an excellent development environment giving JIT code hinting in a way that makes it seem like it really enters into a dialogue with the developer. About your (and Julian's) ideas about compilers (or VM's, really) that interpret a program's meaning by looking up lots of information on the internet: I can only see two ways to implement this, one of which is interesting but not really that new and, first of all, very intricate, while the other one sounds like the holy grail of programming and is, like all holy grails, absolutely not feasible: 1. Build a huge library of common knowledge in a clearly defined way that can be consumed via some web service. This way, one could implement "tell jim to buy healthy food" by binding the term "healthy food" with the web service so that it's meaning is automatically derived from this gigantic pool of common knowledge. Ideally, the developer could choose whether a certain version of the definition should be used or whether his program should always use the current definition to benefit from, say, advances in human knowledge about what's healthy. Of course, you'd have to have tremendous amounts of ressources to build up this library and some serious QA going to make this worthwhile. (For example, see the problems Wikipedia is going through, right now.) This approach is certainly interesting, but, as I said, technically not that novel. 2. Automatically tap the collected knowledge of "the internet" by creating some web service that automatically creates the type of definitions described above on demand and from information gathered through search engines. I think that this would be a huge task from a technical point of view, seeing as you'd need to parse and interpret free-form texts and whatnot. Also, I could see a whole new era of search engine spamming coming, with McDonald's trying to push a definition of "healthy food" that basically says "eat five quarter pounders a day, and you're fine". What I could imagine would be some dialogue based development where you'd be able to have a conversation along the following lines: Dave: HAL, I'd like you to tell jim to get some healthy food from the store. HAL: Do you mean the store we talked about last week, dave? Dave: Yes, HAL, that's the one. HAL: Ok, Dave, I'll tell him. I'm gonna use the definition of "healthy food" you gave me two weeks ago, ok? Dave: Yup, go for it. and so on ... But then again, would you really want to go to all that hassle only to - inevitably - get the dreaded "I'm afraid I can't do that, Dave" sooner or later? ;-) cheers, till _______________________________________________ osflash mailing list [email protected] http://osflash.org/mailman/listinfo/osflash_osflash.org
