TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Java/Groovy/Scala/Clojure/Ruby for your startup?

13 pointsby inodemanalmost 15 years ago
What JVM Language are you using for your startup? if any. Java/Groovy/Scala/Clojure/Ruby?<p>For what layers? And why?

8 comments

DanielRibeiroalmost 15 years ago
Not actually using any, but if scale problems come, we have the following order: Jruby, Clojure, Scala. The reasons behind the order:<p>* Jruby, because we really like the level of metaprogramming of ruby, the readability, the ammount of libraries, the effort Charles Nutter put into making it a very good port of ruby, and the library support that feels like ruby (dsl-ish, easy to use, easy to change, with tests as documentation, etc), even if you are not using Rails.<p>* Clojure, because it is dynamic, and enforces immutable state (most of the time), it has great metaprogramming support as well (which is very important for readbility), and you can use type annotations to remove all reflection code, and use direct invoking (as fast as java).<p>* Scala, because it is much more convenient to use than Java (and has other advantages, <a href="http://bit.ly/4DIKy4" rel="nofollow">http://bit.ly/4DIKy4</a>), while still being compiled to very efficient java bytecode. Its static typing has issues (<a href="http://bit.ly/asQ7FC" rel="nofollow">http://bit.ly/asQ7FC</a>), as its lack of metaprogramming. Implicit conversions, on the other hand, can deal with it for most part.<p>*Java/Groovy: Scala should be the lowest level we would like to handle. Groovy feels a bit like Ruby, it has more metaprogramming facilities (like categories, and AST manipulations are builtin, unlike Ruby's Parse Tree, which doesn't work on 1.9). However, Jruby is the same language we use everywhere else, and Groovy is not faster than clojure. So it is a "master of none" type of language. Not to mention that its stack trace is riddled with java garbage, and it feels a lot like Java, which is really a put off.<p>This is mosty for backend, as with are probably sticking with Sinatra on front end for a looong while. Twitter uses Rails on front end even nowadays, so it seems like we won't have too much problem with it as well.
评论 #1598806 未加载
judofyralmost 15 years ago
I know that the University of Oslo started on a rather big Groovy project, but after a few months ported everything over to Ruby (not sure if it runs on JRuby though). As far as I remember, they felt that Groovy was a terrible "clone" of Ruby: Long and Java-ish backtraces, small community and much broken code.<p><a href="http://news.ycombinator.com/user?id=thomasfl" rel="nofollow">http://news.ycombinator.com/user?id=thomasfl</a> worked on the project, so maybe he'll chime in with more details.
评论 #1599264 未加载
ww520almost 15 years ago
You should use what you are comfortable with and most productive. If Visual Basic make your product work, go with it.
baboalmost 15 years ago
Avoid to use Java directly, if you need any Java libraries choose Clojure to wrap it, that strategy works well for me. Scala is another alternative here. It's a bit more complicated to work with Java libraries but great for writing code.<p>For a general programing task my choice is Python, stable, mature, well documented with an extensive library support. iPython is a fantastic shell for it, that's my interface to Python libraries and programs, good for developing, running code, debugging or for a quick peep to the documentation. Highly recommended.
评论 #1598966 未加载
johnayresalmost 15 years ago
If you do decide to go with Java directly consider including Guava (Google's open source common library).<p><a href="http://code.google.com/p/guava-libraries/" rel="nofollow">http://code.google.com/p/guava-libraries/</a><p>We really like the support for higher-order functions, like Iterables.transform (aka map) and Functions.compose amongst others. There are loads of useful tools including MapMaker, which is great for building caches. The downside is that Function&#60;X,Y&#62; is an interface and implementations are often inner classes, which can be syntactically quite messy.<p>We've recently open-sourced our common library, which extends Guava with a few additional features we've found useful:<p><a href="http://github.com/mbst/common/tree/master/src/main/java/com/metabroadcast/common/" rel="nofollow">http://github.com/mbst/common/tree/master/src/main/java/com/...</a>
durbinalmost 15 years ago
python. python beats ruby in community imo. if you're just doing a webapp then rails wins, but with scipy conferences and researchers from astronomy to biology putting out python packages, if you're doing something outside the normal webapp you'll probably find a more useful community with python.
评论 #1598919 未加载
zavulonalmost 15 years ago
I'm really curious for the purpose of this question. Are you trying to find the most popular language of choice among HN hackers that have their own startup? Shouldn't you at least mention "and what does your startup do"? Or at this point, "startup" is automatically assumed to be a "webapp"?<p>My startup specializes in bringing other people's ideas into life. Most of our clients are also startups. Depending on their needs, we use Ruby on Rails, PHP, Java, Objective C/Cocoa, or C++. For my other startup, which is a webapp, I use Ruby on Rails.
damoncalialmost 15 years ago
Ruby, because it's relatively easy to find Ruby developers who want to work in a startup environment.