[Cython] OT: programming Lisp for a living
Martin C. Martin
martin at martincmartin.com
Sun Mar 9 03:25:31 CET 2008
Neal Becker wrote:
> Martin C. Martin wrote:
>
>> Ok, thanks a lot.
>>
>> My day job is programming Lisp, and since I started two years ago, I've
>> seen the light about a number of things, including macros. It would be
>> cool to have access to the Abstract Syntax Tree of a Cython
>> expression/statement/function/etc., and be able to manipulate it at
>> compile time. But it sounds like that's a whole other project. :)
>>
> Wow! Someone is paid to program lisp?
Yep, and coincidently I just found this blog tonight:
http://lispjobs.wordpress.com/
Before starting there, I'd only used Lisp for classes, and a tiny little
bit in grad school for simplifying some expressions. Things I've
learned about Lisp since programming in it:
1. Lisp is *not* a functional language, it's a multi-paradigm language.
That is, you can program in an imperative style if you want, you don't
need any weird monads or anything. Most of our code is imperative and
we don't use recursion much, only in places where it makes things clearer.
2. Lisp is the only dynamically typed language (that I know of) that
cares about efficiency. It has optional static typing for efficiency,
so you can say "this sub-expression will be of type X, so at runtime
don't even bother looking at its type, just call the right method based
the the type I'm telling you." It's about as fast as C/C++ if you avoid
a few poorly thought out parts of the language.
3. Macros, which are basically functions that run at compile time that
produce Lisp code, are really great. You can use them for efficiency,
to make little domain languages, and other sorts of abstractions that
are awkward/impossible in other languages.
<Plug>We're a very successful company that has a great culture; our
managers don't see their jobs as checking up on you, but as getting
problems out of your way so you can concentrate on your work; we worry
about programmer's motivations and try hard to match projects to their
interests, even letting them do their own projects if they're relevant
and well thought out; and everyone is very friendly and relaxed. Check
us out if you're interested, www.itasoftware.com , no Lisp knowledge
required. Tell them I sent you.</Plug>
[I've never plugged like that to a general mailing list before, but
since someone asked about getting paid to program Lisp... Sorry if it's
a breach of ediquite.]
Best,
Martin
More information about the Cython-dev
mailing list