Regarding the best language for AGI development, most here know that I'm using Java in Texai. For skill acquisition, my strategy is to have Texai acquire a skill by composing a Java program to perform the learned skill. I hope that the algorithmic (e.g. Java statement & operation) knowledge that I teach it will be eventually portable to source code generation in machine language for the x64 architecture. One might hope that by initially teaching the register set, machine instructions, and cache-line characteristics for x64, the code generation might subsequently learn to perform many of the static and dynamic (e.g. execution profiling based) optimizations employed by the best compilers.
Given algorithmic knowledge, it should be possible, for example, to avoid the need for type inference, or escape analysis to determine which objects can be allocated from the stack versus the heap. Likewise, algorithmic knowledge should enable the identification of single threaded code in which objects can be statically allocated or simply kept in a register. What I am suggesting is that compiler optimization is a skill, and that skill could be taught to an AGI - having the ability to learn by being taught. While I enjoy reading about, and sometimes participating in, a programming languages discussion, I suppose that what language an AGI should author is also interesting. Cheers. -Steve Stephen L. Reed Artificial Intelligence Researcher http://texai.org/blog http://texai.org 3008 Oak Crest Ave. Austin, Texas, USA 78704 512.791.7860 ----- Original Message ---- From: Vladimir Nesov <[EMAIL PROTECTED]> To: agi@v2.listbox.com Sent: Monday, May 26, 2008 7:48:29 AM Subject: Re: [agi] More Info Please On Mon, May 26, 2008 at 3:42 PM, Mark Waser <[EMAIL PROTECTED]> wrote: > > And what is the value proposition of Java over any other language? It has > no unique features. It's development is lagging. It's developers are > defecting (again, look at the statistics). It's fragmenting just like Unix > so it certainly isn't as portable as claimed. > Java is clear and understandable, with clean semantics so that you can refactor the code without breaking it and IDE knows its way around the codebase, has garbage collection, a bit of functional programming stance, is fast enough, has decent infrastructure and everybody knows it. A bit verbose, but I haven't found it to be a serious problem. If you don't need fragmented odd parts, it's sufficiently portable. If you decide between .NET and Java, tradeoff is more subtle, as they are essentially the same thing, except that .NET is not open and more bloated -- which is more important for a particular project? I guess openness outweighs is for an open-source project. -- Vladimir Nesov [EMAIL PROTECTED] ------------------------------------------- agi Archives: http://www.listbox.com/member/archive/303/=now RSS Feed: http://www.listbox.com/member/archive/rss/303/ Modify Your Subscription: http://www.listbox.com/member/?& Powered by Listbox: http://www.listbox.com ------------------------------------------- agi Archives: http://www.listbox.com/member/archive/303/=now RSS Feed: http://www.listbox.com/member/archive/rss/303/ Modify Your Subscription: http://www.listbox.com/member/?member_id=8660244&id_secret=103754539-40ed26 Powered by Listbox: http://www.listbox.com