On Thursday 22 August 2002 08:54, you wrote:
> The lsnguage you mention most is C.  Why not learn advanced C?
>
> ...
>
> Gavin

Any language that includes C as a proper subset will have problems with 
garbage collection, will not be able to rely on the types of variables, will 
have to deal with casts, ...

When you accept C, you are accepting a huge amount of baggage.  It was 
necessary when C was being designed, and for some purposes still is.  But it 
makes safe programs, at the absolute best, very difficult.  (Mind you, Ruby's 
no star here either.  It frequently can only tell you "a parenthesis wasn't 
closed somewher in this file".  (Possibly that's a string error rather than a 
parenthesis error.)  And if you omit a closing end, the error messages are .. 
strange.  But variables know what kind of variable they are, and that pays 
for a lot.  So does automated garbage collection.  (When you interface it 
with C, watch out for this one, as it takes care.)

What I would like is a decent way to interface Ruby with, say, Ada (decent 
includes you don't need to step through C on the way between them).  Ada is
a pretty good language of the C kind (actually, it's closer to C++) which is 
hampered a lot by the lack of flexibility, and area where Ruby excells.  C is 
both efficient and flexible, but is nearly as dangerous as assembler 
(reasonable, there was a macro assembler created for the 6800 that included 
most of the features of C).