[thelist] CF: TypeOf() ?

Simon Willison cs1spw at bath.ac.uk
Thu Jul 31 06:43:22 CDT 2003


Hi Frank,

Wednesday, July 30, 2003, 10:02:51 PM, you wrote:
> Thanks. I'm at an interesting place as a programmer. At first, I thought CF
> <insert any language/tool> could do anything. Then I started bumping into 
> all kinds of limits. Now, I know what a lot of the limits are, and how to 
> work around them. I wonder what the next phase looks like.

Learn another language. In fact, learn more than once. I recently
finished reading a book called "The Pragmatic Programmer" (which I can
thoroughly recommend) which advocated learning at least one new
language a year for your entire professional life. This is very good
advice. Even if you never use a language, the techniques and ideas you
pick up in one language give you a valuable persppective on a whole
range of problems and really help you to think around the limitations
of whatever language or tool you are currently using (to use a cliche,
"thinking outside the box").

I've noticed a tendency among many programmers these days to pick a
single tool (usually something object oriented with a lot of marketing
behind it like Java) and stick with it, ignoring everything else. This
approach may earn money in the short term, but it doesn't do much for
you 5-10 years down the line. The more languages and programming styles
you have experienced, the faster you will be able to become proficient
with new languages.

I'm half way through a computer science degree course at a well
respected UK university at the moment, and one of the key things the
course has been doing is exposing us to a wide range of languages and
computing ideas. The main language taught is Java, but we've also been
exposed to C, Lisp, Prolog, C++, Maple, PHP and a more. Each of these
languages has their strengths, and all are relevant to the modern
world (Lisp and Prolog were particularly enlightening). Although I'm
unlikely to use most of them commercially, my programming in other
languages has improved as a direct result of studying them.

Incidentally (I always end up plugging this), Python is an excellent
general purpose programming language with a shallow learning curve that
pays off very quickly in terms of being able to do useful things with
the language. Plug over.

Sorry for rambling; what I'm trying to say is that it's easy to
underestimate the value of learning a number of different languages.
You can never know too much.

Cheers,

Simon Willison
-- 
http://simon.incutio.com/



More information about the thelist mailing list