In Response…

There has been plenty of response to my interview a few days ago with Simple-Talk – rather than trying to cram all of my thoughts into the size of a comment box I thought I would spend a little more time and try and respond to people more fully here.

Mike O’Neil pointed out Visual Assist X as a great Visual Studio Add in – personally I have tried it but didn’t miss it that much when my computer was rebuilt so I didn’t reinstall it – that’s not to say that its not a good tool, I hear plenty of good things about it, I think it just depends on your programming style.

Andrej Kuklin made some comments on ANTS Profiler, I disagree with him that it is “third best” – the line level timings are the killer feature for me. There were a few UI bugs introduced in v3 which have either been fixed or will be in the next round of point releases. On the memory profiling front I would agree that we don’t have it quite right yet and will be working to improve the situation over the next few months. We are currently doing quite a lot of R&D on the core engine looking at ways of improving the results collected and reducing overhead, we are also looking at the presentation of statistics from profiling and how to make these more useful for our customers. This is all still at a very early stage but watch out for more on this over the coming months. If you have any thoughts please feel free to email me/call me.

Mr Blunkett and Mr Blair then joined the discussion (I didn’t realise that Simple-Talk had such a reading among ex-government ministers) – they were discussing my analogy with Skoda’s and Porches. This comment was not really about individual development tools; rather, it was about the state of developer tools in general. We are still coding using a supped up text editor and I think there must be a better way. That is not to say I have the answer to what this better way is. Data Flow programming seems like an interesting avenue to me as do the DSL tools that are being worked on by Microsoft. Hopefully over the next few years we, as a community, can make it easier to express our program logic in ways which reduce the frequency of bugs and improve efficiency.

Finally Julian Bucknall, the CTO of Developer Express chimed in on his blog. I wanted to comment on my experience of Developer Express, their grid is one of the best around – it’s my grid of choice unless I am doing a lot of virtual stuff where by I will generally use Syncfusion’s grid (I prefer Syncfusion’s virtual data interface and DevExpress’ grid didn’t support virtual mode properly when I first started using it).

Julian then moves on to talk about support in response to a rant on channel9. Don’t get me wrong, Support is hard for third party vendors, and we all make mistakes. Having said this, I want to give DevExpress a little slap on the wrist for one thing they did which caused us a massive amount of pain with our customers. 

What had happened is DevExpress had released a .NET 2.0 and a .NET 1.1 build of their components, these components had the exact same strong name. SQL Compare et al were .NET 1.1 apps at the time so when someone only had .NET 2.0 installed then our programs would run in the .NET 2.0 runtime. When  the .NET framework loaded the DevExpress libraries it would first search the GAC and if someone had .NET 2.0 DevExpress’ components installed (either through another application or because they were a developer) then our tool would crash as there were differences in behaviour between the .NET 1.1 and .NET 2.0 versions. Please obey strong naming conventions in future!

Even given this my personal experience is that DevExpress support is pretty good but one of the most important resources I have found are component vendors’ sample projects/applications, the best ones are ones which are clear, concise and show you how to achieve some specific goal while using the component.