I played with Visual Studio as a kid and made a few programs, then stopped for a decade. I want to get back into it as a hobbyist.
In the intervening time, Microsoft released the .NET framework. As far as I can tell, it’s a fancy collection of APIs and a runtime environment that can be used with a variety of languages and across a variety of devices.
That’s all fine and good, but I only want to write very simple apps for desktop Windows, and the .NET end-user runtime seems to be 50 MB+, whereas the apps I’m envisioning would be hard pressed to exceed a few megabytes.
Is there a better choice? Back when I was a kid, it seemed like you could compile simple .exes that worked with just the basic Windows APIs, including a few .DLLs only if absolutely needed. Is this still possible, or is .NET just the standard way of dong things nowadays – and if so, is it reasonable to assume most people already have the runtime?
The .NET frameworks are installed 1 per version on a computer. Meaning, you can write 25 .NET framework 4.5 apps and your end user only needs one copy of the framework installed.
If you are looking to get into .NET programming, I would suggest that you consider upgrading from VB into C#. You can do many of the same things in VB.NET as you can in C#, but there are more examples in C# since it is the .NET industry standard.
I have done both VB.NET development and C# and never having to type Dim again is well worth having to use semi-colons to end statements.
If you are building a Windows Form app and use the Click-Once deployment strategy, you can set bootstrapping options, including the installation of the required .NET Framework if it doesn’t exist on target computers. Meaning your customers/users don’t need to know how to download the framework, just that the very first time they run the app it will take longer to start.
Couldn’t tell you, my experience with Click-Once is within my IE only enterprise…
There are a billion forums and websites, however two sites get the majority of my attention; CodeProject.com for tutorials, examples, etc. and StackOverflow.com as a great resource for help. I haven’t actually posted a question at SO but have found dozens of solutions there.
ClickOnce might or might not work on Firefox. I seem to remember Microsoft being criticized for being a bit sneaky when there was a Windows update that sort of secretly installed a Firefox add-on that made ClickOnce work with Firefox. I don’t know the state of that now and what happens if you install FF on a new system. It probably doesn’t work with Chrome.
We use ClickOnce where I work and I tell people to use I.E. to install with. After that it doesn’t depend on I.E. because it installs a desktop icon that will automatically update the app when it’s started if the released version on the server has changed.
.NET is certainly still going strong. C# is a great language. Despite the semi official line that C# and VB.NET are equals, C# is clearly looked upon as the most professional language. I don’t hear much about VB.NET these days.
I picked up VS Express and I have access to VS Professional through DreamSpark, so the software’s good to go. Visual Studio is even better than I remembered it… say what you will about Microsoft, but I really love this IDE.
I’ve done VB, C++, PHP and Perl before, but C# is still new to me. And I forgot everything I learned about OOP – not that it was ever clearly explained to me in the first place.
Any good recommendations for a book or resource for learning C#.NET as a returning programmer?
IMO, although it is a slightly bigger learning curve, you might want to go with WPF. I have heard rumors that winforms is going away. (Although, to be fair, I hear those kinds of rumor all the time and you never really know if MS will phase out something until they do.) Still, once I embraced WPF I really liked it.