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

Why => because JVM is poor no fit for CLI, and is a poor fit for games. Those two fields in which I see myself using common-lisp.

Unsure what's so wierd about it, everyone (most) knows about slow cold startup times, and inability to control memory layout in JVM. Also, horrible C bindings




I don't see how the JVM is a "poor fit for games" when it's entirely contextual towards the goals of the game itself. Garbage collection also does not automatically disqualify an environment from games development, and there are plenty of games made in garbage-collected languages out there by both hobbyists and professionals using frameworks like LibGDX and Monogame/FNA/XNA. Depending on the kind of game, sure, the JVM might not be the right choice (or a choice at all), but for most people they likely will be too busy trying to actually finish the game instead of tuning for performance.


For me it's microcontrollers, however I've heard in spite of the unmaintained status, clojure-scheme[1] is very usable. It uses gambit to produce C-code you can compile anywhere.

https://github.com/takeoutweight/clojure-scheme


you might be interested in embedded Schemes. I use s7, which shares a lot of features with both CL and Clojure (for a Scheme) and is very easy to embed in C or C++ apps. I use it for music coding, but others (e.g. Naughty Dog) have done it for games. It's a super fun way to develop. My high level code is mostly Scheme, interfacing with low level C.


I'm with you on stock JVM. The slow startup time is often a deal breaker for me. But there are projects that address this. Like https://github.com/babashka/babashka for Clojure. Or GraalVM for general JVM use.


How do you control memory layout in Common Lisp?




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: