Showing posts from August, 2011

Is Ruby such a good choice?

Let's see the Fibonacci implementation is C#, Ruby and Python. C#: Ruby: Python: As for me, C#'s Enumerable.Range() is somewhat messy compared to Ruby's and Python's variants. Ruby's optional parentheses around arguments seem just right, as well as 'return' keyword which now looks spare in C# and Python for me. Ruby's 40.times expression looks a bit weird, however, we could use more 'normal' loop like for i in 0..39. Python's absence of 'end' or '}' is the best thing in the whole language. I'm not joking. So, I can't judge at the moment whether Ruby or Python code is more expressive or readable. What about performance, C# wins with 9 secs, followed by Ruby with 1 minute and the Python variant took as much as 2 minute to execute. I must say that I don't bother about performance since in real life applications such numeric calculations encounter very rare and should not be done in dynamic scripting l

Going to get rid of git

After a whole month of fighting with Git I'm almost ready to switch to Mercurial (and to move my team as well). Branching in Git is extremely flexible and, as a result, it's very, very annoying and error prone. Another cons of Git is lack of quality GUI. TortoiseGit is a clone of TortoiseSVN and does not mirror the Git concepts at all - it's nothing but a windows shell extension. GitExtensions is so horrible internally (I fixed some bugs and added a couple of features into it recently) that I don't believe it's going to get stable... In the other hand, Mercurial has a superior GUI - TortoiseHg. I can't realize how the same company is able to do such a awful thing as TortoiseGit and such a wonderful one as TortoiseHg.