Hacker News new | past | comments | ask | show | jobs | submit login
Lisp as an Alternative to Java [PDF] (flownet.com)
12 points by vlad on Sept 30, 2007 | hide | past | favorite | 9 comments



Lisp is a really powerful language. Unfortunately Lisp's main problem isn't technical.

Someone could prove me wrong but I think like Erlang, Lisp just doesn't have a vibrant, growing community - it's pretty stagnant

Maybe it's because there are some Lisp jerks that like it that way: http://groups.google.com/group/comp.lang.lisp/browse_frm/thr...

By comparison the other languages' jerks just talk smack about how the other languages suck compared to theirs (and typically they are more than willing to provide proper and respectful help to people trying to learn their language)


The dreaded smug lisp weenie.


I'd prefer a comparison of infrastructure (ie libraries). Nobody cares about the performance aspect anymore.


Why not use both, if necessary?

RE: Lisp <AND> Java

Check out JNIL and LINJ (Java to Lisp translator and vice versa): http://common-lisp.net/project/jnil/


Hm, interesting idea: lately I have been rather torn between Groovy on Grails and Ruby and Rails, and I worry that both won't suit me. I like the way Grails is done, I think something similar could be built on top of Hibernate and Spring quite fast. I was considering to try it with jRuby, but to use LISP didn't occur to me yet. Perhaps if those Java-LISPs play reasonably well with Spring and Hibernate, a modern web framework for LISP could be built?


"Perhaps if those Java-LISPs play reasonably well with Spring and Hibernate, a modern web framework for LISP could be built?"

There are several other options for combining a Lisp with Java (Armed Bear Lisp and SISC Scheme, for example. I know Kawa was already mentioned.) I'm not sure I would rely on ANY of these for something I was trying to build on any type of deadline. They might serve as inspiration, though. If you are looking to build something fast and just want to use the Java libs for productivity, I would personally choose Scala over Groovy or JRuby. I guess that is just a taste thing, in part. The Lift framework is pretty cool. You should definitely check Scala out if you haven't already.

I think that the Lisp and Java/Spring/Hibernate route is a dead-end. Or at the very least it would be a waste of time. It could be done, but why just build another ADEQUATE web framework? If you are going to design a new web framework, I think you should be doing it:

1. to gain an actual strategic advantage for app(s) that you are working on. A massive increase in productivity is a really compelling argument for a new framework. (Unfortunately, the envisioned productivity increases sometimes never materialize...but that's another story.)

And/Or

2. as a learning opportunity and a chance to contribute something really compelling back to the programming community.

IMHO, if you're not going to really advance the game in one of these two ways, you might as well just use something that already has some momentum and that other coders are actively working to improve. Just throw your weight behind one and go. In regards to reason one, I think you're unlikely to be able to 'outbuild' your competitors if you're using the same, cookie-cutter tools that they are. What strategic advantage does Hibernate and Spring give you if that is what many of your competitors are using? And are you SURE that building a proprietary framework on top of them is going to give you enough of a strategic boost to outweigh the time spent building and aupporting that proprietary framework?

If you're actually just wanting to work on a framework for its own sake (Sicko!), I think you would be better served by getting FAR AWAY from the standard Java libraries. You're more likely to build something really interesting when you get away from what everyone else is doing a bit. Seaside is a good example of doing that. I actually like programming in Lisp in part because it saves me from dealing with Hibernate/Spring, etc. and it helps me to think out of the box a little. A Lisp/Spring/Hibernate web framework would just make my head hurt.


I think with Groovy you never have to deal with Hibernate or Spring directly. You still need a Java setup, though. It's just that with Hibernate and Spring it could be easy to create a web framework. I don't consider writing my own OR-mapper in LISP... Anyway, it was just an idea. Will have a look at Scala and Lift.


There's also kawa: www.gnu.org/software/kawa/

It's scheme implemented in java, so you can still call all the java libraries.

It may also be possible to recover the java code from the class files kawa creates using jad, but I haven't tested this yet.

Jad: www.kpdus.com/jad.html


the runtime performance of the Lisp programs in the aggregate was substantially better than C and C++

Well, my bullshit monitor just went off. You can pretend you are comparing languages, but the real difference is almost certainly algorithmic. Do Lisp advocates really need to depend upon flawed methodologies to make their arguments?

Here's an idea, if you want to prove the superiority of Lisp: Write more software in it. Not crappy little websites. Real software.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: