I prefer to use Ruby when possible, though I switch to Python (with numpy) for more math-heavy applications. Ruby's ability to chain methods, syntactic sugar, and larger amount of built-in methods makes programming much more fun and efficient than Python, where I'm constantly going back a word to write a new method and enclose what I just wrote in parentheses, or counting parentheses/brackets, which I don't really seem to need to do in Ruby. Python is still much more enjoyable to program in than most other languages, but compared to Ruby, it feels like programming backwards. I also prefer to use Ruby/Rails for prototyping and web development.
1[anonymous]
My general rule of thumb is
if customer.dictates('specific language')
use('specific language') # usually Java / PLSQL / .Net
else
use('Python')
except error('too slow')
use('C')
I love the simplicity and power of Python and will use it to prototype proof of concepts (not so much GUI work - would use HTML or .NET for that). For me, Python really makes programming a lot of fun again and though it is slower, I haven't yet had the need to shell out to C code though I expect I will soon.
If it's worth saying, but not worth its own post (even in Discussion), then it goes here.
Notes for future OT posters:
1. Please add the 'open_thread' tag.
2. Check if there is an active Open Thread before posting a new one. (Immediately before; refresh the list-of-threads page before posting.)
3. Open Threads should be posted in Discussion, and not Main.
4. Open Threads should start on Monday, and end on Sunday.