Want to use a Sub Main other than the default in a VB.NET Windows.Forms project? Just declare a Shared Sub Main.

Shared Sub Main()

Not sure how I feel about using VB.NET, which is a "cultural requirement" in a current project. Been getting to the point that I wish I could use as few tools to get my work done than wishing to learn as many as possible, and C# fits in with my preference for Java right well. That said, it is nice to have VS.NET so "VB6-ified", as the best thing about VB6 has always been the IDE, esp. the GUI RAD. Even more, I suppose I should admit I enjoyed how easily I could do the same hack work VB6 encourages in VB.NET. Getting up to speed didn't take long at all, and the Windows.Forms GUI widgets, combined with the context help in VS.NET's status bars, etc, make up one of the nicest, most intuitive GUIs I've seen. For all I've said about #develop, VS.NET certainly puts it easily to shame -- which goes to show it's more than just the widget toolkit that makes for a positive experience.

Admittedly, VB.NET has all the power of C# or Java when it comes to developing things "correctly", with object oriented concepts I've been dying to use in VB6 -- particularly inheritance, free use of arbitrary objects as method parameters and return values, and interfaces. I'm certainly not compromising power, though things like the Module (which has no constructor, at least not by default) and other leftover VB crutches, which still retain a bit of momentum in VS.NET, really don't seem at home as part of the mix. Overall, however, it seems it'll do an admirable job of letting VB6 hackers comfortably rethread their heads from that hack of a langauge to the .NET CLR. Ultimately, I believe I'll enjoy the switch and be thankful that, at least at my day job, I don't have to try and coax the oft lamented Swing into service.