Saturday, February 07, 2009

C# versus C++ versus Java performance comparison

The performance comparison of C#, Java and C++ was always a controversial subject. Many people who are unfamiliar with JIT'ed environments claimed anything runs on JIT is too slow compared to C++. On the other hand people who actually use Java and C# usually claimed the otherwise that performance impact is negligable. Here's a nice chart I've found that a friend in freenode IRC server pointed me. These benchmarks are done by Matt R Warren (aka Moridin8 in irc.freenode.net) and his original site is http://www.csharp-architect.com


According to below chart, choosing C++ just for the sake of performance doesn't seem very feasable to me. Remember : Engineers are expensive and servers are not!




Sunday, February 01, 2009

Don't wait for C# 5, use Nemerle Now !!!

Hello ,
I mentioned nemerle before as C# glorified here . As you know C# 5.0 will came with compiler services that allows us to run dynamic code on runtime. Mono has already have it but it is not available to Windows at the moment (you can reference gmcs on windows but with limited support only). So here's our example:

using System;
using System.Console ;
using Nemerle.Evaluation.Evaluator ;

module Program
{
Main() : void
{
def function = EvaluateExpression( "x => x + 1.0" ) :> double -> double ;
Console.WriteLine(function(2.0));
}
}

The above code outputs 3!! Simply wonderful and best of all this code is in visual studio with full intellisense as below:

Just install nemerle from http://nemerle.org and add Nemerle.Macros and Nemerle.Evaluator as reference and run the code that's it!