Slimdx

November 18, 2009

I’ve been working on some graphics work using SlimDx. I really like the library but the documentation is sparse in some places


IronPython and/or F#

March 11, 2008

I’ve been working with a large project that has a lot of unmanaged MFC and C++ code, and new managed code using C#, C++/CLI with a many third-party libraries written in unmanaged code. Because of the complexity of the code, and sheer number of projects (>50 at the last count), I’ve been debating on using some scripting language to prototype and test code. I know Python, so I’ve started off with that. Unfortunately, Visual Studio 2005 does not have a good integration with the IronPython console. I tried getting the add-in sample to integrate with Visual Studio, but after wasting a few hours decided to use it without intellisense.

F# on the other hand has pretty good integration wit a REPL console, compiler and interpreter. Although, I know some functional programming,  (doing some programming in Lisp, Haskell, and Boost.(Lambda|Bind|Spirit) in C++), F# seems to have an alien syntax. I’m pretty sure that after a few hours, I should get the hang of it. Probably, next weekend. Although its looking more and more likely that I’ll be at work this weekend again.

I do like this T-shirt though.

image

Brought to you via here.

 

sidenote:

I wish plain old C enums played nicely with CLS enums, or that I was smart enough to remember the nuances of how they differ.


Installing the Visual Studio Express Editions

February 12, 2008

I’m installing the express editions right now. As much as I like the environment, I’m just not willing to fork over $200+ for the standard edition. If it works, Great!! Otherwise not so great, and I will cough up the money. That $600 rebate might have come in handy right now.


Documentation comments in C#

February 11, 2008

If partial classes are commented by XML doc strings, then the C# compiler will append the text of documentation into one paragraph. So make sure you use <para/> before or after  your comment string. For example,

/// <summary>
/// <para/>
/// Yadda Yadda Yadda
/// </summary>
partial class PageMarginsDialog : Window
{
    //... Your code here
}

… I did’nt know this before. Cool!


C#, Winforms Training

March 31, 2007

March 28th through 30th, I went to a 3-day training workshop to learn about Winforms progamming in C#. This training came on the heels of a 5-day trainig course in C# held the previous week. (see here, here and here for more about that). I did not enjoy this training as much as I had enjoyed the last one.

My main problem about this training was that, because there enough time between the C# language training, I had not had time to internalize everything about C#, the VC# development environment and .Net framework the way I had internalized C++, MFC, and the Win32 API. I know that if a programmer is proficient in one language, then they can easily pick up other programming languages easily. C#’s syntax was’nt really the problem here but our familiarity with the API of the .Net framework.

People often confuse that the productivity gains of using .Net come from C#. I dont believe thats the case. The real productivity gains come from the Framework classes that Microsoft has published for UI, XML, multithreading, and their tight integration with Visual Studio. Infact, I believe that C# would be a lot less powerful had Microsoft not published all those .Net framework classes that come with the SDK. <Rant>The truth is that the person who sent us to this training believe in silver bullets. Having never gotten his hands dirty with the actual working of the code, this person really does’nt understand that simply putting programmers through a grindhouse of training, does not give you productivity gains</Rant>.

All the students were expecting a classroom environment, where the instructor gave a lecture, and then the students did some excercises. But this was a workshop, where lectures were minimal and there was more hands-on programming. Hands-on programming meant the students really needed to be familiar with Visual Studio 2005, C# and .Net. Infact the course material stated that trainees need to have at least 1 year of experience of coding in C# and .Net. In our case it was like a week. Simply put, we were not ready for this training.

All I personally got from the training was a higher appreciation of Visual Studio 2005. However, I have to say this about the IDE. I think the IDE is much slower than Visual Studio 2003. Its not as responsive to commands as the previous versions were.


Training again :-(

March 26, 2007

Winforms this time @ 8:30 am


C# training: Days 4 & 5

March 23, 2007

My week-long training in C# and .Net came to an end today. Today the main topic of discussion was Interop, some form controls that might be interesting, brief coverage of topics like the use of attributes and multithreaded.

While I’m going to give high marks to the instructor, in hindsight the course material should have been selected with some care. The impression that was prevalent in the group was that the course was actually designed for people who had been programming in VB6 and had not heard of the newer technologies. This is probably the reason why the instructor went into painstaking detail about the C#’s language constructs and ridiculous amounts of details on .Net features that seemed to be trivial.

Inspite of all that, I think I gained some information that was of value. One thing that I learnt was about data visualizers. That is something that can be really useful. One way data visualizers can be used is related to debugging intermediate steps for image processing.

Next week, its Winforms training March 28th through March 30th, 2007.