Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Anyone pondering their technology stack should watch this video. It doesn't matter what you initially employ as a technology/framework/server to get your app up and running, but if you need to scale the JVM is were it's at. I say that as a Rubyist.


I was surprised when I got some pushback on this concept at a local Django meetup last week. A lot of people believe that Python & Ruby-type languages are the backend languages of the future.


To be fair, you're very unlikely to ever have to solve the kinds of scaling problems Twitter has had to solve. You'll get your app off the ground faster with Python or Ruby.


You will get your app of the ground faster, but you're selling yourself short if you're a technology-based company thinking that you'll never have scaling problems. Competing against Twitter or any other social-based app you'll probably never encounter that level of scale, but any financial application will need to be both fast and handle the complexities that only the JVM can address.

Like he states at the end of the video, when describing the 7000+ tpm during the WWC:

"...we do things like Forex spikes upon our standard baseline growth. So right now the JVM is really the only mechanism that we can build upon that gives us the flexibility to do something like that."


Plenty of companies do huge transaction volumes on dynamic languages. Twitter is a freak outlier. If you try to solve problems long before you actually have them chances are you'll come up with the wrong solutions.


I'm pretty sure he said "4x" rather than "Forex".


Good catch, and make sense given the context. My mind is stuck in HFT mode and constantly has me worried.


It all depends on the problem. Dynamic languages like Ruby and Python are good for rapid development, but not for high volume, soft realtime problems like Twitter has. Just make sure to match your tools to you problems and try and oddly hack a solution with a tool that is not best for the job.


Yeah my contention was that they're great for certain phases but once you start reaching scaling problems the JVM might be the better solution.


Also, twitter is at a point where they can afford the best programmers, and where hardware efficiency becomes a big issue. In my experience, a lot of web-based small companies are more limited by skill, development practice than language and hardware usage. Only once you solved the former can you focus on the latter.


They are the languages of the present (and future, for a while I'm sure), but the JVM is the platform to write these languages to.


People are going to defend their language of choice, but I have to look up to see what the big dogs are doing, try and understand why they're doing it and what type of influences they're under when it comes time to choose a technology stack to address and solve a problem. Ruby, and Python to certain extent with Django, suffers from the Rails attitude of opinionated development where either it's all Rails or nothing, because that's what they're used to developing and feel uncomfortable outside of it, or worse, are under the impression that Rails is the end-all. That simply doesn't work in a scaling environment. I've found that Java developers are not only easier to recruit due to their shear numbers, but are more receptive to other avenues of approaching a problem and have a better set of skills with which to approach it or are at least able to migrate to other technologies, like Scala for example.


Coming from a Java workshop, I have noticed the exact opposite - the majority of Java developers I have worked with are unwilling to touch or experiment with anything other than Java, even languages on the JVM like Scala; alternatively, I have noticed python developers are much more open and agile when it comes to moving in and out of other languages.


Could that be because the experimental ones have already moved into Ruby/Python years ago? The Rails world certainly has a lot of ex-java programmers.


In retrospect, I should've said depending on the environment and the willingness of the devs involved, but yeah, they always find a way back to Java.




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

Search: