Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python or Ruby for a .NET developer? [closed]

I'm a C# .NET developer and I work on mostly ASP.NET projects.

I want to learn a new programming language,

  • to improve my programming skills by experiencing a new language,
  • to see something different then microsoft environment,
  • and maybe to think in a different way.

I focus on two languages for my goal. Python and Ruby.

  • Which one do you offer for me ?
  • Pros and cons of them on each other?
  • Is it worth learning them ?

EDIT : Sorry I editted my post but not inform here,

Ruby on Rails replaced with Ruby.

like image 909
Canavar Avatar asked Feb 15 '09 19:02

Canavar


1 Answers

Both languages are powerful and fun. Either would be a useful addition to your tool box.

Python has a larger community and probably more mature documentation and libraries. Its object-orientation is a little inconsistent and feels (to me, IMHO) like something that was bolted on to the language. You can alter class behaviour at runtime (monkey-patching) but not for the precompiled classes and it's generally frowned-upon.

Ruby might be a little more different to your current experience: it has some flavour of Smalltalk (method-calling is more correctly message-sending for example). Its object-orientation is built-in from scratch, all classes are open to modification and it's an accepted - if slightly scary - practise. The community is smaller, the libraries less mature and documentation coverage is less.

Both languages will have some level of broken backward compatibility in their next majopr releases, both have .Net implementations (IronPython is production, IronRuby getting there). Both have web frameworks that reflect their strengths (search SO for the Django/Rails debate).

If I'd never seen Ruby, I'd be very happy working in Python, and have done so without suffering when necessary. I always found myself wishing I could do the work in Ruby. But that's my opinion, YMMV.

Edit: Come to think of it, and even though it pains me, if you're seeking to leverage your knowledge of the .Net framework, you might be best off looking at IronPython, as it's more mature than the Ruby equivalent.

like image 71
Mike Woodhouse Avatar answered Oct 13 '22 02:10

Mike Woodhouse