I remember when I first started working with C#. A friend at Microsoft showed it to me at PDC in 2000. He just happened to be the same guy who introduced me to Delphi a few years earlier, and I remember him saying “You’re going to love this.” And I did. C# made programming fun again for me after being stuck in the VB world for a couple of years. That fun feeling I had with C# was similar to the fun feeling I had when I was programming with Delphi during the mid-90s.
I enjoyed C# for the years that followed. Of course all the work was web-based. After starting White Peak Software a customer asked me to develop a prototype version of a desktop application. The customer also asked that I use VB.NET, so I gave VB.NET a try. However I stepped away from the project after completing the prototype. Working in VB.NET was an awful experience for me and I now refuse to write any programs using VB.NET.
What was equally as awful was writing a desktop application in .NET (and I have written my fair share of them as well). Sure, it can be done but not with the speed and easy found with Delphi and the VCL. I bought and used Delphi 2005 for the next desktop application I wrote and I haven’t looked back. Delphi is back as my language of choice, and the Borland Developer Studio is my IDE of choice for both Delphi and C# development.
The VCL is the magical piece that makes writing Windows desktop application so easy. Sure I love Delphi as a language. Pascal has always been my favorite. I cut my programming teeth on Pascal back in the early 80’s. C# is a nice language too especially if you prefer C-style languages, and it’s my second programming language of choice. But VCL features such as TFrame and TAction make writing a Windows desktop application make easier compared to .NET.
Today I do more Delphi programming than C# and I couldn’t be happier. My customers are happier too.
Here is the BDS Live Template I wrote to create an NUnit test method shell for a C# class.
<pre>
version=”1.0.0”>
Method name
MyUnitTest
Unit test method
Kirby Turner - White Peak Software Inc
<![CDATA[[Test]
public void $name$()
{
$*$Assert.Fail("Not implemented.");$end$
}]]>
</pre>
The template will generate the following C# code:
<pre>
[Test]
public void MyUnitTest()
{
Assert.Fail(“Not implemented.”);
}
</pre>
Some days I find it hard to stay focused. There are many new technologies to play with and I want to spend time with them all. I’m itching to install the latest version of DotNetNuke and see what has changed in the last year. I also want to port a web part I wrote for SharePoint from C# to Delphi and make it a DNN module. There’s also a few Ajax frameworks I want to experiment with, and GData (Google Data API) is something I’m really, really anxious to play with.
The fun doesn’t stop there. Microsoft’s Windows Workflow Foundation and SQL Server Integration Services (SSIS) are peaking my interest too. /n software isn’t helping my focus problem either by releasing a new workflow and SSIS. Just more fun stuff to play with.
Maybe I need a new White Peak Software company policy allowing 8 hours per week to “technology play time”.