

Ask HN: Ruby or Python for a Startup? - herval

Howdee fellow hackers,<p>I'm currently in the process of assembling a development team for my newly born venture, and would like to raise a question: if you were in my shoes, which would you pick as the "base" language for the team: Python or Ruby?<p>A little bit of background to fundament that (seemingly naive) question:<p>- The only techie on the company today is myself. I'm familiar with both languages and have no preference of one over the other at all<p>- The products we'll be working on are not just web based: although there will be one or two web sites (which can be handled with either django or rails), most of the code will be on services (e.g. interfacing with bluetooth, gps and other hardware devices, background jobs, etc). I'm not mentioning C since I'm leaning to those scripting languages due to better testability, less code, etc)<p>- I'm aware that python currently has a better support for such things (ruby's bluetooth libs, for instance, are quite half-baked so far). Although my general feeling is that Ruby (now backed up as being 'the scape pod' for Java) will probably evolve rather quickly from this moment on (yes? no?)<p>- It is equally hard to find experienced programmers on any of those two languages around here (actually the only experienced ones you can find here work in php). The learning curves are quite similar too, IMO<p>If possible, I'd like to hear opinions on those matters.<p>Thanks in advance! :-)
======
jamesk2
Go for the library support. I chose python because of existing functionality I
needed now. Writing it from scratch would have been very time consuming.

As for non-web services, Python has some good GUI tools and some workable ways
to make windows apps.

It also didn't hurt that google is behind python. The speedups targeted seem
attainable. <http://code.google.com/p/unladen-swallow/>

As for finding engineers who are good at ruby or python, it's pretty slim
pickings for either.

------
tptacek
If you care enough about library maturity to mention it in your question, and
Python has the more mature libraries for your application, then you don't have
a real question. Use Python.

Any Python developer can write solid Ruby within 3-4 days. Any Ruby developer
can write solid Python within 3-4 days.

------
varikin
Since you will be interfacing with bluetooth, gps, etc, do you for see needing
to write stuff in C at a later point for greater control or performance? Is it
worth considering how well Python or Ruby can work with bits written in C? I
know Python handles this well, but I don't know Ruby enough to answer that.

Also, I don't even know if this is a worthwhile thing to consider with your
project.

~~~
tptacek
Ruby and Python are both fine at bit-level data handling. I've written kernel
debuggers in both. Python ctypes used to be much better than what was
available on Ruby, but I've found that not to be a major distinction in 2009.

------
figured
I know you are asking about ruby and python, but I don't think their strengths
lie in interfacing with bluetooth, gps hardware devices, and running
background jobs. You might want to look at some more industry standard
languages.

~~~
tptacek
Python and Ruby both work fine for bare metal systems programming. Plenty of
bare-metal systems programming projects have been executed on both.

I'm a Ruby advocate, but if "being like everyone else in industry" is one of
your decision axes, Python is a more conventional choice for low-level
programming (at least, outside of security).

The "industry standard language" choice you're alluding to is C, which is a
terrible choice for a primary language in 2009.

------
mossplix
python has a better designed interpreter. it has a big sugar daddy behind it
(google). it all depends on what you are into.depending on which you might
consider some forgotten languages like earlang and lisp and simply use python
as a glue language.

