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

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

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

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.

Anonymous

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.

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.

Kevin Wright Lead Scala Developer at Anomaly 42

April 25th, 2014

Decide on the kind of people you want to employ, look at what they're favouring within your target industry, choose that.

Or look at what companies similar to yourselves are using.  Choose the same, then potential employees are also likely to come with plenty of domain knowledge as well.

As a variant on this... Look at what the competition is using, then supersede it!  e.g. if Java is commonplace then choose Scala, which is often more attractive to your more experienced Java developer.

Abhi Yadav Analytics, Data Science Professional, Entrepreneur & Innovator

April 28th, 2014

All these opinions were great and extremely valuable, really appreciate it,

However like many said that for start ups there are many non-technical considerations like talent availability, competition, CTO choice etc

But this question was more intended to explore does this really matter technically or is there any comparator grid existing, but it seems its not but some technical comparison points were indeed helpful

Thanks 

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