C++, can we develop collaborative software tools?

Daz darrenp at bruce.cs.monash.edu.au
Tue Feb 1 20:20:52 EST 1994

Dave Love (d.love at dl.ac.uk) wrote:
: >>>>> "Daz" == Daz  <darrenp at bruce.cs.monash.edu.au> writes:

:  Daz> I think C++ is the best
:  Daz> general purpose programming language around. It's well supported,
:  Daz> a lot safer than C, more flexible, and allows a high level of 
:  Daz> abstraction, or low level interaction if needed.

: I wouldn't argue for a `best' language, but several things in this
: thread show up C++ in a bad light against, for instance, Lisp, which
: wins as above too: development time; tension between prototyping and
: performance; lack of built-in data types; compiler/linker problems;
: general clunkiness...

I'm not going to get into a language war here - too many of them going on
elsewhere anyway, and I won't defend C++ to death either - there are better
alternatives for some applications, and I personally find functional
programming languages suitable for some kinds of programming - and lisp isn't
my first choice in the functional department. 

Development time is a very hazy term - I can write things very quickly
and badly in any langauge - the large number of libraries designed for
C++/C makes it very easy to plug in predesigned components.

C++ has quite good encapsulation and hiding of implementational detail,
so you can go back and get performance later by improving the stuff
under the bonnet.

Built in types are a two edged sword - they enable slightly better compiler
checking and implementation, but are fundamentally inflexible. Anyone who
doesn't use the very large number of predefined C++ classes floating around
for arrays, strings, hash tables, linked lists etc is missing out on half the
things which make C++ nice to use. Does lisp have a built in B-Tree type ?
In C++, all I do is include the definitions and use one.

'Compiler/linker problems' is a bit vague. It has a compiler, and it has a
linker - and the linker only gives you problems when you have done something
naughty (ie it's typesafe which I understand is still not 100% true in lisp
programming). The compilers are a little lacking in maturity (in general -
borland is very good in this dept.), but the sheer volume of users will fix
that quite quickly.

C++ is still evolving very rapildy, which is a strong point in my opinion -
there haven't been many astounding advances in langauges since the algol
generation  of compilers, so it's about time people investigated the issues
of templated types, object oriented languages etc. C++, whilst not the purest
language, is certainly well and truly the fastest, being totally checked
at compile time (the latest ansi spec allows run time type checking mind

General clunkiness: ? details ?

Enough said, I shall shut up now.

More information about the Bio-soft mailing list