I Love Mono Im Very Fond Of Linux And If You Give Me A Mac I Promise Ill Give It A Fair Chance Joshnbspcriti

I love Mono, I’m very fond of Linux, and if you give me a Mac, I promise I’ll give it a fair chance!

Josh criticizes my “disregard for non-Windows platforms as a whole” in this comment. I guess that’s pretty fair, at least lately, as I’ve been living in an all-Windows environment for, oh, the last six months or so anyway. But that’s just an accident of timing: I haven’t looked at Mono since last Fall and I went through a major hardware cycle over the Winter. Soon (maybe very soon if a particular contract comes through), I will get a Linux system up again. In my training material, I’ve made a very deliberate effort to teach C# and .NET as separate concepts from the VS.NET 2003 toolset and, to the extent possible, I’ve tried to make sure that all my code samples run under Mono as well as Microsoft’s implementation of the .NET Framework.

Josh’s last sentence is a little harsh, though. While I do believe that platform-specific programming has much to offer, I don’t want there to be only one platform. I want it to be as easy to use C# to program my Linux-based Tivo as it is to use C# to program my Windows-based Tablet PC.

Not that I have Tivo yet. But when I get one, and if it can be programmed in C#, I promise I’ll be hacking it!

No Penalty For Programming J Contrary To Rumors That Ive Heard I Can Find No Runtime Penalty For Code Wr

No penalty for programming J#.

Contrary to rumors that I’ve heard, I can find no runtime penalty for code written in J# as opposed to other .NET languages and specifically C#. The one significant difference I’ve seen in IL generated by the vjc (J#) and csc (C#) command-line compilers is that all Java instance methods are (correctly) virtual, while C# methods default (correctly) to non-virtual. That’s a difference in the languages’ designs that might lead to a measurable performance difference in the speed with which methods are called (perhaps that is what is going on in the Cholesky benchmarks?).

Something I’d heard, which turns out to be incorrect, is that J#’s implementation of inner classes was flawed. Inner classes are real nested classes at the IL level. So, if you prefer anonymous inner classes to delegates, J#-away with no hesitation.