Ask HN: Ruby or Python for a Startup?
7 comments
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.
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.
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.
Any Python developer can write solid Ruby within 3-4 days. Any Ruby developer can write solid Python within 3-4 days.
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.
Also, I don't even know if this is a worthwhile thing to consider with your project.
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.
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.
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.
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.
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.
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?
A little bit of background to fundament that (seemingly naive) question:
- 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
- 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)
- 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?)
- 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
If possible, I'd like to hear opinions on those matters.
Thanks in advance! :-)