Hacker News new | past | comments | ask | show | jobs | submit login

You may want to check out Clojure.



I was actually checking out Clozure. Not a big fan of anything Java or Java adjacent.


Clozure is a good choice of Lisp to get something done. It's got a really neat FFI (Foreign Function Interface), including an Objective-C bridge that lets you talk with Mac OS X, so you can interface with C libraries to handle all those wheels you really don't want to re-invent.

That said, try to get over your Java prejudice with Clojure. Java libraries are nice.


Java libraries are nice and all, but I could sure do without java.lang.StackOverflowError.

I recently started learning Clojure and was floored when I found out it lacked tail-call optimization. I thought that was pretty much a requirement for a functional language. I understand that it's a limitation of the JVM and that there are workarounds, but they all seem kinda hacky, so I don't really plan to use recursion a whole lot in Clojure. On the other hand, its libraries for building and processing collections are so good that I don't think I will really need to.

No car, cdr, or cons is just weird though, for a language that's considered a Lisp.



I already have an overly healthy dose of self-loathing since I'm mainly programming in PHP. I guess that's why I'm mostly staying away from Java ;-)

And thanks for the further insight on Clozure!


As I see it, OOP PHP 5 is Java without static types and without a proper standard library. I'd regard it as an upgrade coming from PHP. Check out the Play Framework.


And that's exactly why I'd like to try out something that is a lot more different, not just slightly different ;-)


Clojure is not Java. It runs on the JVM. It can use Java methods. But it is not Java.


That's my problem, too. There are a lot of cool languages for the JVM, but the target group are people who know Java, the JVM, and the whole Java ecosystem.


There's no reason to avoid the JVM ecosystem just because you don't like Java, especially if you've never done enough Java to develop a strong and well-founded hatred for its verbosity and excessive emphasis on mutability rather than for its unfamiliar object system and static typing, which tends to be what people starting with Java seem to dislike.

You can start to use Clojure effectively without ever importing a Java library. (Even without java.lang.*, although that gets implicitly imported anyhow). The rest, you can pick up as you go. It's not too bad.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

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

Search: