Subject: Re: Some more misc. Lisp queries
From: Erik Naggum <erik@naggum.net>
Date: Wed, 22 Aug 2001 20:38:42 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3207501518857559@naggum.net>

* Martin Thornquist <martint+news@ifi.uio.no>
> With all the usual disclaimers of how this is subject to all kinds of
> things, a number I've sometimes seen quoted is six months.

  Are you sure that was for Common Lisp?  I have heard 6 months for C++.

  Whether you can start do something useful depends on what you want to do.
  Some people want to write "applications" first thing, but they also think
  that "hello world" programs are "applications".  In Common Lisp, you can
  start doing useful stuff essentially right away.  It is even better than
  Perl in this regard, which has been optimized for immediate gratification.
  Nothing really beats a good interactive programming environment.

  C++ gave me the incredibly painful fear that if I did not know exactly
  what I was doing and all its ramifications, I would do something harmful.
  I have never had that feeling in my entire life prior to working with
  that abomination of a programming language back in 1993/94.  It took me
  six months to get a grip on that language at all, but I still fear its
  complexity in that I never seem to manage to wrap my head around the
  arbitrary insanity that results from wielding the blunt tool of syntax
  where the fine instrument of semantics should have helped communicate
  trust between programmer and system, which is probably why I cannot work
  with Perl, either.  C++ had me drown in an overpowering desire to fix the
  clearly misdesigned and badly broken language before I could proceed.  It
  was only after tried to use it for real that I discovered that life is
  too long to become good at C++: Imagine what I would have to do if I did.

  Now, this was the time that I rediscovered Common Lisp for the umpteenth
  time.  Lisp has this "I have always loved her" appeal to me.  Even before
  I knew Lisp at all, I have thought in ways that are compatible with
  Lisp's and I have found that Common Lisp is the language I wanted to use
  to program.  This has also been possible and realized.  I believe it took
  me about two years before I could confidently ask a client to use and
  purchase a commercial Common Lisp system, but by then I was as fluent in
  that system as I were with Unix after about five years.  (I have been
  using Unix systems since 1980.)  However, I had been programming little
  things for quite productive purposes on my own practically since the day
  I made a decision to investigate it.

  Now, it could well be that different languages are for different people.
  Lots of other things are that way, so it would not really surprise me.  I
  think the key is to figure out if you _like_ the language the first few
  months of using it.  If you feel like redesigning it (which some people
  in the Common Lisp community still do), maybe it is not for you.  If you
  feel like it takes _more_ than half a year for you to become proficient
  in a language, maybe it is you, maybe it is the language, maybe it is
  both, but I would argue that if you fail to get the hang of a language in
  the _first_ month of using it and reading up on it and trying to use it,
  break off and do something else.  Even in your spare time and just for
  fun, a month should be enough to cover at least 2000 pages of good books
  and lots of material on the Internet.  (Unfortunately, I have not been in
  need of such things for the longest time, so I am unable to give valuable
  pointers to beginners' material.)

  In conclusion, I think the key is to figure out whether you are able to
  _think_ in the language you are learning.  This should not take too long.

///