пятница, 19 апреля 2013 г.

Lisp Blog

Recently I have been programming quite a lot in Common Lisp. Full time for about 5 months on a professional code base, written by some cool guys who now work either at Lisp vendor companies or as successful independent consultants.

I have learned a number of lessons.


The Lisp community does exist :)  only it has to be viewed globally. There is merit in attempting to maintain local communities, of course, but one cannot hope to achieve as much of activity around Lisp as we have around Python, for example.

Therefore, I will not continue writing this blog in Russian. Need to reach out to a wider audience.

Using Lisp in startups

It might be hard to persuade your company to use Lisp, (no, quoting Paul Graham is not enough, though it helps). However, if you encounter a company, especially a startup, that does use Lisp, despite the obvious obstacles such as lack of good Lisp programmers, and a rather steep learning curve for existing programmers, that company deserves attention. Chances are something interesting is happening there.

Lisp Libraries and Technologies

I have learned and used GBBOpen, Screamer, have seen how Weblocks is being used as a RAD tool (and want to try it myself later). I am going to write about this later in this blog so stay tuned :)

2 комментария:

  1. Would you describe how you used GBBOpen? What did you find it good for, what did you like about it?

  2. GBBOpen was already used in the codebase which I inherited, and used mostly as an aid for CLOS. But I would say it is a huge aid. It gives you a huge boost in interactivity with OOP in Lisp.

    It is also very nice OO-ish approach to decouple functionality via the use of events. However the downside is that it is quite hard to understand a large system when you are not the person who wrote it. Because you just don't which objects change state and how, which events are triggered, and how they are being handled. But all that information is actually in the blackboard application, and can probably be extracted automatically and visualized.