I'm liking C# Express more every day. Personal insights from a notepad warrior...

If you've followed my recent web-casts you'll see that the samples and demos are in C# Express. Now, for those that know me long term, I'm a notepad warrior and there is nothing stopping it. You can take the Developer out of the Notepad but you can't take the Notepad out of the Developer. Some notepad exploits for good measure include a very large percentage of the .NET V1 QuickStart Tutorials Samples, all of the internal testing infrastructure for those samples, all of those little helper controls like the source viewer, a good portion of the ASP .NET V1 Forums system, quite a few interesting sections on both asp.net and windowsforms.net. So why in the hell would I stop writing in notepad?

I'll start by saying why I write in notepad (or rather I'm generalizing I tend to use TextPad). I write best in lime and green irregardless of whether or not I have contextual syntax highlighting available. Just can't get around that. I will say working on the laptop with the soft LCD screen has improved my usage of other color schemes. Text editors come up fast, save fast, go away fast, search fast. Everything is fast! They easily launch from the command line and don't take half an hour. Batch files are project systems to you know, and I can write a batch file faster than I can navigate most of the build options menus. So I like the command line as well. I type about 120 words per minute on a good day. Now I will say that I can't sustain that rate for very long, but thankfully development is a series of burps and hickups of code between intense design thought. Text editors let me pump out the extremely large number of code lines that I've grown used to, and visual editors such as the previous VS tend to slow my process down.

Now, C# Express might just replace this entire thought pattern for me. The Intellisense is actually useful, the refactoring is actually useful, the designer is actually useful. I timed myself doing some common tasks and in some cases I kick my own text editor ass when using C# Express. Most of this comes down to the R&I's (refactoring and intellisense), and their ability to aid in typing well named classes, enumerations, and methods that would otherwise be a chore. They truly enable event programming with two tabs after the += automatically generating a hook-up and stubbed out method for you. The same goes for overriding base methods, they autogenerate the stuff for you.

The ability to regionalize code and use various expansions is alright. I will say that the 20 or so code snippets I've added to my expansions list is much more useful than the default ones, to the point that I've deleted all of the default expansions from my snips list and added my own so I can access them more quickly. I hope snippets becomes parts of a project, rather than the environment you are working in so you can ship them around easier (hint Dan ;-). Something like the Terrarium could ship a base project with 30 or so expansions for common tasks that would really enable users.

That means a big Yes! for me on this tool. I'm finally use something other than a text-editor for development of select applications. All of my testing is still going to be done at the command line for sure and I'd love to see some real developer tools added to the IDE in terms of showing me the IL for particular methods, etc.. These are the things I use the command line for and integrate into a text editor, that still don't work in C# Express. That is fine, you should never use just one tool. Dan said something in his web-cast about this product marketing in the tens of dollars. Now that sounds pretty nice. I've recently contacted a number of friends and the metric I seem to get is $25 bucks or less being a great price. Common developer outlets ship full versions of Visual C# 2003 for less than 50 bucks at times, so you really have to price a light version of the product below these metrics. Anyway, go check out Dan's web-cast, he did a really great job showing of VC# Express features. One thing to note is that he fades out at times so have your speakers kind of loud. The entire talk is in the designer, and he focuses on the data features quite a bit. I'd really love to do something collaborative with Dan on this, because I've actually used the data designer features for some pretty neat applications and I think seeing the power of generating a full application using the data features would make for a great web-cast.

Visual C# Express 2005 Series 1 of 3: Introduction - http://go.microsoft.com/fwlink/?LinkId=31151

Published Saturday, July 17, 2004 3:23 PM by Justin Rogers
Filed under: ,

Comments

Monday, July 19, 2004 1:55 PM by jaybaz [MS]

# re: I'm liking C# Express more every day. Personal insights from a notepad warrior...

Hey Justin,

I'm from the team that makes the C# expansions feature, so I was interested when I read "I've deleted all of the default expansions from my snips list and added my own".

I'm curious what snippets you added. Perhaps you have some suggestions of a few that we should ship with Whidbey?

BTW, thanks for all the great feedback. Please keep it coming.
Monday, July 19, 2004 5:32 PM by Justin Rogers

# re: I'm liking C# Express more every day. Personal insights from a notepad warrior...

Ah, the expansions list is based around common programming features from a code perspective, but isn't geared towards the features that a user winds up programming. Some common expansions I added have been:

1. Default IO Loops - About ten or so IO loops that I use very frequently when working network and file based IO.
2. N-Tier deep looping constructs - I added about 15 looping constructs so far, but three of these are just 1, 2, and 3 level deep looping. The 1 was already done of course. Other for loops include the shortcut loop, the not null while, the value type while, etc...
3. Various Surroundings - I often place debug code, assertions, or test loops around code and so a series just for this purpose was added. Again, most of these are to my style so if you head back through my numerous code postings you'll find some of my test work and realize the repetitive nature involved.
4. Common control initializations - Toss in some basic layouts. I joked with Dan about UI refactoring, however, it wasn't all that much of a joke. I have some Windows Forms based snips that help working with the designer generated file.

I notice there is a lot of power in the snips and expansions format. If you want to contact me privately I'd love to get more information on the functions available. A spec or something on the feature set maybe? Currently I'm just poking in the dark with the possible power.
Wednesday, August 11, 2004 4:41 PM by William Stacey

# re: I'm liking C# Express more every day. Personal insights from a notepad warrior...

If you get a chance. Maybe you post some on using DataConnectors and Object bindings in Forms and Master/Detail, etc. Cheers!
--
wjs, mvp

Leave a Comment

(required) 
(required) 
(optional)
(required)