[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lisp considered too hard



In article <3r3995$1dn@Yost.com>, yost@Yost.com (Dave Yost) wrote:

> In article <3r289d$jup@ornews.intel.com>,
> Patrick Logan <pdlogan@ornews.intel.com> wrote:
> >Dave Yost (yost@Yost.com) wrote:
> >
> >: Lisp is considered too hard for most programmers,
> >
> >Guess what, from what I've seen during twelve years in the industry,
> >*programming* is too hard for most programmers.
> 
>   :-)  There is truth in what you say.
> 

I'd say.

I've programmed in a few different langauges and worked with a bunch of
different programmers. I find that too many of those programmers used the
"try stuff until it works" debugging method. They try something. OK that
doesn't work. They try something else. Ok that doesn't work. So they try
something else. That works. Bug fixed. This makes a huge mess of a piece
of software because it turns a relatively straight forward piece of code,
that may have not covered every contingency, into a patchwork of partial
fixes.

I absolutely hate coming onto a project and seeing code like this. In most
cases I end up rewritting huge protions of the code. I usually finish
before someone who is just fixing things because I turn the messy
patchwork into clean simple code and they just fight the patchwork.

> >I am not kidding. Any language. Most can't do it very well,
> >and I'm tired of dealing with those who can't.
> 

Me too.

> There is another side to this story, though.
> There are programmers that are so smart and so fast,
> that they have little regard for leaving something
> clean and readable behind for themselves or others
> to develop further.  Would you say that programming
> is too hard for such a person?
> 

The reason someone is fast is because they are smart. They think about why
a piece of code is not working and then fix it. This way they only have to
fix the problem once. This makes them fast. They don't use clever hacks
because they are too hard to understand in a glance. They don't use fancy
constructs because they are too hard to understand in a glance. They use
the simplest code that solves the problem.

I don't find programming in any one language harder than any other. I find
programming in a particular implementation harder than another. I also
find that some problems take longer to solve in one langauge than another.
I find having to deal with all of the details of memory management in C to
be a pain in the butt. Sometimes I feel like I'm writing the same code
over and over. On the other hand trying to poke around in the internals of
the OS from Lisp is a pain in the butt. (Some Lisps are better at this
than others but doing it in C is easier. At least I find it so.)

> Maybe we should shame all programmers into taking on lisp,
> as a test of mental strength, and if they can't hack it
> maybe they'll give up and try another line of work.
> Hey, maybe management!    ;-)
> 

Actually I found learning Lisp a lot easier than C++. Not because learning
the syntax of C++ is difficult but because it took me a while to really
get the mindset for working with objects. (Just compiling C code with your
C++ compiler doesn't count as programming in C++) Someone told me to go
program in Smalltalk for a while and objects will fall into place. I
didn't listen and so it I had to struggle longer than neccesary.

I've found Lisp one of the easier languages to work with. Some of the
reason is the excellent environment that comes with Macintosh Common Lisp
and some of it is because I don't find myself programming details as much
as much as I do in C.

> Dave

-- 
geoff                                           Geoffrey P. Clements
Senior Software Engineer                            Mac Software Guy
Kodak Electronic Printing Systems                         KEPS, Inc.
gclements@keps.com                             Voice: (508) 670-6812