H1t M0nk3y wrote:Hayabusa,
Since you know both scripting languages, when would you choose python over ruby or vice-versa? I don't know much about both of them to understand the pros/cons of each.
I am definitively a Java guy, but it is often overkill for small tasks.
While I work in both, I'm no self-proclaimed 'expert' in either. Ultimately, Python tends to be my down-n-dirty language, if I need something fast, as I've got more time and experience with it, and can often even find someone else's code and modify / 'hack-it-up' it quickly, if needed. But that alone is not a differentiator. If I have more time, I might choose Ruby over Python, for some projects, too.
Honestly, for me, it's just a matter of preference, and which tool I feel I can work with, quickly and efficiently, for the task at hand. I can't really give you a solid 'This is why I chose this one, today, versus that one', aside of the fact, like I'd said, that it sometimes depends on the tool I'm going to use my code WITH, if any at all (Metasploit, Core, CANVAS, etc...)
As nebu10z mentioned, the community for Python is VERY helpful, if you're starting out, and I tend to find them easier to discuss things with than the folks backing Ruby (in my opinion and from my experiences, not speaking for everyone.) For me, before I knew either, I found Python to be easier to work into, as if you're already familiar with programming languages like Perl, etc, it's kind of 'more of the same.' Ruby's 'object-oriented' approach is slightly different from Python's (although once I got comfortable with it, I find it more 'elegant' and have found my 'objects' / chunks of code more portable and easier to move around, in Ruby, for different things,) and there are both similarities and differences between them.
For general differences and comparisons, check out:http://www.wikivs.com/wiki/Python_vs_Ruby
What I can tell you is that Ruby seems to be the wave, as far as commercial security tools go, these days. Rails' capabilities, added to it for ease of porting to the web, really are making it a nice language to work with. I'm only in the beginning stages with Rails, and have a LONG way to go, but so far, I like it a lot, too.
Hope my objective opinion helps, but obviously be sure to get others, as some folks have differing opinions, tastes, preferences and needs. That's the nice thing about 'community,' as you don't have to choose one or the other, without first getting many folks' sides of the equation, and make a judgement based on what YOU feel comfortable with, in the end. Additionally, try things out, and see what style you like the best. I do think, however, that if you're currently working to learn Ruby, then you're investing your time well.
PS - as zeroflaw also pointed out, C/C++ comes in very handy. But I find that for quick needs, if one of the scripting languages suffices, I use them, before C/C++