Link to home
Start Free TrialLog in
Avatar of al4629740
al4629740Flag for United States of America

asked on

Where to start making a webpage in visual studio - Converting from VB6 app

What is the difference between ASP.NET Web Application Visual C# (.NET Framework) and ASP.NET Web Application(.NET Framework) Visual Basic when it comes to developing a web page.  I am trying to convert a desktop VB6 application and want to start off on the right ASP development page.  I am in the process of learning Visual Basic again.  

Also, I see a .NET Core version, so what exactly am I looking at as this can be quite confusing as to where I should begin?
Avatar of Darren
Darren
Flag of Ireland image

Hi,

If you are converting from an old desktop application to a ASP.NET applications then it may take a lot of redesign. You should probably be looking at converting to a .NET Windows Forms application (Desktop Application)

.Net Core does not include any client side libraries and so will not  be useful as such and is used mainly for running services and being able to run on Linux , Windows, etc..... ASP.NET Core is what you would be looking at for web application development but it will not be easy to port your desktop application to ASP.NET.

Personally I would convert it to C# instead of VB.NET

As I said I would convert to a .NET application and then see if there is anything to convert to a .NET Application so look for a VB6 to .NET Converter C# or VB.NET

Hope that helps...

Thanks,

Darren
While starting with .NET Core is a good idea in principle, in practise, it might be just way too much of the learning curve, I believe. Instead, you are better off starting with ASP.NET MVC as someone suggested you on another thread.

Personally, I believe that you are going to need a bit of (and that is an understatement!) hand-holding. I suggest first you try going through some tutorials / videos about ASP.NET MVC on YouTube or some other sources. I believe Microsoft Virtual Academy has video tutorials too.

Once again, as someone else suggested ASP.NET WebForms would be much easier for you to learn and convert your app to, it "isn't quite" natural to the web-development. And as such, in long run, you would be better off with ASP.NET MVC pattern.

You obviously need to spend some time for theory before get on to the practical. In fact, you should be writing some small applications which you should be throwing away afterwords, just to get the taste of it, before you start your real application.
Hi al4629740,

While I am myself a C# fan if you feel migrating to C# is challenging you don't need to switch. There are couple of disadvantages with VB.Net though, the code samples and examples - many a times are C# focused. As you start your journey in .Net you will see this. C# is a first citizen of .Net world so many new language features are first introduced in C# - which is ok unless you love to use the latest and greatest features in your app - Not necessarily that it will be beneficial in terms of meeting business requirements but sometimes it reduces the number of lines of code required, sometimes it reduces complexity of a particularly tricky code. Performance wise both are almost equal - C# will always be a little bit faster(which does not matter nowadays a lot unless you have millions of users hitting your site every hour - which again I am sure if was the case - you will not be asking this question here :) )

I have couple of question
1. Is this a proprietary code? is it possible for you to share the code here?
2. What kind of timelines you are looking at to complete this conversion?
3. Is your goal to learn .Net or it is develop this app?

Are there any other challenges you want to answer to when you are upgrading your app. I understand legacy app when people try to update, they tend to make it as it was used to be - in my eyes, analyze your requirements and then see if you can make it better for your end user and for yourself (Developer).

Regards,
Chinmay.
Please stop with the misconceptions.  While VB.NET may be more verbose and have some IDE enhancements that make life easier for the programmer, mostly anything you can do in C#, you can also do in VB.NET; and vice-versa.
Though C# and VB.NET are syntactically different, that is where the differences mostly end. Microsoft developed both of these languages to be part of the same .NET Framework development platform. They are both developed, managed, and supported by the same language development team at Microsoft.[8] They compile to the same intermediate language (IL), which runs against the same .NET Framework runtime libraries.[9] Although there are some differences in the programming constructs, their differences are primarily syntactic and, assuming one avoids the Visual Basic "Compatibility" libraries provided by Microsoft to aid conversion from Visual Basic 6, almost every command in VB has an equivalent command in C# and vice versa. Lastly, both languages reference the same Base Classes of the .NET Framework to extend their functionality. As a result, with few exceptions, a program written in either language can be run through a simple syntax converter to translate to the other. There are many open source and commercially available products for this task.

- Source
-saige-
@Chinmay Patel

C# will always be a little bit faster
I'd certainly like to see a reference on that claim.
Chinmay, or at least their source, is/are most likely referring to this:
By default, numeric operations are not checked. This results in slightly faster code, at the risk that numeric overflows will not be detected. However, the programmer can place arithmetic operations into a checked context to activate overflow checking. (It can be done in Visual Basic by checking an option)

- Source

-saige-
So by "slightly" I guess they mean microscopic  XD
Even smaller than Microscopic maybe Electron Microscopic ... :D... take a chill pill :)... The day when VB.Net will be able to be at par C# or go beyond, I will be the one throwing a grand party - unfortunately that day has not come in last 18 years.
Avatar of al4629740

ASKER

At the end of the day, it seems from this lively discussion that the difference is negligible since it’s arguable....
ASKER CERTIFIED SOLUTION
Avatar of kaufmed
kaufmed
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
OK, I got some assistance from on high. So there aren't "far more VB.NET questions than there are C# questions," but the numbers are very close (with C# being ahead by just a couple of hundred).
Perhaps it makes more sense since I have a VB6 familiarity that I should probably stick with VB.net
Just to go back to my original question.  The difference in the ASP webpage really is in the code I choose.  Also, I didn't really get clarity on what .NET Core is and whether this is something I should be learning instead.

You see I simply want to make sure that I'm not having to learn something that is in decline so if .NET Core is the latest and greatest, please let me know or why someone would choose this rather than the regular .NET languages.  Perhaps I have no idea what I'm talking about.

Thanks for your clarification in any of this.
.NET Core is technically the latest and greatest. Microsoft sums it up nicely. Just be aware that not everything that exists in .NET proper will exist in .NET Core--either because it hasn't been implemented yet, or the Core team doesn't think it should be implemented. You could run into issues where you see online an example of how to do something, and it only works in .NET proper and not Core. In such cases, there is most likely a different solution to the problem in Core.
Is there a big difference between the two in terms of learning? What if I start with vb.net proper ?
Concepts are the same.  Language quirks are the same.  The only difference is core library support, meaning that one library may be available in .NET Framework but not in .NET Core; and vice versa.  Other things could potentially be moved around or in different namespaces.

-saige-
Hi al4629740,

I think you should start with VB.Net and you should yourself spend some quality time at least trying to get some high level idea of Webforms vs MVC. And if you feel that you are more comfortable with Webforms (Which I think you will) you should by all means go with it.

@Kaufmed,
Check out the Developer Survey of last many years of the one which shall not be named ;)
C# 34%
Vb.Net 6.7%
VBA 4.9%

and VB6 even doesn't make it to the list. :D

Regards,
Chinmay.