"Modern" I would not use for Dot.NEt in comparison with VFP. Dot.Net is just MS choice in fight to dominate on the market and get more money.
Well, in as far as .NET is a pure OO language (because it is IMHO based on the work Microsoft put into Java before Sun sued them and won) that makes it a relatively modern thing. I dont think there's anything particularly about VB.NET that promotes good programming practice, because VB6 typically wasnt the preserve of "hardcore" programmers and VBN's market appeal is based on the VB6 population so it includes backward compatibilties and legacy functions to make the transition from this procedural (VB6) language easier. For some, that's where the transition ends.
.NET also displays more modern notions of independence. Where java is one syntax that runs on a range of platforms, .NET is a range of syntaxes that run on one platform. BOth hence (as you state) can garner wide market appeal. If anything .NET is proving to be more flexible than its java roots, because not only are users creating other syntaxes (Cobol.NET, Ruby.NET) but users are trying to port it to other platforms (MONO) - Microsoft dont have to put any cash into this, and it serves to enhance their product.. Talk about win-win!
So, yeah, I'd say it was modern, in concept - this idea of hardware abstraction and syntax abstraction is a different perspective on the former ways we did things multi-platform (sourcecode and compile for target)
Maybe one day, someone will make a processor that runs IL (what all the .net syntaxes "compile" to) directly.. Would it be the first time that the language the chip operates in natively, existed before the chip did? Hmm...
Overcaming language limitations does not make me better programmer, but make me more experienced in this particular (only) language.
Looking at them another way; they arent limitations - they are just things that arent implemented in the way you like to do things (because they can either be done another way, or you can change the way you do things)
Ultimate flexibility doesnt necessarily confer ultimate power, as im sure you can appreciate. Hopefully your usage of .NET wont be a constant battle within you, trying to make it do things how you would have done in VFP.. Instead, look a little into the way the language and the users do things and try to find something youre happy with, that is a step apart from what you've accumulated to now..
On a side note, I watched Wife Swap last night. They took a city-born designer fashionista with an OCD for cleaning and fengshui, and swapped her with a farming wife from iowa, whose family ate a raw diet purely from their own farm, and didnt believe in cleaning chemicals , pesticides etc. As you can imagine, it's just asking for trouble, but the thing that amazed me most was that city wife spent most of her time telling the farmers that they were wrong. Both wives seemed to take very little away from the experience (though farm wife was a better adopter of "city" ways because she seemed slightly more open minded), and the city wife never once seemed to say "OK, well this life must work for them because they are actually still alive, slimmer and fitter than I am; it's wrong for me, but it's not wrong totally"
The other thing that astounded me was, when farm wife took city family to a farm, they balked at the idea of killing a chicken, saying "I dont want to kill a chicken; I want to go to the store and get chicken" - like a few other people I've known, they didnt seem to correlate the clucking creature in farmer wife's hands, with the packet of pink stuff they buy at the shops. In buying chicken from the shops they were somehow "not killing a chicken" and "being civilised"; I'd have loved for one of the presenters to ask them to think about how much of a state they'd be in if the farmers decided to stop producing chicken for the stores..
How does this fit into the current discussion? In a sort of "accept what the Dark Side do" kind of way. VBN and VFP are different, I'm sure. I never used VFP so I have no accurate comment, but I see VBN and VB6 as two worlds apart as far as city and farm. I started in java and C, went through VB6 and into .NET so its like going full circle, and at each step of the way I tried to pick up on the new language's best bits, and not worry too much about the bits I disagreed with..
Have a play, I'm sure youll gain experience, feel more confortable, and then consider that the extra experience DOES make you a better programmer.. Plus, your stricter grounding in (IMHO) more regimented languages will for sure make you a better-than-average programmer in .NET
Having "everything at the glance", not "dump all variables", make my work effective.
I'm sure VFP had something like a debugger, but if it didnt, then really get into .NET's debugger; Coupled with the structured error handling, it is very very good!
Again, thanks for your time and attention to this matter. You helped me to understand better where I am and what can be done.
No probs; as a community this place has one of the best "feels" ive experienced in a lot of years of forumming - we're here to help, debate etc.. Hope you enjoy this place as a valuable resource for a long time to come (I use it for help with all .NET languages, not just VBN - just make sure most your code samples are in VBN and they dont mind!)