Ruby · Python

Any comparator or thoughts to choose between Java vs Ruby or Python ?

Abhi Yadav Analytics, Data Science Professional, Entrepreneur & Innovator

April 24th, 2014

One of my friend's start up with some funding is building an Insurance kayak and still wondering if they should choose Java or newer language/ framework such as Ruby on Rails or Python Django ?

Since they don't have a CTO as yet, is looking for a small development firm or consultant to build something on cash and still wondering which language or technology to pick ?

So is there any technical or business users comparator available for such tech ? 

Any thoughts ? suggestions

Roshan Diwakar CTO and Principal Consultant at Xtreme Automation Corp

April 24th, 2014

One more thing.

Whatever myth you have about any language, they are all outdated.

Hovhannes Tumanyan CTO at Kiwi Crate

April 24th, 2014

I agree with the previous commenter and would also ask: "Is there a reason why you excluded PHP?". There is a plenty of good PHP developers available, in fact, you may find them more easily and cheaply than for Python/Ruby/Java.

Roshan Diwakar CTO and Principal Consultant at Xtreme Automation Corp

April 24th, 2014

Short Answer -- Doesn't Matter.

You should pick the one which you (or the long term CTO) excels at.

All the problems you run into will be happy problems at which point you'll convert everything into Java. But, you'll have the resources to do it.

Roshan Diwakar CTO and Principal Consultant at Xtreme Automation Corp

April 24th, 2014

Just to add.

Usually the rate of prototyping is faster in Ruby/Python, but with Grails/Play Framework that advantage is not there anymore.

As the project/team grows larger, Type Systems (Java) help a lot. 
Java is faster, and scales easily. 

But, as I said, all these are happy problems and even if you start in Python or Ruby, you can switch later.

Timothy Brown Engineering Manager, Lyft Line

April 24th, 2014

There are no significant technical limitations or advantages of any of those languages over another.  If your friend's start up had no cash and was bootstrapping I would agree with the suggestion to pick the language your CTO excels at, but if they've already raised significant enough capital to start recruiting you'll hit some issues with Java/C# as a language choice.  Commonly, "start-up" hires, or at least the ones you want early on in your start-up, often shy away from those "legacy" languages.  If recruiting is going to be one of the biggest bottlenecks of your company, and it often can be early on, consider finding a "trendy" language. 

By the sound of it though, "some funding" is probably a minimal amount and he's still in lean mode to prove the concept.  In that case, finding a CTO is going to be the most important, and then I'd just have him use his language of choice, as per Roshan's suggestion. 

Just my 2 cents with hiring from the .NET pool for a start-up bottle-necked by recruiting.

Chris Hundley Entrepreneur in Residence at Madrona Venture Group

April 24th, 2014

There are 10 other threads on FD about this topic. Don't even need Google this time - just search this site.
Beware, this one of the most polarizing questions you can ask, and there literally isn't a right answer.


April 24th, 2014

Try not to pick a framework technology first - find good people and they will develop in the framework that suits them best, according to a high level spec doc. It really doesn't matter what the prototype is built with as long as it's easy to pivot. You shouldn't worry too much about scaling for an MVP. Languages don't scale - platforms scale. As you get to scaling problems you can attack weak points as you go, maybe split the app into an API and optimize portions as necessary.

Of the frameworks you mentioned, Django is probably not the best choice for an interactive app with a bunch of external API calls as the core.

Java+Playframework, Ruby+Rails, Node+Express, are all appropriate and will come with their own unique drawbacks and advantages. Focus on the devs who will build it.

Roger Smith

April 24th, 2014

Choose whatever gets you up and running the quickest. Rails is super fast to code and with it you have many choices to deploy so I would suggest that stack. 

Frederic Laruelle Founder & CEO at inkWire, inc.

April 24th, 2014

Depends what you are working on... Having access to robust open source libraries to address your needs is a huge time saver. Each language has its own specialties and active communities. Performance is a also a big decision factor, how much data will you be dealing with? We switched from Java to Python and that has proven to be a good move for our needs. Python is especially useful if you have to deal with fetching stuff from the web, natural language processing, machine learning ,etc... It's been also much faster than java performance wise, however the drawback of Python has been to grow the code base, ie it's hard to design a large code base in python, Java is easier on that angle. I have no experience with Ruby, looked at it and didn't like it, but that's totally subjective. Good luck! Fred~

David Crooke Serial entrepreneur and CTO

April 24th, 2014

This needs to be done in a combination of what do we need, what skill sets do we have, what 3rd party stuff can we leverage, who can we hire. My own experiences: 1. Python is a bit messy to work in, and using white space as syntax is risible. Also it doesn't scale well as it's VM is single threaded / one CPU