4 ms·
I generally agree, though I would highlight a remark you made in another comment that sometimes you just can't get buy-in. I'd go a little further: sometimes yo
by mikelevins 5y ago
I generally agree, though I would highlight a remark you made in another comment that sometimes you just can't get buy-in. I'd go a little further: sometimes you're working with a team whose leaders are dyed-in-the-wool anti-Lispers.
But if you really want to work in Lisp, then you can. This is my thirty-fourth year of work as a programmer and technical writer. Of those years, I've been paid to work in Lisp for about twenty of them, so it can certainly be done--though you have to be patient and work in something else sometimes. If you want to be a Lisp hacker, learn another language well for those times when you're waiting for the right opportunity. C is generally a good choice; among other things, it's a common compilation target or kernel-implementation language for Lisps.
I also agree that you can teach Lisp to capable programmers without much trouble, but with the caveat that they have to want to learn it. Not all of them do. If you get someone who really just doesn't want to learn it, then no amount of effort or inspiration will hurdle that obstacle.
- lovelyviking 5y ago> C is generally a good choice I would really appreaciate your opinion about Rust here. What do you think having your lisp background and knowledge?
- mikelevins 5y agoAs a Lisper, your primary consideration when choosing another language to learn well is that it should be a language that enables you to easily find work when Lisp jobs are scarce. Secondary considerations (that are nevertheless important) are whether it's pleasant to work with and whether it's likely to be useful in your Lisp work. Whether a language is pleasant to work with is a matter of personal taste. The other secondary consideration--whether it'll be useful in your Lisp work--is more objective. The language will be useful in your Lisp work if it's used in implementing Lisp, or if it's a common compilation target for Lisp, or if Lisp programs are commonly called upon to interoperate with it. C hits the first two criteria: there are several Lisp compilers that compile to C, and several Lisp implementations with kernels written in C. C, C++, Java, Python, and Javascript hit the second criterion: there are many applications of Lisp that need to interoperate with programs written in those languages. Rust doesn't fit any of these criteria particularly well at the moment. The number of open Rust jobs doesn't seem to be particularly greater than the number of open Lisp jobs, which makes it a poor candidate as a fallback language. There aren't yet a lot of applications of Lisp in which it's important to interoperate with Rust code, either. Rust is high on my list of languages to learn next, but because it's interesting in its own right, not because it's a particularly good fallback language for a Lisper.
- lovelyviking 5y agoThank you very much. >Rust is high on my list of languages to learn next, but because it's interesting in its own right Can you elaborate more about that too? Why you find it interesting as a Lisper?
- mikelevins 5y agoMy interest in Rust doesn't have anything particularly to do with Lisp. I'm interested in programming languages in general, for their own sake, and I consider Rust's experiments in type-supported safety and resource-management to be interesting. In some respects, it's sort of the opposite of what I like in a programming language, particularly in that it's a batch-compiled language with a reputation for long compile times. Still, I'm interested in its approach to safety and resource management.