Tom,
Tom Leylan said:
If there is a difference to be noted and again it is sure to be
controversial, it would tend to be due to the type of people who have
traditionally been drawn to the various languages. Lots of kids pick up
on
BASIC because it was a) free, b) an interpreter. Very few just decided to
try C (they would have to get a compiler first) or assembly language as
getting anything more than your name to print was an effort. Of those
that
did try C many routinely brought the computer to a halt by forgetting to
initialize a pointer and they learned very fast where the important parts
of
the O/S are stored. If they weren't turned off by all the hassle they got
better and wrote safer code. That wasn't traditionally the path of the
BASIC developer because the language was very forgiving.
I have seen tons of crappy code written in BASIC, C, VB, C++. Often I am
frightened by C/C++ code which makes it obvious that the developer who wrote
it didn't understand the concept of pointers. Well, this doesn't mean that
the application never works, but it has serious security holes and/or works
"most of the time".
That may no longer be the case but I will guess that you will not find too
many C/C++ developers turning to BASIC while you will find some BASIC
developers turning to C/C++ and C#.
I remember reading comments from former C/C++ developers who switched to C#
praising features of C# which BASIC/VB already had for years (safe
references instead of unsafe pointers, no outdated "include" model, events,
properties, many IDE features only possible because of the style of the
programming language (IntelliSense support, for example), ...). To me it
seems that C# has more similarities with VB6 than with C++, except the exact
keywords.