I just released a very nice tool for DICOM file inspection . When I initially created the functional specification, I decided to target the MFC platform only. I could not target unix boxes because of the complexity increase in the design specification and time constraints.
My experiences www.codeproject.com have been reasonable. In fact, the article wizard is a good tool and allows independent publication and removes all the red tape.
I've got a lot, and I mean a LOT, of VBScript code. This website for instance. Moving a large, live site to a new platform gives me some leeway to explore ideas before making them live while getting instant feedback and serious load testing. I can mock-up in VBScript and use the current infrastructure to test, then rewrite in C# using the evolving .NET infrastructure. In the end all I'm doing is providing a front end for a database anyway.
But I digress.
I just read Joel's How Microsoft Lost the API War[^] and apart from being very amused at his comments on MSDN magazine I was a little defensive about his comments that C# is simply VB with curly bits. I'm a C++ guy. I work to the metal. I know 50 ways to leak memory, a dozen ways to corrupt the stack and there's enough FORTRAN programmer left in me that I'll use a goto if I'm feeling surly.
But I don't clean up memory these days. I don't cast structs to (void*) and then cast them back to a different struct. I now implement logic. I am, and this hurts me no end, productive. I'm focussed on the thing I'm building and not the tools I'm using.
Moving from C++ to VBScript is like going back to primary school. It's easy. It's all fluff and a 20 word vocabulary and I hated it until I realised that I was cranking out applications in no time flat spending far, far less time debugging and more and more time building. It has classes, arrays, types, and automatic type casting, memory management and reasonably robust error handling.
So now I'm back from my sabatical and working in C# and feeling a little less sheepish about it all. That is until I started porting my VBScript based ASP pages to C# ASP.NET pages. Change a dim to a string, add a semi-colon, and replace End-If's with curlies and you're done.
Part of me feels ripped off. "But you said it was a first class Language!". Most of me though is brerathing a big sigh of relief. I very occasionally wish I could clean up specific pieces of allocated memory, and the neat freak in me looks a little distainfully at the discarded object lying around, but in the end I know it will all be taken care of, and taken care of in a way that makes leaks impossible, and in a way that frees me up to do the things I enjoy best.
So I'm comfortable with the idea that I'm still writing in VBScript. I've got a few more class libraries to choose from now, and the curly brackets sure save some typing, but I think it's a good thing to let go my Type A control freak tendencies and just enjoy the moment.
Remember that a lone amateur built the Ark. A large group of professionals built the Titanic.
I can't agree with you more. C# is fantastic! I've started doing c# development about a year or so ago and haven't been happier since. I, on the other hand, come from a VB3/4/5/6 background. I do have experience w/ c/c++ as well, but primarily VB. C# gives me all the control I need without digging into the dirty C++ stuff. And thats the way I like to keep it. The .NET framework is definitely quite a great piece of work too. Today we're developing Web services, what will we be developing in 10 yrs? and how are we gonna be doin it? Wonder if by then we'll just need to draw a picture or somethin.
I've come from a C/C++ background and C# is definitely the first language that I've been happy to move over to with both feet. Even Java didn't do it for me - I guess because I could never quite remember some of the subtle contructs. C# solves this - it is C++ but with old requirements removed (header files etc.), and well designed facelifts ("using <namespace>") from the ground up.
I still found it unconfortable for a while not having to delete (or delete) objects all the time. Particularly where you feel you are bloating the heap all the time with arrays of 100's of small objects, but I am receving councilling on this as we speak .
Here in Tempe AZ I must admit I enjoy the sunshine - mentally it just automatically makes you cheerful as long as the A/C keeps working.
HOWEVER writing in August, this is a little past the peak of the Cooked Smog/Ozone season. The brilliant sunshine creates Ozone and other nasties from the smog - I've always been quite healthy but I notice an occasional cough on the worst days, sigh.
Therefore be thankful for your rain-washed air ! You can always visit a tanning booth but it is more difficult to filter your air.
One of the things we try and do is ensure that the environment an article is written for is reasonably accurate. Thanks to Marcie we now have a system that goes through and takes a quick peek at what environment strings (such as Win9x, MFC, .NET etc) article have so we can standardise.
Some of the better ones we've found:
* Bamboo (*Programming* environment, not your backyard's environment)
* Wasabi (I wonder if there's a Wasabi.NET version coming out)
* Article (really? It's an article? Awesome!)
There's always a point in a port where you look at the hundred and one utility functions you've written to supplement the rolls of string and ducttape you've used to hold your old system together, and you think "Are these really necessary?". One by one you capitulate and move them into your new system. Sure, they are now cleaner and more elegant, and they may even get actual comments and a dignified place in the namespace, but they still have the "Scotch" brand to them and it still hurts knowing that a good portion of your week will be spent translating Language A crud into Language B crud.
But I have to say that the number of lines of code I'm having to write in C# is going down an easy 30%. Nice.