From: Bob Hutchison
Subject: Re: Why do people like C? (Was: Comparison: Beta - Lisp)
Date: 
Message-ID: <37jq3a$ak4@relay.tor.hookup.net>
In <·················@atanasoff.rutgers.edu>, ···@cs.rutgers.edu (Lou Steinberg) writes:
>In article <·························@155.50.21.58> ········@keps.com (Geoffrey Clements) writes:
>
>   I guess in other cases people are just sheep and use what everyone else is
>   using even if it is a dumb choice.
>
>Be careful here - it may well be exactly the right strategy to choose
>a language because that is what everyone around you uses.  If you use
>the language that those around you use, you will have access to
>examples, tools, libraries, advice, ... that you often would not have
>if you were using what in your environment is an off-beat language.

This is a valid argument for using C.  You are describing a reason to use it.
Geoffrey was describing (I think) the all too common situation where it
is used without thought.

>
>For many, many tasks, even languages as different as C and Lisp are
>close enough to each other in inherent usability that considerations
>like what language people around you use or what language you are most
>familiar with really make much more difference than anything in the
>languages themselves.  (Of course there are tasks for which this is not
>true, as well.)

This is an interesting statement, mostly because it is true, but leads to
'local optima', so to speak :-)  I think that what may be more important to
do is to look at the more difficult tasks that have to be done and make a
decision about languages based on that.  If you don't do that you end up
with a large body of work done in some language because of convenience.
This large body of work then biases future decisions of implementation
language (towards the current language naturally enough).

I also think that part of the problem here is a perception of which
tasks are better done in which language.  A relatively recent 'discussion'
I have been a participant in concerned 'Application Frameworks'.  This
is a complicated little issue when you start looking at it.  Part of the
'discussion' surrounded the implementation of the organisational and
control layers (for lack of better words).  Should this be written in
C++ or something like smalltalk or scheme calling on C++ to perform
the core functionality?  Mix languages? or implement the part most
likely to require rapid modification in a language that supports that?
Most of the 'discussion' has been trying to get people to take languages
like smalltalk and scheme seriously, rather than the real issues.
This was not a good situation.

--
Bob Hutchison, ·····@RedRock.com
RedRock, 135 Evans Avenue, Toronto, Ontario, Canada M6S 3V9
(416) 760-0565