Monday, April 30, 2007

Lisp's major problem

So I've progressed quite a bit into my lisp book. And I'm impressed. There really is no limit to the level of abstraction that you can reach. But that's exactly the problem with lisp. Though programmers are generally quite intelligent, I'd say any individual is still pretty dumb anyhow. These days, it's hard to get anything done unless you're good at working in a team, and good at communicating ideas, abstractions, patterns, or whatever stuff there is that has a certain complexity to it. The major issue here is the speed with which one absorbs this kind of information.

And that's why languages like Java are popular and quite successful for large projects: They are limited/optimized to the kinds of abstractions that the majority of programmers out there can easily absorb and use productively. One lisp programmer may get more done than 5 Java programmers, but 25 Java programmers might get the better of 5 lisp programmers. And where Java programmers bumped into Java's abstraction limits (which you bump into pretty soon), they turn to well documented Design Patterns. And those patterns are, being well documented, easy to communicate.

I'll be honest and tell you that I don't know. I can't know because I haven't got enough lisp experience (obviously). It's just a hypothesis. I'll test it when I've achieved Lisp Guru Level ;)

No comments: