3 ms·
Ask HN: Why does Heroku support less known JVM languages?
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?
It makes me think that they possibly derive more revenue from resource-hungry JVM languages and that might be a big reason.
Do you have any theories or data?
- elamje 8y agoLink to languages: https://www.heroku.com/languages https://www.heroku.com/languages - Additionally they have Kotlin documentation and tutorials
- nostrademons 8y agoBecause 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 8y agoI'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").