Migrating VB6 applications to .NET?
-
>
Quote:
Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money
Well, do it right the first time, or you will spend more time and more money to do the rewrite of the rewrite, or worse, the rewrite of the converted mess. Speaking from personal experience.....
Haha spoken as if OP has the power to make the decision between "Do it right" and "Do it right now". OP says VB6 dev is retiring. Therefore, there is a clock on the project and handoff. I suspect the decision makers will be more likely to take the straightest path, not necessarily the wisest path. I guess if I were involved, I would want it to be clear on whether this is purely a lift and shift migration project or a modernization project.
-
What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
It's almost undoubtedly true that this code needs to be updated from an architectural standpoint as well. No disrespect to the soon-to-be retiree. I've been in a situation where the code was crap, but nobody on the business side could explain how it was supposed to work. Thus, reworking it was more of, "well, good luck, hope you figure it out." Hope you're not in that situation, Sander.
-
I have done this before, and how well it goes depends a lot on how good an engineer the person doing the conversion is. Put enough time and planning into the design you want to go to. Use value engineering to determine what has the most value in the conversion process. Don’t just replicate how the business rules are implemented. Migrate them using newer features where there is value in doing so. The more the VB code used OO techniques (available in VB4 - VB6), the easier your job will be. Don’t try to replicate VB procedural programming design in C#. Are your users desktop or browser? Determine the relative SDLC costs between WinForms and Blazor. Development time is less and performance is better with WinForms than any web-based GUI, but deployment costs may be higher. If you choose a web-based GUI, go with Blazor, not the Javascript-based approach. You’ll have less development time, better performance, and fewer headaches. Don’t farm out the work to consultants, H1-B developers, or offshore developers. The end result will need a lot of repair and be more expensive to maintain. Make sure to use someone in-house who is experienced in VB6 and in C#/.NET. A successful port will depend on deeply understanding both. One last thing - VB6 can host C# DLLs, including user controls for the VB6 GUI, all written in pure C#, using COM Interop. I did this a while back and it works beautifully if the developer understands both C# COM Interop and how VB6 recognizes classes, interfaces, and events. That allowed us to migrate the app from VB6 to fully C# piece by piece, without wasted code. Best of luck to you!
The engineer will be me and possibly an employee. Best of the best, top notch, outstanding, brilliant, and the employee ;p
MSBassSinger wrote:
The more the VB code used OO techniques (available in VB4 - VB6)
None whatsoever, the original programmer is known to use hidden controls to hold values because variables are too difficult :((
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
We had to do what you have to do big time. But with todays knowledge, I would like to encourage you questioning not only VB.Net vs C#. Depending on the charactor of the application, having a Web Application might be worth thinking about. You may want to have a look at JMIX which is a Java Framework on top of Spring Boot which gives you almost the easy of good old VB6. It gifts you with all the typical features of a modern application and the sample apps they offer could be a good starting point for modifying them to cover the functionality you need. No, I am not getting paid by those folks :-) ... and I am still a strong supporter of VB (adopted it starting at Version 1.0). But now I heavily rely on JMIX and Windows getting independent from operating systems.
It's not going to be Java.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
You are better off leaving the existing application as VB6 and just do the change to the database layer, VB6 still works perfectly and will continue to do so for a long time. Then just develop new features in .net when required. We spent about 5 man years converting one of our applications to VB.Net and now its just as (not)supported by Microsoft as VB6.
Member 15966771 wrote:
VB6 still works perfectly and will continue to do so for a long time.
It works, but that's all you can say about it. Development and installation are a pain compared to modern solutions. There also aren't too many developers who are willing to maintain and develop old VB6 applications, especially this one. Besides, it works because it works for as long as it works. If Microsoft pulls the plug, which they officially did in 2008, 15(!) years ago, this company can file for bankruptcy.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
It's almost undoubtedly true that this code needs to be updated from an architectural standpoint as well. No disrespect to the soon-to-be retiree. I've been in a situation where the code was crap, but nobody on the business side could explain how it was supposed to work. Thus, reworking it was more of, "well, good luck, hope you figure it out." Hope you're not in that situation, Sander.
Undoubtedly, this programmer is known to use hidden controls to hold values because variables are too difficult :((
agolddog wrote:
Thus, reworking it was more of, "well, good luck, hope you figure it out." Hope you're not in that situation, Sander.
I hope so too! :omg:
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
The problem is VB.NET is your target. VB.NET is not getting any new features. There was a time when MS said they were developing VB.NET and C# side-by-side, with the same features between the two. That has since been killed. VB.NET is going to "wither on the vine" without new features. I'm going to say your best bet is to rewrite from scratch in C# instead.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
Dave KreskowiakYeah, my preference is .NET web application if possible. For desktop apps either Uno or .NET MAUI. All in C#, of course. I used to be fluent in VB.NET, but use it or lose it, and I'm not using it a lot anymore. Of course the client gets to have a say in this too :sigh:
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
The company I work for has a large VB6 code base. I am the project lead for updating the main application to .NET 6 WPF/MVVM. In the span of about an year, one other developer and me have migrated about 75% of the old application. I would definitely stay away from the automatic converter tools. While they do work, you will be left with the same mess of an application that you originally inherited. Now is the time to use modern design principals to develop a testable and extensible application. Not to mention multiple threads! We also made the decision to keep the same look and feel as the VB6 application. Users have 20+ years of experience with the VB6 application, so giving them something completely new that works differently was met with major objections. Instead of thinking "Run", think I have the opportunity to build something from scratch using a better architecture and use cutting edge technology. That sounds like a lot of fun to me.
-
The company I work for has a large VB6 code base. I am the project lead for updating the main application to .NET 6 WPF/MVVM. In the span of about an year, one other developer and me have migrated about 75% of the old application. I would definitely stay away from the automatic converter tools. While they do work, you will be left with the same mess of an application that you originally inherited. Now is the time to use modern design principals to develop a testable and extensible application. Not to mention multiple threads! We also made the decision to keep the same look and feel as the VB6 application. Users have 20+ years of experience with the VB6 application, so giving them something completely new that works differently was met with major objections. Instead of thinking "Run", think I have the opportunity to build something from scratch using a better architecture and use cutting edge technology. That sounds like a lot of fun to me.
Tyler Evensen wrote:
Instead of thinking "Run", think I have the opportunity to build something from scratch using a better architecture and use cutting edge technology. That sounds like a lot of fun to me.
Yeah, my thoughts exactly. These are not easy jobs, but they can be quite fulfilling. We plan to keep the UI more-or-less the same, but to give it a more modern look and feel. No big overhauls there anyway. Hopefully the client will say the same.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
I migrate VB6 to VB.net and C#. It isn't as difficult as you think. Feel free to contact me by email.
ed
Slow Eddie wrote:
Feel free to contact me by email.
How?
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
The problem is VB.NET is your target. VB.NET is not getting any new features. There was a time when MS said they were developing VB.NET and C# side-by-side, with the same features between the two. That has since been killed. VB.NET is going to "wither on the vine" without new features. I'm going to say your best bet is to rewrite from scratch in C# instead.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
Dave KreskowiakThe belief that MS is eventually going to kill off VB.Net is incorrect - but only because one person in MS said something incredibly misleading like, "We are no longer going to co-evolve VB.Net and C#." The reality is that wherever VB.Net and C# are both language choices, MS will update both languages if a new substantive feature is added (except for .NET Framework 4.8). But if MS introduces something completely new, then C# will be the only language available. My thinking is that MS decided that, long term, they don't want to spend resources supporting two languages in every new 'platform' going forward forever. Minimizing duplicate work is a good business decision, and I think that C# was the 'winner' only due to perceived popularity. That decision would have been made several years ago. The March 2023 TIOBE score rated VB.Net as the 6th most popular language, where C# is ranked 5th. In 2018 VB.Net was ranked 15th and C# was ranked 5th. C# has not moved in rank but VB.Net has moved up by 10 ranks. Hmmm - did MS really make the right choice? I think not. See this site: TIOBE Index - TIOBE[^] Also, they use 'Visual Basic' for 'VB.Net' - you can read TIOBE's description of why they do this. I am a VB.Net developer in WinForms. From what I can see - VB.Net is a better language. Not because one language allows for a better user experience - but because it allows for a better developer experience. The syntax is simpler, there's no need to type a semicolon at the end of every line of code, and there are no braces. Also, VB.Net does respect character capitalization in variables - a possible opportunity for error in C#. Does everyone remember KISS? VB.Net = KISS. All other things being equal you can finish an application faster using VB.Net than using C#. Anyone have customers? Customers will call you back for their next project if you can deliver faster. Have wallet? - Need customers! Both languages compile to the .NET Runtime. They are actually so similar 'under the covers' that you can get an extension in Visual Studio to quickly convert from one language to the other. So why keep using the more difficult and time-consuming language? Also, using .NET Framework 4.8 is a good choice for a long-term business app that needs solid stability and little maintenance. MS has stated, "As long as there is a Windows OS, there will be a .NET Framework 4.8." The
-
The problem is VB.NET is your target. VB.NET is not getting any new features. There was a time when MS said they were developing VB.NET and C# side-by-side, with the same features between the two. That has since been killed. VB.NET is going to "wither on the vine" without new features. I'm going to say your best bet is to rewrite from scratch in C# instead.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
Dave KreskowiakThe belief that MS is eventually going to kill off VB.Net is incorrect - but only because one person in MS said something incredibly misleading like, "We are no longer going to co-evolve VB.Net and C#." The reality is that wherever VB.Net and C# are both language choices, MS will update both languages if a new substantive feature is added (except for .NET Framework 4.8). But if MS introduces something completely new, then C# will be the only language available. My thinking is that MS decided that, long term, they don't want to spend resources supporting two languages in every new 'platform' going forward forever. Minimizing duplicate work is a good business decision, and I think that C# was the 'winner' only due to perceived popularity. That decision would have been made several years ago. The March 2023 TIOBE score rated VB.Net as the 6th most popular language, where C# is ranked 5th. In 2018 VB.Net was ranked 15th and C# was ranked 5th. C# has not moved in rank but VB.Net has moved up by 10 ranks. Hmmm - did MS really make the right choice? I think not. See this site: TIOBE Index - TIOBE[^] Also, they use 'Visual Basic' for 'VB.Net' - you can read TIOBE's description of why they do this. I am a VB.Net developer in WinForms. From what I can see - VB.Net is a better language. Not because one language allows for a better user experience - but because it allows for a better developer experience. The syntax is simpler, there's no need to type a semicolon at the end of every line of code, and there are no braces. Also, VB.Net does respect character capitalization in variables - a possible opportunity for error in C#. Does everyone remember KISS? VB.Net = KISS. All other things being equal you can finish an application faster using VB.Net than using C#. Anyone have customers? Customers will call you back for their next project if you can deliver faster. Have wallet? - Need customers! Both languages compile to the .NET Runtime. They are actually so similar 'under the covers' that you can get an extension in Visual Studio to quickly convert from one language to the other. So why keep using the more difficult and time-consuming language? Also, using .NET Framework 4.8 is a good choice for a long-term business app that needs solid stability and little maintenance. MS has stated, "As long as there is a Windows OS, there will be a .NET Framework 4.8." The
-
What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
Having written and rewritten many programs in the last 35 years I can honestly say that without looking at the way you code I can't tell if the converters will work or not. Even current converters like Telrik have issues converting C# to VB.NET have issues. The one thing that is 100% certain is this. If you review what you used to do and compare it to what you can now do you will probably get rid of a large portion of old code that is no longer needed. If you worked in VB6 before .net and then you opened, closed, parsed files the old fashioned way either in binary or text. You can now ditch nearly all of that code lets face appending a line of text to a file used to take 10 lines of code now, 1 maybe 2? Splitting and parsing lines are now inherent, so is mid$ (now substring) and there are lots of new features to just the string object. vb6 had Drag and Drop nightmares .NET a breeze. My point is the GUID may or may not change but the majority of code behind it probably won't take long to deal with side by side. If you run a conversion and it fails then you have to discover and repair code you didn't write and that sucks. I rewrote a utility yesterday because it was built in 2001 and updated, but not rewritten in 2003. I opened the old code on one side the new on the other and reviewed it. The classes I had written had very few issues and with a few minor modifications those were done in less than a 1/2 hour. The rest of the time I spent dumping old code I no longer need and, I added a barcode class I had built about 5 years ago. In short I have a new tool that is 10 times faster, more capable and easier to use for the users. I would say if you have a conversation system you can test it but then look at the code. If you don't understand it, rewrite it. If it fails, rewrite it....or just rewrite it. And don't believe those that say VB.NET is going away soon. They have said that for 15 years and it is more common than you know. The old man in Illinois
-
Dude, all I said was moving to VB.NET isn't really a good choice because of its limited lifetime. If a conversion to .NET (anything) was going to happen, a more appropriate target would be C#.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
Dave KreskowiakThere is no doubt that C# is a solid move, provided that is in your skillset. If not vb.net is not going away as fast as everyone says. It was supposed to be gone in 2010,2015, 2019, 2022 and there are still MANY that use it. I have a friend who converted all of his work to C# and started his own business and nearly all the work he does is vb.net, not conversions. just vb. So until everyone makes the switch it will exist and probably till the end of my lifetime.
-
What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
Sander I have a copy of VB 6.0 Professional Edition + Library on CD IF needed which I doubt! Also two great books "The Waite Groups VB 6 Interactive Course" and Murach's VB 6 You are welcome to all FREE. Challenges and Work. Work pays the bills. Challenges can be fun but seem to create bills. When you have time lets us know about the progress it will thoroughly enjoyed by many.
-
The problem is VB.NET is your target. VB.NET is not getting any new features. There was a time when MS said they were developing VB.NET and C# side-by-side, with the same features between the two. That has since been killed. VB.NET is going to "wither on the vine" without new features. I'm going to say your best bet is to rewrite from scratch in C# instead.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
Dave KreskowiakBack in 2003, when I was first learning C#, an instructor said that Microsoft was going with VB.net for future improvements and that C# would not last long. Similarly: In 2012, Microsoft said that OLEDB was dead and there would not be future versions. Then in 2018 they admitted that OLEDB was too important die and they released a new version -- as I knew they would. I find it best to ignore any prognostication.
-
What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
I'm doing that right now. I got hired to fix some VB6 stuff and then write a connected app in webforms .net. After that they kept me on to do support and maintenance. As time allows, I re-write the VB6 to vb.net. Anything new is vb.net. In a couple of instances I needed some of the VB6 functionality in vb.net to do some quick and dirty work. I copied the VB6 to a vb.net module and just went through line by line to make it compile in vb.net. It was surprisingly easy. I'd not recommend that for anything that is going to be maintained long term, but it might get you "over the hump" while port/re-write. Someone else posted link her the tools and instructions to get VB6 to work on Windows 10. It actually works pretty well! Also the are a couple of project underway to build IDEs and compilers for VB6. Twin BASIC looks pretty impressive. Here is a link to learn more: https://www.vbforums.com/showthread.php?890181-TwinBasic[^] Good luck. PS: Ask for a raise. They going have a tough time finding some who wants that job!
-
What the title says. For most people this (hopefully) happened some twenty years ago, but I'm going to inherit a lot of VB6 applications, some even still work with a dBase database. The programmer is going into retirement and this (reasonably large) company needs someone to take care of their software. Our (and their) first priority is getting off of dBase, the current programmer already started working on that. Next we'll need to move VB6 to .NET (Framework, probably). I know there used to be converter tools around, but I've heard bad things about them. They're usually not worth the effort. Ideally, I'd rather just rewrite everything to web-based and cloud-ready .NET 6 applications, but I don't think we'll have the time nor money. Any tips (other than "RUN!")?
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
Had to do this a few years ago and ended up using VS 2005 to convert the code. It worked pretty well - even handled the many control arrays. The biggest problem was none of the custom controls we purchased would convert (or even install), so a lot of the GUI had to be rebuilt.
-
Is VB.NET the target? The OP isn't clear regarding that, although his statement can be taken that way. The wording indicates .NET Framework, not a newer version. That said, I agree, C# is a better choice for the reasons you stated. At the time, VB.NET was a panacea for the extensive VB community, but as time has passed, so has the need for VB.NET, and MS has done less and less with it. I'd target Framework 4.8.1 instead of a CORE release. Why? Lifecycle. Framework has a lifespan as long as Windows contains it, which is 2029 for Win10, and I'm haven't checked for Win11. Even versions (v6, v8) of CORE have a 3 year lifespan, while odd versions (v7) have an 18 month lifespan. That places an excessive burden on IT to update applications for which there is no business reason to update.
Agreed. I've got a bunch of tools I've written over the last 15 years and I'm torn on either using 4.8.1 or .NET 8.0 for the lifetime. It's entirely possible that .NET is going to outlast .NET Framework and the tools I'm involved with can be used for 20+ years, some of them are over 15 years old now. It would be nice if MS slowed the pace down a bit so the real word can catch up.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
Dave Kreskowiak -
The belief that MS is eventually going to kill off VB.Net is incorrect - but only because one person in MS said something incredibly misleading like, "We are no longer going to co-evolve VB.Net and C#." The reality is that wherever VB.Net and C# are both language choices, MS will update both languages if a new substantive feature is added (except for .NET Framework 4.8). But if MS introduces something completely new, then C# will be the only language available. My thinking is that MS decided that, long term, they don't want to spend resources supporting two languages in every new 'platform' going forward forever. Minimizing duplicate work is a good business decision, and I think that C# was the 'winner' only due to perceived popularity. That decision would have been made several years ago. The March 2023 TIOBE score rated VB.Net as the 6th most popular language, where C# is ranked 5th. In 2018 VB.Net was ranked 15th and C# was ranked 5th. C# has not moved in rank but VB.Net has moved up by 10 ranks. Hmmm - did MS really make the right choice? I think not. See this site: TIOBE Index - TIOBE[^] Also, they use 'Visual Basic' for 'VB.Net' - you can read TIOBE's description of why they do this. I am a VB.Net developer in WinForms. From what I can see - VB.Net is a better language. Not because one language allows for a better user experience - but because it allows for a better developer experience. The syntax is simpler, there's no need to type a semicolon at the end of every line of code, and there are no braces. Also, VB.Net does respect character capitalization in variables - a possible opportunity for error in C#. Does everyone remember KISS? VB.Net = KISS. All other things being equal you can finish an application faster using VB.Net than using C#. Anyone have customers? Customers will call you back for their next project if you can deliver faster. Have wallet? - Need customers! Both languages compile to the .NET Runtime. They are actually so similar 'under the covers' that you can get an extension in Visual Studio to quickly convert from one language to the other. So why keep using the more difficult and time-consuming language? Also, using .NET Framework 4.8 is a good choice for a long-term business app that needs solid stability and little maintenance. MS has stated, "As long as there is a Windows OS, there will be a .NET Framework 4.8." The
I came from a huge background in BASIC, from weird varieties in 1979 all the way through modern day VB.NET. The switch to C# wasn't difficult at all. The only thing I hate about VB compared to C# is the verbosity. Less typing in C#, even with the semi-colons, to me, equals more readable, and a quicker read of code. The point you made in your post as a VB.NET guy, to me anyway, is the MS flip-flopping on the future of VB.NET over the years has put a slightly darker cloud over it, even if it is supported 'til the end of my lifetime. I don't hear any of that kind of talk coming from anyone as MS at all when it comes to C#. You may find C# more difficult, but not everyone does. I guess it depends on your background. Alongside the VB background, I also dig around in various flavors of assembly, C/C++, COBOL, javascript (yuk!), and others, so curly braces and sparce or esoteric syntax doesn't bother me at all. I get paid by the app, not the character count, and I can bang out an app just as fast.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles.
Dave Kreskowiak