some extra points in support of C++: - Developer quality; It seems to take about 5 years to get good at C++. There's plenty of carbon-copy Java/PHP/.NET programmers being churned out but they'll need some time to mature into decent developers, with a good portion choosing attrition into BAs etc after they realise they're not first-option coders. If you choose C++, then you've already got candidate programmers who've been tried and tested. The 5-year ramp-up is often one of the criticisms of C++ but for AGI work I think it's probably a worthwhile prerequisite.
- Breadth of library support. Lisp has an even greater learning hurdle than C++, so wins out on the point above; but then it loses out big-time on library support and breadth of heavyweight APIs. Take Boost & STLport, add a cross platform support library like ACE and above all top-notch compilers, debuggers/profilers and IDE's (e.g. gcc, gdb & Purify, (gulp) Visual Studio). On top of that you can write to every BSP for any given architecture natively (as you can talk C in the same source if you choose) and you also get OS bindings (POSIX etc) and the ability to call native assembly directly to optimise for specific heavy/repeated use segments (_asm{...}). - Stability. Java wins on the point above, but fails here. Every major app of note for the last 20 years has been C++. If the code is written well and memory is allocated and deallocated cleanly then the app will run continuously without failures while still being able to do intensive ongoing processing. The latest space vehicles, medical equipment, public safety and enterprise applications (remember: the Java VM is C++) all run C++ and they all do it in a stable, error-free manner. If the Java VM still leaks memory don't even begin to ask about Python/Ruby etc. There are plenty of languages than can develop good, clean code but their runtime performance for 24/7/365 is, in general, pretty atrocious. I guess it's fair to say that it isn't OK to have an AGI reboot itself at 5 before midnight like most modern web apps do. bias disclaimer: I'm a current C++ programmer, but I started off in Perl & C, then moved onto Java and then took it upon myself to learn the meister of all current languages: C++. I personally love Java (and am infatuated with Perl, especially Perl6/Parrot) and think some of the things it offers kick C++ in the arse (Ant, JUnit, RMI, Servlets) but I think the things C++ sucks least at are the things that matter most for apps of this kind of importance; blame Steve Yegge if you must :-) ----- This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?list_id=303