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

Reply via email to