Re: Syllabus for Seed Developer Qualifications [WAS Re: Some considerations about AGI]

From: J. Andrew Rogers (andrew@ceruleansystems.com)
Date: Tue Jan 31 2006 - 16:53:48 MST


On Jan 31, 2006, at 2:47 PM, Charles D Hixson wrote:
> (...That leaves
> Python, Ruby, Smalltalk, Lisp, Scheme, ... Of the languages that
> I've
> examined, I prefer Ruby. Unfortunately, it's also the slowest at
> execution...so I keep bouncing around. A project would stabilize
> me, but I'm
> unwilling to devote myself to pointers [i.e. C, C++] to achieve
> that. And I
> fear Mono/C#. It's just too likely that MS has some hidden gotcha!
> that will
> surface just as it becomes important.)

There is no language that does not use vast numbers of pointers. The
only difference is in where the programmer is located that is
responsible for handling them correctly. Anyone with sufficient
experience and familiarity with the idioms and patterns of C
programming will have few, if any, problems with pointers. Not
having to deal with memory allocation and pointers directly buys
convenience and a reduction in lines of code at the expense of
performance.

The language you choose is largely immaterial as long as you know how
to use that language and it is comfortable for you. Design and
verification is not particularly constrained by runtime performance,
just developer/designer performance, and once you have completed this
step you can always convert the code into C. There is no evidence
that language selection matters for AGI beyond what makes the
programmer happy doing whatever it is they are trying to do.

(As an aside on C versus C++, C is only slightly less convenient but
has much more reliable compilers and libraries in my experience.
I've had broken C++ compilers introduce subtle and not-so-subtle run-
time bugs in code that was technically correct more than once. And
if you really care about performance, good C tends to be a bit faster
than good C++ anyway.)

J. Andrew Rogers



This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:55 MDT