From: Karl M. Hegbloom
Subject: Are there Lisp programming jobs?  What are they like?
Date: 
Message-ID: <8790a6saom.fsf@odin.cc.pdx.edu>
I've begun to learn Scheme and Lisp, and am curious about whether
there are jobs out there for Lisp programmers, and what those jobs are
like?  What kind of software would I be writing or helping maintain if
I got a hypothetical job as a Lisp coder?

TIA

From: thi
Subject: Re: Are there Lisp programming jobs?  What are they like?
Date: 
Message-ID: <m2rg14ejor0.fsf@netcom9.netcom.com>
········@odin.cc.pdx.edu (Karl M. Hegbloom) writes:

> I've begun to learn Scheme and Lisp, and am curious about whether
> there are jobs out there for Lisp programmers, and what those jobs are
> like?  What kind of software would I be writing or helping maintain if
> I got a hypothetical job as a Lisp coder?

just a simple data point: i'm currently doing a SQA gig where elisp is
used for administrative stuff (product is java + backend database), w/
the goal being, at some point, to use elisp (and maybe guile scheme) for
the automated test harness as well.

another data point: at a previous gig, i designed and implemented the
core of a network router stimulus environment (hardware verification)
using guile scheme.

the latter was specified by my enlightened manager, the former i'm doing
w/o much direction (or even understanding!) from management.  so i guess
it all really depends on many factors blah blah blah.  IMHO, it's more
useful to characterize jobs by area of development than implementation
language.  most important, determine management's overall cluefulness
and slack, wrt your Lisp skills.

lastly, i would think that there are not a lot of "Lisp coder" gigs,
since as far as particular wrinklings in the cerebellum go, Lisp makes
you more suitable for design-level opportunities (implementation is M-x
assumed).

i look forward to reading about other experiences and insights.

thi
From: Martin Cracauer
Subject: Re: Are there Lisp programming jobs? What are they like?
Date: 
Message-ID: <7itscd$4bv$1@counter.bik-gmbh.de>
········@odin.cc.pdx.edu (Karl M. Hegbloom) writes:

>I've begun to learn Scheme and Lisp, and am curious about whether
>there are jobs out there for Lisp programmers, and what those jobs are
>like?  What kind of software would I be writing or helping maintain if
>I got a hypothetical job as a Lisp coder?

The whole WWW business opens a lot of opportunities where you are free
to choose the language. 

There is a large class of either serving WWW resources or
automatically searching/walking them where the goal is "Do it whatever
you like, but just do it". Many of these projects are isolated enough
that the old maintainance issues that went in the way of noncommon
languages in the past are less of a problem. The current shortage of
IT specialists also makes it easier to demand specific languages.

So, in a word I'd say, if you want to program in Lisp, you typically
have to tangle with applications that aren't really integrated into
the companie's operations. (Inter-)Networking, data and events
analysis/classification, robots of all kind.

Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <········@bik-gmbh.de> http://www.bik-gmbh.de/~cracauer/
"Where do you want to do today?" Hard to tell running your calendar 
 program on a junk operating system, eh?
From: Kent M Pitman
Subject: Re: Are there Lisp programming jobs? What are they like?
Date: 
Message-ID: <sfw3e0dmdff.fsf@world.std.com>
········@bik-gmbh.de (Martin Cracauer) writes:

> The whole WWW business opens a lot of opportunities where you are free
> to choose the language. 

To this I would add, for the sake of the original questioner, that you
do better by making sure you are able to choose a language: Learn, and
learn well, as many languages as you can with as broad a scope as you
can so you know your options.  While you are free to choose the
language, you should use a knowledge of the strengths of the options
to pick well.

Also, of course, modern environments are heterogeneous, and a
knowledge of multiple languages gives people, as well as their
programs, more retargetability and inoperability.

I'm not sure thinking of oneself as a "Lisp programmer" or "not a
Lisp programmer" is productive, at least as a way of describing
one's fundamental nature.  Think of yourself as a programmer first,
and think of your set of languages as a secondary characteristic.
Anyone who tells you that you need only one kind of language is
to be doubted in the same way as someone who tells you there only
needs to be one political party.  It's sort of trivially true if
the one political party you are in happens to really and truly do
what you need, but the world is still a more pleasant place if you
have options when you find what you're using doesn't offer you all
that you need...

I'm a native speaker of English but I don't think of that as a way of
describing my fundamental being except as a way of describing some
limitations I wish I could grow out of.  I speak some Spanish and some
Portuguese, and those increase my expressional choices in some
contexts.  My "goal" (if you can call it that) is not to be a Spanish
speaker, which would be as limiting as being an English speaker.  The
goal is to be someone who simply communicates well.  The things I have
to say are not "English things" nor "Spanish things" nor "Portuguese
things".  Languages are just expressional devices.  The things  I have
to say are "things in my brain" and I say them as best I can to
whomever I'm speaking to in whatever language is most appropriate
to efficiently communicate them.  So it is, too, with programming
languages.  Choices.  It's all about choices.

Learn Lisp even if you won't necessarily use it.  They say a mind
stretched by a new idea or new way of thinking never regains its
original shape...
From: Aaron Gross
Subject: Re: Are there Lisp programming jobs? What are they like?
Date: 
Message-ID: <lyn1ykfpfy.fsf@cruella.bfr.co.il>
Kent M Pitman <······@world.std.com> writes:

> Learn Lisp even if you won't necessarily use it. They say a mind
> stretched by a new idea or new way of thinking never regains its
> original shape...

...so whatever you do, don't *ever* learn C++!
From: Blackboard Technology Group
Subject: Re: Are there Lisp programming jobs? What are they like?
Date: 
Message-ID: <7j0rug$73k$1@rmc1.crocker.com>
Kent's advice is excellent...

>To this I would add, for the sake of the original questioner, that you
>do better by making sure you are able to choose a language: Learn, and
>learn well, as many languages as you can with as broad a scope as you
>can so you know your options.  While you are free to choose the
>language, you should use a knowledge of the strengths of the options
>to pick well.

....

>I'm not sure thinking of oneself as a "Lisp programmer" or "not a
>Lisp programmer" is productive, at least as a way of describing
>one's fundamental nature.  Think of yourself as a programmer first,
>and think of your set of languages as a secondary characteristic.

Along these lines, we are always interested in high-quality programmers
who happen to know Common Lisp.  We've also hired competent programmers
who did not know Lisp and they soon became competent CL programmers.
(Careful though, it's hard to go back to curley braces -:)

If you are a good programmer, you can soon become one in any language...

-- Dan Corkill
   Knowledge Technologies International
   ····@ktiworld.com
From: Patrick Crosby
Subject: Re: Are there Lisp programming jobs? What are they like?
Date: 
Message-ID: <37552742.1379EE0F@netscape.net>
Hi Dan,
Is your organization, perchance, in Southern California? If so, I'd like to
send you a resume. By the way, I must respectfully disagree with your
expressed common wisdom about knowing one language necessarily making it
easier to learn another. In fact, I rather suspect knowing a procedural
language such as C, Fortran, etc. to start may make is more difficult to
learn an OO Language. Perhaps because you know the cpu itself is still a
"procedural" machine and you just go nuts wondering what sort of weird
things the compiler is doing when it creates various OO constructs. None of
the books that teach you Java or C++, of course, tell you. Another case in
point from  decades ago: learning Univac 1108 Assembler (which had 36 bit
words). I took the class knowing virtually nothing about 32 bit "byte
architectures" and did a lot better than people who knew IBM 370 Assembler.
Those poor guys just went nuts when faced with the reality that there was
simply no such thing as a "byte" in that machine.

     As far as Lisp is concerned, I also think it's a world in itself. And
as far as job prospects for doing the kind of cool stuff you see in Lisp
textbooks, they're pretty minimal. USC-ISI in Marina Del Ray (part of  LA)
and Rand Corporation a few miles to the North in Santa Monica used to hire
Lisp programmers some years ago, but I'm not sure if they still do. Perhaps
the thing for the person who originally posed the question to do is focus on
an application, such a symbolic manipulation or theorem proving (which would
lead him to another language called ML), Petri Nets, or perhaps even AI. But
be forewarned: even in AI, the traditional stronghold of Lisp,  C++ has
taken over (I have this on authority of UCI professor who is well
established in the AI community).

Patrick Crosby
HSD Associates
·······@ieee.org


Blackboard Technology Group wrote:

> Kent's advice is excellent...
>
> >To this I would add, for the sake of the original questioner, that you
> >do better by making sure you are able to choose a language: Learn, and
> >learn well, as many languages as you can with as broad a scope as you
> >can so you know your options.  While you are free to choose the
> >language, you should use a knowledge of the strengths of the options
> >to pick well.
>
> ....
>
> >I'm not sure thinking of oneself as a "Lisp programmer" or "not a
> >Lisp programmer" is productive, at least as a way of describing
> >one's fundamental nature.  Think of yourself as a programmer first,
> >and think of your set of languages as a secondary characteristic.
>
> Along these lines, we are always interested in high-quality programmers
> who happen to know Common Lisp.  We've also hired competent programmers
> who did not know Lisp and they soon became competent CL programmers.
> (Careful though, it's hard to go back to curley braces -:)
>
> If you are a good programmer, you can soon become one in any language...
>
> -- Dan Corkill
>    Knowledge Technologies International
>    ····@ktiworld.com
From: Jonathan
Subject: Re: Are there Lisp programming jobs? What are they like?
Date: 
Message-ID: <7j4cfu$38e$1@news6.svr.pol.co.uk>
> I rather suspect knowing a procedural
>language such as C, Fortran, etc. to start may make is more difficult to
>learn an OO Language. Perhaps because you know the cpu itself is still a
>"procedural" machine and you just go nuts wondering what sort of weird
>things the compiler is doing when it creates various OO constructs. None of
>the books that teach you Java or C++, of course, tell you.

Stan Lippman wrote an interesting book on C++ internals called something
like "Inside The C++ Object Model." Hope this is useful to you if you still
want to satisfy your curiousity. I'm quite curious about the internals of
Lisp- a new langugae for me - now you've raised the point.

Jonathan Coupe
From: Vassili Bykov
Subject: Re: Are there Lisp programming jobs? What are they like?
Date: 
Message-ID: <Gpv53.11273$MR1.42128567@news.magma.ca>
Jonathan wrote in message <············@news6.svr.pol.co.uk>...
>
>> I rather suspect knowing a procedural
>>language such as C, Fortran, etc. to start may make is more difficult to
>>learn an OO Language. Perhaps because you know the cpu itself is still a
>>"procedural" machine and you just go nuts wondering what sort of weird
>>things the compiler is doing when it creates various OO constructs. None of
>>the books that teach you Java or C++, of course, tell you.
>
>Stan Lippman wrote an interesting book on C++ internals called something
>like "Inside The C++ Object Model." Hope this is useful to you if you still
>want to satisfy your curiousity. I'm quite curious about the internals of
>Lisp- a new langugae for me - now you've raised the point.


Then a similar book explaining Lisp internals would probably be "Lisp In Small
Pieces" by Christian Queinnec.  More info at

  http://pauillac.inria.fr/~queinnec/WWW/LiSP.html

--Vassili
From: Jong-won Choi
Subject: Re: Are there Lisp programming jobs? What are they like?
Date: 
Message-ID: <3756095F.429F9BF@hanmail.net>
Patrick Crosby wrote:
> ...
> By the way, I must respectfully disagree with your
> expressed common wisdom about knowing one language necessarily making it
> easier to learn another. In fact, I rather suspect knowing a procedural
> language such as C, Fortran, etc. to start may make is more difficult to
> learn an OO Language.
> ...

Partly agreed. Incidentally, I just started other programming lanugages
-
Smalltalk and Dylan - just for fun. I found they have similar
environment
and concepts with I love to program in - Common Lisp. In real world, I
wrote programs in C, C++, and Lisp(Scheme, Common Lisp). Although the
Lisp
parts were not for the final delivery codes, they did good role in the
whole
software engineering process(I believe).
I'm writing Java (servlet) code at work currently. Shamefully, this is
my
first touch of Java. With my former knowledge of CORBA and Lisp, I know
what
I want to do, the only problem is how to find mapping between the
concepts
I know and what they provide. So, I think knowing many programming
languages
and related systems are good for any programmer. I recently suggested to
one of my colleague learning powerful high level language like Lisp,
Smalltalk,
Dylan, ... I believe knowing powerful programming languages helps
learning
new programming languages(not always true with low level programming
languages,
IMPO).

> ...
>      As far as Lisp is concerned, I also think it's a world in itself. And
> as far as job prospects for doing the kind of cool stuff you see in Lisp
> textbooks, they're pretty minimal.
> ...

Sure. I search Lisp job every morning. There are new jobs (almost) every
day
even though just handfull. Few weeks ago I had started Smalltalk I
searched
owith "Smalltalk" - Huh! there were a lot like C jobs!
Anyway, there are new Lisp jobs (almost) every day. Today, I found 2 new
Lisp
jobs(I think they are *real* Lisp jobs) on Franz's Website. Check them
out.

> USC-ISI in Marina Del Ray (part of  LA)
> and Rand Corporation a few miles to the North in Santa Monica used to hire
> Lisp programmers some years ago, but I'm not sure if they still do. Perhaps
> the thing for the person who originally posed the question to do is focus on
> an application, such a symbolic manipulation or theorem proving (which would
> lead him to another language called ML), Petri Nets, or perhaps even AI. But
> be forewarned: even in AI, the traditional stronghold of Lisp,  C++ has
> taken over (I have this on authority of UCI professor who is well
> established in the AI community).

Many AI companies still want Lisp experience(with other experiences).
Few days
ago, Brightware wanted such guys. I beleive to sell any real AI
products,
one should implement whole Lisp like system, or just use Lisp to make
itself
flexible, dynamic, and powerful. Without Lisp, I'll choose
Smalltalk(Dylan is
also good, but the commercial Dylan only supports Windows!)

- Jong-won Choi
From: Jonathan
Subject: Re: Are there Lisp programming jobs? What are they like?
Date: 
Message-ID: <7j7182$t2f$1@news6.svr.pol.co.uk>
Back at the head of this emerging sub-thread Patrick wrote:

>> ...
>> By the way, I must respectfully disagree with your
>> expressed common wisdom about knowing one language necessarily making it
>> easier to learn another. In fact, I rather suspect knowing a procedural
>> language such as C, Fortran, etc. to start may make is more difficult to
>> learn an OO Language.
>> ...

On the bright side, the real baggage we can usefully take from one language
to another is the most important: our knowledge of the algorithms and  data
structures that are the real fundamentals of programming (a binary tree or a
quicksort is a wonderful thing in any language), and the professional
discipline that makes us programmers.

Jonathan Coupe, XWare
From: Bill Newman
Subject: Re: Are there Lisp programming jobs? What are they like?
Date: 
Message-ID: <wnewmanFCt40w.9KA@netcom.com>
Jonathan (········@meanwhile.freeserve.co.uk) wrote:
: Back at the head of this emerging sub-thread Patrick wrote:

: >> ...
: >> By the way, I must respectfully disagree with your
: >> expressed common wisdom about knowing one language necessarily making it
: >> easier to learn another. In fact, I rather suspect knowing a procedural
: >> language such as C, Fortran, etc. to start may make is more difficult to
: >> learn an OO Language.
: >> ...

: On the bright side, the real baggage we can usefully take from one language
: to another is the most important: our knowledge of the algorithms and  data
: structures that are the real fundamentals of programming (a binary tree or a
: quicksort is a wonderful thing in any language), and the professional
: discipline that makes us programmers.

: Jonathan Coupe, XWare

I agree that algorithms and data structures are fundamental to
programming, but you write as they are *the* fundamentals, and I'd
disagree with that. I believe that style (e.g. simplicity, generality,
and modularity) and abstractions (e.g. subroutines, types, nesting,
inheritance, closures..) are comparably fundamental. There are
probably other things which are fundamental, too, but I'm just going
to harp on abstractions (also known as notation).

It is true in some fields (e.g. simulation of quantum mechanics using
Monte Carlo methods, which I worked in for several years) that
algorithms are almost all that matters, and you can express them in
any language. But there are other fields where the algorithms used in
your software tend not to be hard, and the difficulty is just how to
represent what your software does.  Programming a word processor or a
bank transaction system, for instance. Many people in those fields
spend more time thinking about abstractions than algorithms,
appropriately IMHO.

Concepts like inheritance and closures and
invariants/preconditions/postconditions aren't algorithms, they're
"just" abstractions and/or notation, but they're important nonetheless.
They can help you think about and communicate things which would be
painfully tedious or inflexible otherwise.  Returning to the example
of physics, there are some things which you need specialized theorems
to understand (e.g. theorems about differentiation, like the chain
rule), which are IMHO analogous to software problems which need
specialized algorithms.  There are other things which don't need new
theorems and which don't strictly *need* new notation, but which are
very painful without new notation, and these are IMHO analogous to
software problems where abstractions are more important than
algorithms.  As examples of the second kind of problem, I know from
personal experience that problems with spherical symmetry tend to be
painful in Cartesian coordinates, and problems in continuous fields
tends to be painful without vector notation, and I'm told that general
relativity and continuum mechanics are impossibly painful without
tensor notation.

Someone famous (Whitehead?) said something serious-sounding about
this, which has since been paraphrased by flippant moderns as
"Good notation eliminates thought." Taking some modern physics helps
you appreciate this a lot. Learning abstract languages and 
using them in appropriate problem domains helps too.

  Bill Newman
  ·······@netcom.com
From: ············@mediaone.net
Subject: Re: Are there Lisp programming jobs? What are they like?
Date: 
Message-ID: <37608b12.7013024@news.ne.mediaone.net>
Some of them are like mine,
where we use lisp and other languages as appropriate to deliver a _solution_.

I'd never hire a "one hit wonder", i.e. a person who knows only one language.
We need to blend lisp, java, perl, c, and whatever works to deliver our
solutions across heterogeneous platforms.  It involves databases, sockets, web
servers and clients, and numerous OS specific types of work.

What I look for are people who are extremely competent, and have broad exposure
to modern computing platforms and computing paradigms (NT, Unix, OO, 3-Tier,
COM, CORBA, RDB, OODB, etc.)

Note that "modern" isn't necessarily equivalent to aesthetically desireable.  I
loath COM and the Windows delivery environments, but I have to live with them
and sell to them, so we have to do our best with the technologies at hand. 

I have a couple of job openings for my project, a webcentric CM tool targeting
distributed development and deployment of web content.  It's a lisp server and
thin client model, where clients are currently browsers, java
applets/applications, Per command line interfaces, and eventually some other
things.

If you have experience and interest in webcentric CM, send me a resume at 

(concatenate 'string "dtenny"
                       ·@" "truesoft" ".com") ; anti-spam device...

I'm looking primarily for senior engineers, but might be able to take some
inspired junior candidates, and I'd also like to start getting some system-level
test harness types in house. (For instance, writing a user-agent based test
system for my browser interfaces)

Whoever applies, we like people willing to do whatever it takes to ship product.
"Not my department" is not an attitude we encourage.
D. Tenny
············@mediaone.net - no spam please
From: Paolo Amoroso
Subject: Re: Are there Lisp programming jobs?  What are they like?
Date: 
Message-ID: <37537e2a.2137653@news.mclink.it>
On 30 May 1999 10:56:57 -0700, ········@odin.cc.pdx.edu (Karl M. Hegbloom)
wrote:

> I've begun to learn Scheme and Lisp, and am curious about whether
> there are jobs out there for Lisp programmers, and what those jobs are
> like?  What kind of software would I be writing or helping maintain if
> I got a hypothetical job as a Lisp coder?

You may subscribe to the LISP-JOBS mailing list. For more info check the
comp.lang.lisp FAQ (part 1).


Paolo
-- 
Paolo Amoroso <·······@mclink.it>