> I get DMs, emails, etc regularly with people asking if jank is ready for them to use. I've spoken with founders and tech leads of dozens of companies, at various Clojure conferences and meet ups, who are interested in using jank to solve performance, efficiency, usability, or interop problems with Clojure.
I’d be very curious how much interest is people looking to move to a Clojure from non Clojure code, and in those cases what domain they are working in (games?). And also how much is people in jvm Clojure looking / hoping for better performance from a c++ Clojure and in that case also curious what domains they are in (I’d naively expect jvm is better for Clojure webdev performance given jvm is historically optimized for webdev).
So far, almost all interest comes from within the Clojure community. Getting people from outside of Clojure requires a lot of education around Lisps, FP, data-oriented programming, interactive programming, etc. It's a whole paradigm shift. I will tackle that, but I'm starting within the Clojure community first.
Mainly, the people interested in jank are the same folks interested in making Graal native images from their uberjars, combined with the folks interested in using some native lib from their Clojure code, combined with people who use Clojure reluctantly because they don't like the JVM. jank is significantly lighter, faster to start up, and has competitive runtime performance compared to the JVM.
Clojure is fast because of the JVM, not because it's a great compiler/runtime. jank is fast because of LLVM, yes, but also because a lot of work is going into the compiler/runtime to make it fast.
Thanks for the comprehensive answer, that’s super interesting. Presumably these folks don’t need Java libraries (which for my own use cases I needed pretty much from the jump) and are doing either vanilla Clojure stuff or things that they know have c++ libraries. And if they care about startup it’s not the common “long running web server process” scenario (maybe lambda, native app, things along those lines). Anyway I asked mainly because it’s always cool to hear about parts of computing and Clojure ecosystem I am not familiar with, thanks for answering.
In some ways, it allows me to speed up, since I can focus my full work week on jank. In other ways, it allows me to slow down (to not burn out), since I can stop working nights and through the weekends on jank.
Previously, Mon->Wed nights and all of Thur->Sun would be for jank dev, since I felt like I didn't have enough time. Now I can focus a more normal Mon->Fri and more easily have space on the weekends to unwind and rejuvenate.
What could you do with 15-20 hours per week? A lot, I reckon'.
There is a big difference between "full immersion" and "sort of full focus", even if the amount of hours difference isn't huge. Edit: Although the post mentions a difference of 3 days, that's not a small difference either.
You could say that, but not all lisps are the same. I've tried a few different lisps and schemes, both, but the only one I've found enjoyable is Clojure. This is mainly due to its functional-first approach, immutable data structures, and common abstrations for transformations (so that I don't need to care if I have a vector or a set or a map, I can just conj onto it).
From another independent language developer, good luck to you.
I know this may not feel constructive but I'm going to say it anyway: the name of the language is a huge turnoff for me. I try to avoid janky things and use the word as a pejorative. It isn't that different to me than naming the language crap.
Cockroaches may be gross, but they have the property that they can survive almost anything -- which is of course what you want from a distributed, fault-tolerant database.
As far as I know, "jank" only has negative connotations, and a quick glance at the website did not provide an alternate interpretation of the name.
Also, if the author is looking for sponsors, some companies might be reluctant to be a proud sponsor of jank.
I hate it when people name things random fun or clever words. It’s got to have some thought behind it. A name isn’t just a random label. That’s how you get variables all over your codebase named “stuff” and “thing” and “foo”.
Are you going to build an engine in Jank after you release the language? I think you could do some really interesting things with server-side multiplayer in a clojure-y way.
I likely will, since I like building engines! It's not something I aim to productize though. Also, the more immediate win will be getting jank into Unity and Unreal.
Fwiw, there is an LLVM implementation of Scala you might be able to get a general sense from. It surprised me to see that in some cases a hot JVM is actually faster than native-compiled code (although PGO/BOLT can probably get it closer.)
I wish you good luck. Except for perhaps 2 1/2 years as a paid Clojure developer over the last 20 years, I don’t much use Clojure for the important stuff: my side projects.
I have been following your project for a while but haven’t tried getting it installed on macOS yet. Clojure is a cool language and having a native code option is a nice contribution.
I also like the “Clojure like” language Hy, or hylang.
I rewrote jank several times, during these eight years, with a different design each time, trying to find something which felt right. I wanted something
I'll be blunt here, I see it as just a proloned phase. You wanted something, we all wanted that something at some point. You're not the only one who sees problems and thinks "it could be done differently, if", that's why you gather auditory. You'll end up realizing that no language can replace all these years, and that the amount of real useful work that could be done in that time with boring tools is mind-boggling compared to what will ever come out of this optimistically. Every new real job brings some new insight into what could make it less job-y and more fun. These problems never end and most solutions do not fit together. Feeling that something is not right and it could be done more <adjectively> is just part of the job. If you truly believe in it and have a reasonable source of financial stability, godspeed. But I think you might be living an illusion that almost every programming enthusiast had at some point.
I’d be very curious how much interest is people looking to move to a Clojure from non Clojure code, and in those cases what domain they are working in (games?). And also how much is people in jvm Clojure looking / hoping for better performance from a c++ Clojure and in that case also curious what domains they are in (I’d naively expect jvm is better for Clojure webdev performance given jvm is historically optimized for webdev).
reply