
Ask HN: Why does Heroku support less known JVM languages? - elamje
Lately, I have been coming across Heroku tutorials and resources as I am learning Clojure. Knowing how big and popular Heroku is, makes me wonder why they support non-mainstream languages like Clojure. You could also say that Kotlin and Scala are less popular than the others web dev languages they support as well. I just wonder, why actively support such a small community like Clojure?<p>It makes me think that they possibly derive more revenue from resource-hungry JVM languages and that might be a big reason.<p>Do you have any theories or data?
======
nostrademons
Because their deployment model is 'git push' your source code, they need to
actively support a language in order to use Heroku at all. Every extra
language they support _directly_ translates to a larger market size. New,
niche languages are disproportionately important to Heroku's target market,
because they're frequently used by startups and hobby projects and Heroku's
best use-cases are often for startups and hobby projects.

It's also not that much technical effort to support an additional JVM
language: they already support runtime deployments on the JVM, so they just
need to learn & automate a new build toolchain, and then the deployment
artifacts are basically the same as for the JVM. I'd bet this portion of their
stack is isolated from the runtime & auto-scaling parts, so they can assign a
few engineers to it, build out the tooling, and then have it just feed into
the existing JVM stack.

High profitability + low cost = it makes a lot of business sense to do it.

------
codefinger
I'm the Java Languages Owner at Heroku. While I can't reveal in full detail
why we do (or do not) officially support a particular language, I can say that
it has nothing to do with how resource-hungry the runtime is :)

Our determination to officially support a language is based on numerous
factors including community demand, relationship with other technologies,
suitability to the platform (C++ is really popular but not for web apps), and
more. In any case, I wouldn't read too much into our support--it's not a
determination on the language itself.

Fun fact: Clojure was the first JVM language supported on Heroku back in 2011
(even before Java itself)!
[https://blog.heroku.com/clojure_on_heroku](https://blog.heroku.com/clojure_on_heroku)

Today, Heroku support Java (with Maven or Gradle), Scala, and Clojure
buildpacks. JRuby is supported via the Ruby buildpack. Buildpacks are the
mechanism that prepares each app for production, so in some ways our support
is more tightly coupled to the build tools than the language. That's why we
don't have a Kotlin buildpack (it can use the Maven or Gradle buildpack
accordingly). In fact, there's nothing specially you need to do to run a
Kotlin app on Heroku, so we have some docs and there isn't much more to say
about it. We've also worked closely with the Kotlin folks to make sure the
ecosystem plays well with Heroku.

Let us know if you have any trouble with Clojure on Heroku. Stackoverflow.com
is a great place to start (and I personal try to watch for questions tagged
with "Heroku" and "Clojure").

------
elamje
Link to languages:
[https://www.heroku.com/languages](https://www.heroku.com/languages) \-
Additionally they have Kotlin documentation and tutorials

