UT Lisp Users Group?

Levi Pearson levi at cold.org
Wed Jul 13 22:06:31 MDT 2005

On Jul 13, 2005, at 7:16 PM, Michael Halcrow wrote:

> On Wed, Jul 13, 2005 at 03:26:29PM -0600, Gabriel Gunderson wrote:
>> Give me what works and what works well; I'll use it.  I'll look at
>> the other languages for fun but go back to what I know to make
>> things work.
> I have implemented applications in Objective Caml, Ruby, Perl, C++,
> Java, and C. I have a working knowledge Lisp and Python. I love coding
> in Objective Caml, Lisp, and Ruby, but if, in a real world
> mission-critical situation, a client were to come to me and ask me to
> implement an application for him, I would likely choose C, because of
> my experience and level of confidence with the language. That alone, I
> would argue, makes C the best language for the job, if I am on it. I
> know 99.9% of the language's primitives (at least for the Gnu C
> compiler), I know all the common libraries, I have learned to
> discipline myself to use the language right (grammatical correctness,
> data structure arrangement, code organization, etc.), I know all of
> the standard library routines, I know the common build environments, I
> know exactly how the libraries/object files are compiled and linked, I
> know where to store the libraries and how to name them, I know how to
> debug it at any level necessary, I know how to write cross-platform
> code, I know how to manage my memory right (it's like second nature at
> this point), and (of course) I know all of the security caveats with
> the language. There are more C compilers out there than for any other
> language, and they are very mature and stable.

It's wonderful that you're a skilled C programmer, as C is a very  
dangerous language in the hands of a non-expert.  I would bet that  
far more people claim to be experts than really do possess that level  
of skill, since we have almost daily reports of security  
vulnerabilities in C programs due to buffer overflows and such  
things.  Alas, we must also work with those who don't even claim to  
be experts, and sometimes it's not possible to keep on top of all the  
subtle errors they introduce.

> Of course, I am a software engineer, not a C engineer, and so I am
> expected to be able to adapt to any language to get the job done. If I
> had to do something in Java or Perl, I would buckle down and do it,
> and I would do a decent job of it. But I would prefer mission-critical
> jobs that involved C; it's simply a comfort/confidence thing. A big
> part of my job, after all, is to jump into the middle of a block of
> someone else's C code and to start fixing things up or extending
> functionality.

I'm sure this confidence comes from experience; probably both on the  
job and on your own time working on hobby projects.  It's not out of  
the question that you could reach that same level of comfort and  
confidence with another language, but you'd have to spend time with  
it.  That's part of why we've got user groups, so we can get together  
and talk about our hobby projects and keep the interest level up in  
ourselves and others in skills we're gaining.

> Now if I were working on a brand new project, if the customer
> requirements were a little more liberal, if the language made sense
> for the project at hand, and if I worked with a group of really open
> and flexible engineers on the project, *with at least one Lisp expert
> on the team* (very important detail), I might suggest that we give
> Lisp a try for the project. There are definitely concerns along the
> lines of code maintenance when you go that route though... the long
> and short of it is, I think that Lisp is an ideal language, if it
> weren't for reality. :-/ To quote Eric Raymond, ``Free markets select
> for winning solutions.''

Substitute just about any other language for Lisp there, and most of  
it still holds.   I won't even claim that Lisp is ideal; just that  
it's a good fit for a lot of interesting problems.  And that ESR  
quote is essentially a tautology, so I'm not sure what you're  
suggesting by it.   Lisp has been a part of free-market winning  
solutions, after all, as has Visual Basic.


More information about the PLUG mailing list