-
How soon may I have to give up VB.net (and VB6)?
Sorry if this is not a relevant question, but a serious issue for me. I would like some advice from people who have worked with programming for a long time.
1, I have a fair amount of engineering calculation software (lot of plots and matrix operations) in VB6 and have managed to convert two of them to VB.net. I think I am yet to see any significant benefits from this. Was this necessary? What did I gain?
2, And I am hearing from others that VB.net will soon be obsolete and I will be forced to switch over to Python or C# or something (not Java, hopefully). This will be a big task, but if I have to leave VB.net within 5 years, I should not convert the rest of my software to VB.net but take the pains to learn Python or C# and slowly start converting the old VB3 (mostly recompiled in VB6) code. Any advice on what the future should be for engineering calculation programming?
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
VisualBeginner.NET
Sorry if this is not a relevant question, but a serious issue for me. I would like some advice from people who have worked with programming for a long time.
1, I have a fair amount of engineering calculation software (lot of plots and matrix operations) in VB6 and have managed to convert two of them to VB.net. I think I am yet to see any significant benefits from this. Was this necessary? What did I gain?
According to the official Microsoft position:
Quote:
The Visual Basic team is committed to "It Just Works" compatibility for Visual Basic 6.0 applications on the following supported Windows operating systems:
- Windows 10
- Windows 8.1
- Windows 7
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 including R2
- Windows Server 2008 including R2
So now you're working in a language that is actively being maintained and can easily be distributed to most everyday people. If you wanted to rewrite some of your code, then you would also gain pure OOP patterns, anonymous functions, and asynchronous/parallel programming.
Quote:
Originally Posted by
VisualBeginner.NET
2, And I am hearing from others that VB.net will soon be obsolete and I will be forced to switch over to Python or C# or something (not Java, hopefully). This will be a big task, but if I have to leave VB.net within 5 years, I should not convert the rest of my software to VB.net but take the pains to learn Python or C# and slowly start converting the old VB3 (mostly recompiled in VB6) code. Any advice on what the future should be for engineering calculation programming?
You will need to make this judgement call. Microsoft hasn't released anything, but at the same time they are adding new features to C# that is not included in VB.NET so take that for what it is. I personally think that the traditional desktop applications are a dying breed and so I switched to web focusing on mobile first development. Several years ago this was mostly jQuery but as of today jQuery seems to be out of favor and I'm doing more Angular. However, at the same time, I still get contract jobs that require desktop applications and I still use Visual Basic .NET.
If you want my advice, don't put all your eggs in one basket and never stop learning.
-
Re: How soon may I have to give up VB.net (and VB6)?
@dday9 - I still use (and like) jQuery...
What do you find different / better about Angular?
TIA!
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
szlamany
@dday9 - I still use (and like) jQuery...
What do you find different / better about Angular?
TIA!
I still use jQuery on some projects and I personally like it. My point was that the clients I work with in recent years have been requesting Angular more and more.
-
Re: How soon may I have to give up VB.net (and VB6)?
For the first question: VB6 applications still work fine, but the IDE is now problematic. The language has been out of maintenance for over 15 years, by now. Finding a legal copy of VB6 is difficult, potentially expensive, but certainly not impossible. Getting the IDE to run on Windows 10 is difficult, but entirely possible.
Do any of those factors mean that you HAVE to change languages? No, probably not, but they might suggest that you do. It all comes down to how important you feel those points are for what you are doing. If you don't think they matter to you, then there is no fundamental need to move away from VB6. If you think those points matter, then you will certainly need to move away from VB6. Various people prefer various languages, but it's just personal preference. However, you should also be aware that there are people who are VERY adamant in their views about the superiority of one language or another, and/or are very strident in their views. Don't listen too closely to anybody who says that you MUST do one thing or another. We're all just guessing as to what the future holds.
Personally, I believe that VB.NET will be around for a VERY long time. What MS has said is essentially just that. The people who say that it is being abandoned are basing it on interpreting the statements and actions of MS. There has been no clear statement that VB will be abandoned, and some explicit statements that it will NOT be abandoned. However, it is as DDay has said: There are features being added to C#, while MS has stated that VB will change more slowly and won't be receiving some of the changes that C# is receiving. Personally, this doesn't bother me a bit, because the vast majority of the changes they are bringing to C# are fundamentally worthless. By worthless, I mean that they don't allow you to do anything that you couldn't already do, they are just giving you more ways to do the same thing using different mechanisms. Those new mechanisms are not necessarily better in any way, and sometimes are worse. It's almost like MS is trying to make the language do what you mean, not what you say: Whatever misguided construct you come up with will do SOMETHING, and might even do what you want. Some others seem like they are about allowing you to write one line that does what four lines did before, even though the one line runs a bit slower. That's a trade-off that is a whole lot more complicated than my simple statement makes it appear, so it may be justified. Still, it isn't strictly necessary, and whether or not it is even beneficial is a matter for debate.
Furthermore, .NET is .NET. I do think it is good to be able to read C#, whether you write in it or not. However, if you write in VB, you can work with C#. For example, you could write dlls in VB.NET and call them, debug them, and so on, from a C# project. If taken to the extreme, you can write your entire program as a VB dll and reference it from a C# project where the C# project may be nothing more than a method that calls a method in the dll. I'm not sure that you could make the C# project as small as three lines of code, but you should be able to get pretty close to that. For that reason, VB.NET will be viable for decades, even if MS were to abandon it tomorrow. The only way it would not be viable is if Windows ceased to exist, and that seems unlikely.
Still, the bottom line is this: Everybody is guessing about the future. There is a strong bias favoring catastrophic predictions. For example, the sun will come up tomorrow, but people don't make big announcements about that. The big announcement would be if it were to NOT come up tomorrow. Computer languages are no different. None of us knows what will happen, and people who want to predict get a whole lot more traction predicting doom.
One other point is that those who predict doom when it comes to computers are right. It is now the early 2020's. If you wrote programs just twenty years back, you wrote in different languages for different hardware with RADICALLY different constraints. This industry is changing VERY fast relative to anything we are familiar with, and it always has been. If you are anxious about change, get out of computing, because the one thing we can say with absolute certainty is this: Whatever choice you make, you will be wrong...given enough time.
-
Re: How soon may I have to give up VB.net (and VB6)?
I'm not a fan of Angular. It feels like the flavor of the day, to me. JQuery may not be the future, but I really doubt that Angular is, either.
-
Re: How soon may I have to give up VB.net (and VB6)?
For your VB6 code you need to be aware of twinBASIC.
This is a VB6 compatible language currently under development. It offers 64 bit compilation and cross platform support. It uses the Visual Studio Code IDE.
Even though it is still in development, many users are finding you can copy VB6 code to twinBASIC and have it work first time.
There is a Preview version available for download.
https://twinbasic.com/
Here is the development roadmap: https://github.com/WaynePhillipsEA/twinbasic/issues/335
There is further discussion here in the forum: https://www.vbforums.com/showthread....0181-TwinBasic
-
Re: How soon may I have to give up VB.net (and VB6)?
On the question How soon may I have to give up VB.net (and VB6)?.
5,
What do you mean 5?
4,
I don't understand wh.
3,
Yes you keep telling bu,
2,
But if , I, I
1,
Boooooommmmmmm!!!!
But seriously it depends if you are working by yourself or on a company that uses VB and if that company will change that in the future or not.
We still have some programs written in .Net 1.1 , I'm not sure C# was even useful back then but in parallel we switched to C# so I can't give up VB (and I don't want for now) but I have to re learn C#.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
dday9
According to the official Microsoft position:
So now you're working in a language that is actively being maintained and can easily be distributed to most everyday people. If you wanted to rewrite some of your code, then you would also gain pure OOP patterns, anonymous functions, and asynchronous/parallel programming.
You will need to make this judgement call. Microsoft hasn't released anything, but at the same time they are adding new features to C# that is not included in VB.NET so take that for what it is. I personally think that the traditional desktop applications are a dying breed and so I switched to web focusing on mobile first development. Several years ago this was mostly jQuery but as of today jQuery seems to be out of favor and I'm doing more Angular. However, at the same time, I still get contract jobs that require desktop applications and I still use Visual Basic .NET.
If you want my advice, don't put all your eggs in one basket and never stop learning.
I definitely like the advice to not stop learning. However, I have a million things on the list to be learnt. And I have a full time job. And I am not a programmer by profession but an engineer. So I will have to prioritise things, and allocate limited amounts of time to learning various new things.
Do you see a threat to VB.net in 10 years? Like they have made VB3 practically unusable on today's computers, is it likely that VB.net will be forced out in a few years?
The step from VB.net to C# is not that big. It is just a little different syntax. But would Microsoft make it impossible to use that also in a similar amount of time as VB.net?
Most of the software is for my own use, but one project is given to others also. So I have to consider that and not expect them to maintain 10 year old machines just to run my software.
-
Re: How soon may I have to give up VB.net (and VB6)?
I wasn’t a programmer up until a few years ago. I used to own an insurance agency and programmed as a hobby.
But do I see VB.NET going away anytime soon? No. What I see are clients using less desktop applications and more mobile/web.
-
Re: How soon may I have to give up VB.net (and VB6)?
Well, I will bet that VB6 or its direct replacement (TwinBasic or RADBasic but not VB.NET) will be around for as long, if not longer than VB.NET. Certainly some of us will still be programming in VB6 when the announcement for the EOL of VB.NET is announced.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
yereverluvinuncleber
Well, I will bet that VB6 or its direct replacement (TwinBasic or RADBasic but not VB.NET) will be around for as long, if not longer than VB.NET. Certainly some of us will still be programming in VB6 when the announcement for the EOL of VB.NET is announced.
I'll take that bet. Seems like nothing ever dies when it comes to programming language. Just the pool of aficionados becomes smaller and more passionate.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Shaggy Hiker
For the first question: VB6 applications still work fine, but the IDE is now problematic.
etc.
If you are anxious about change, get out of computing, because the one thing we can say with absolute certainty is this: Whatever choice you make, you will be wrong...given enough time.
This has been a very good reply. For my engineering work, VB3 was optimal, but it is more or less impossible to use it today (and give the .exe to others). Installing VB6 on Windows 10 is not easy and appearance of the .exe is also becoming an issue for some.
I gather from several responses that VB.net is almost a necessity now, and is not likely to disappear in 10 years. At the same time, it is useful to be able to read C# code (and yes, that I can, and have even coded a little program to add/multiply two numbers from text boxes and display the result on a label.) It seems it is not necessary to shift to C# for my work, but it would be wonderful to learn (however easy it may look once I have done it once) how to make DLLs (class libraries?) in VB.net and call them from small C# .exe.
I think I will continue with VB.net and convert the other VB6 code to VB.net, and learn a little more about C#.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Any advice on what the future should be for engineering calculation programming?
Well Fortran has been around since 1957 and is still going strong for engineering type programs and is particularly strong in matrix/array operations....
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
2kaud
Well Fortran has been around since 1957 and is still going strong for engineering type programs and is particularly strong in matrix/array operations....
I don't think there are any free compilers for Visual Fortran. I suspect Microsoft will probably not allow it to run smoothly just like older versions of VB.
-
Re: How soon may I have to give up VB.net (and VB6)?
There is a free Intel Fortran compiler which is recognized by VS IDE. You can then create and compile Fortran from within VS.
https://software.intel.com/content/w...per-tools.html
Create an account and sign in.
Click Get the Base Kit
Chose Windows Local and download file
Click Intel HPC Toolkit and download file
Now double click the file for the Base Kit
Follow instructions and make sure the Integration With Current Version of VS is marked
Then double click the file for HPC Toolkit and install it.
This will install Fortran.
In VS You can now create a new Intel Fortran project...
Have fun!
PS There is a useful booklet "Programming with Visual Studio: Fortran & Python & C++"
https://www.amazon.co.uk/gp/product/...?ie=UTF8&psc=1
which explains in detail how to install VS, Intel Fortran and Python so that they can be used from within VS.
Note that this doesn't cover how to program - just how to install and get things working.
-
Re: How soon may I have to give up VB.net (and VB6)?
Oh yes, we are now recommending Fortran...These threads start sensibly and degrade to mad suggestions quite quickly.
My "mad" suggestion is QB64, a thriving community, a direction, a GUI, and being the 64bit bastard child of VB6's great grandDaddy, it is thoroughly BASIC and with some tweaking, event driven, multi-platform. What's not to like?
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
yereverluvinuncleber
.... What's not to like?
It's not from Intel?
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
2kaud
There is a free Intel Fortran compiler which is recognized by VS IDE. You can then create and compile Fortran from within VS.
https://software.intel.com/content/w...per-tools.html
Create an account and sign in.
Click Get the Base Kit
Chose Windows Local and download file
Click Intel HPC Toolkit and download file
Now double click the file for the Base Kit
Follow instructions and make sure the Integration With Current Version of VS is marked
Then double click the file for HPC Toolkit and install it.
This will install Fortran.
In VS You can now create a new Intel Fortran project...
Have fun!
PS There is a useful booklet "Programming with Visual Studio: Fortran & Python & C++"
https://www.amazon.co.uk/gp/product/...?ie=UTF8&psc=1
which explains in detail how to install VS, Intel Fortran and Python so that they can be used from within VS.
Note that this doesn't cover how to program - just how to install and get things working.
This is very good to know. I have used Fortran IV to Fortran 77 before I started with Visual Basic.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
dday9
1, If you wanted to rewrite some of your code, then you would also gain pure OOP patterns, anonymous functions, and asynchronous/parallel programming.
2, I personally think that the traditional desktop applications are a dying breed and so I switched to web focusing on mobile first development.
If you want my advice, don't put all your eggs in one basket and never stop learning.
2, What should I install to learn the basics of VB.net web app and mobile app development? I don't believe that very many engineering applications will move to small screens, but no harm in learning some basics quickly. And I guess for web apps, Visual Studio 2019 Community has everything.
1, What are anonymous functions for? And asynchronous programming? (I generally don't work with databases but could very well use them.) I will indeed rewrite some code which has a lot of GoTo statements.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
VisualBeginner.NET
2, What should I install to learn the basics of VB.net web app and mobile app development? I don't believe that very many engineering applications will move to small screens, but no harm in learning some basics quickly. And I guess for web apps, Visual Studio 2019 Community has everything.
If you were to use VB.NET then it would be as a web server over ASP.NET Core, the front-end languages would be your traditional HTML, CSS, and some flavor of JavaScript. However, the few desktop application contracts that I still get are almost exclusively engineering applications. You may be in a little niche where you can stick to desktop applications.
Quote:
Originally Posted by
VisualBeginner.NET
1, What are anonymous functions for? And asynchronous programming? (I generally don't work with databases but could very well use them.) I will indeed rewrite some code which has a lot of GoTo statements.
Anonymous methods can be used in several ways. Here is one example where I dynamically create a control and bind an event to an anonymous method:
Code:
Dim myTextBox = New TextBox() With {
.Name = "Foo",
.Text = "Foo"
}
AddHandler myTextBox.Click, AddressOf Sub(sender As Object, e As EventArgs)
MessageBox.Show(DirectCast(sender, TextBox).Text)
End Sub
Another example is to pass a function in a LINQ statement to query a collection:
Code:
Dim valuesGreaterThan5 = Enumerable.Range(1, 10).Where(Function(i) i > 5)
Here is an example of that one: https://dotnetfiddle.net/feL4l5
Asynchronous programming can be a complex topic. The basic idea is that most anything you do can block the primary thread, which on a desktop application is the UI thread. Asynchronous programming allows you to move the work from the UI thread to a separate thread so that you don't block the UI. The most basic example is the following example:
Code:
Dim t As Task = Task.Run(Sub()
' do something 100 times
For i = 1 To 100
' sleep to simulate a long running task
Sleep(500)
Next
End Sub)
t.Wait()
Try running that versus running what's in the anonymous sub straight on the UI and you'll see what I mean.
-
Re: How soon may I have to give up VB.net (and VB6)?
These days I found an article published in .NET blog: Performance Improvements in .NET 6
.NET is constantly fixed, updated and improved for features and performance and VB.NET is not dropped (as many people expect or hope) so when using latest .NET 5 or 6 (or whatever version will come next) will gain these improvements if people start using these versions and unstick their projects from targeting old .NET Framework 4.x
.NET Core (as 5 and 6 are not the "framework" ones) has some small differences in WinForms (as editor in IDE and as functionality), creating and working on .NET 5+ WinForms projects, as most used by people here, will be just fine.
Another very big difference from past is that .NET Core (to differentiate again from .NET Framework) is open sourced from the beginning - compiler, runtime, libraries, including WinForms library source and many others. And VB.NET compiler is included in the "open source" part. Development is community driven, not single company driven. Anyone can contribute to the GitHub repositories - from issue reporting, bugfixes to discussions and proposals for the future of .NET, including Visual Basic language.
Microsoft invested years of creation and improving, thousands of companies also invested into .NET for their products. There is not only compiler and few libraries. There is tooling created for many different cases which didn't exist in the VB6- world. Actually the commercial and enterprise products, based on .NET (Framework and Core) are many times more than all projects in any language in any area 20+ years ago.
Will it die? It's already dead in the hearts of 'Sixers fans. But what about the rest?
-
Re: How soon may I have to give up VB.net (and VB6)?
lol....why do I feel like this thread is bait? :sick:
Anyways, I'm not gonna jump on this train and repeat things I've said a billion times already. I'm going to approach this in good faith and assume that OP really is who he says he is and not someone from the other threads on an alt trying to stir up discord. I'm just going to focus on what the OP asked.
Quote:
Originally Posted by
VisualBeginner.NET
What did I gain?
I'm just going to be straight. VB6 applications can be a bit unstable simply because Windows keeps evolving while VB6 remains static. Now Microsoft has done a very good job so far with supporting VB6 applications but things breaking is inevitable. Random DLL errors, things not looking the way they should etc. All manner of things can go wrong as Windows keeps changing. In my opinion, it's not worth the trouble maintaining a VB6 application if migration is an option. Migrating your application to VB.Net was one of the best decisions you have made. If no one else told you that. I'm telling you.
There is another side benefit that may or may not matter to you. Your code now has the potential to run on other platforms outside of Windows. .Net is supported on multiple platforms like Android and Linux.
Also, if you intend to extend these applications with additional functionality, you would find this is a whole lot easier in a .Net language since the Framework is packed with all kinds of classes to do just about anything. Everything from graphics to file handling. It's all right there. No need to download any 3rd party libraries. Then there is LINQ which makes dealing with filtering lists and arrays very easy with no need to write a bunch of boiler plate functions. For example if you have a list of names and you wanted to find every one in that list who is older than 60, you can do that in one line like this:-
Code:
Dim people As Person() ' Array of Person objects. Assume it has data
'Filter out people older than 60
Dim oldFolks As Person() = people.Where(Function(p) p.PersonAge > 60).ToArray
From my personal experience, LINQ is one of the biggest advantages of a .Net language over VB6. Filtering lists is a very common task in even the simplest programs and having a powerful querying facility like LINQ baked into .Net gives you so much value. Do you know how much boilerplate I used to have to write when I was in VB6 for simple things like this? It's ridiculous how much more productivity LINQ gives you.
The type system is .Net is also a lot more extensive. You have built-in types like Long, which is a 64 bit Integer and there are also unsigned datatypes like UInteger, ULong, UShort etc which come in handy when dealing with certain APIs that use unsigned types.
Remember all those CopyMemory calls we used to do in VB6? Not necessary in .Net. The BitConverter class provides all the type punning functionality you used to get with CopyMemory calls. The marshaling infrastructure in Platform Invoke can be controlled by the programmer, something that you cannot do in VB6. For example, when you call an API, you can tell P/Invoke exactly how to marshal parameters. This also eliminates the need for a bunch of CopyMemory calls.
I could go on and on...but I think I've made my point.
Quote:
Originally Posted by
VisualBeginner.NET
And I am hearing from others that VB.net will soon be obsolete and I will be forced to switch over to Python or C# or something (not Java, hopefully). This will be a big task, but if I have to leave VB.net within 5 years, I should not convert the rest of my software to VB.net but take the pains to learn Python or C# and slowly start converting the old VB3 (mostly recompiled in VB6) code. Any advice on what the future should be for engineering calculation programming?
In a vacuum, I would recommend C# over VB.Net. However, VB.Net is not going anywhere. There is absolutely nothing wrong with remaining in VB.Net. The reason I recommend C# is because it's Microsoft's flagship language. It gets all the newest language updates and it has far greater support than VB.Net by the masses. If you intend to use any of Microsoft's latest development technology outside of desktop development, you would be better served by going to C#. VB.Net isn't officially supported in multi-platform/non-desktop technologies like Xamarin and Blazor. It's all C#.
However, if all you're doing is converting old VB6 applications then going to C# for this is a bit overkill if you're already comfortable with VB.Net. You can definitely stick with VB.Net with no worries whatsoever as long as you're sticking to the Windows desktop. Microsoft isn't going to outright kill VB.Net. It's simply going to fade further and further into the background. Microsoft is maintaining it but they are not going to add any new language features and it most likely won't be supported in newer technologies.
-
Re: How soon may I have to give up VB.net (and VB6)?
One thing to add about that is that you can meld C# and VB in a solution. At one point, MS was suggesting that a future version of VS would allow you to write the both code in the same project, and possibly in the same file. That never came to pass, and I don't think anybody misses it much. Still, if you build up a solution using multiple projects or multiple dlls (not necessarily in the same solution), then you do not have to stick to one language. For example, you could build a library of methods in VB, call them from C#, and so on.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Shaggy Hiker
One thing to add about that is that you can meld C# and VB in a solution. At one point, MS was suggesting that a future version of VS would allow you to write the both code in the same project, and possibly in the same file. That never came to pass, and I don't think anybody misses it much. Still, if you build up a solution using multiple projects or multiple dlls (not necessarily in the same solution), then you do not have to stick to one language. For example, you could build a library of methods in VB, call them from C#, and so on.
You could mix multiple languages in a single solution:-
https://www.vbforums.com/images/ieimages/2021/08/13.png
So in theory, you could take VB.Net into spaces where it's not officially supported like Xamarin.
-
Re: How soon may I have to give up VB.net (and VB6)?
Today I updated my VS2019 Preview. And I updated (git pull) some sources from GitHub which include Roslyn compiler, .NET runtime, WPF, WinForms, SqlClient and others. Strange that I see many files changed from yesterday "pull". If VB6 was on "GitHub", the git pull message will be "Already up to date" for the last 20+ years :D
Not theory, that's the life :D
-
Re: How soon may I have to give up VB.net (and VB6)?
-
Re: How soon may I have to give up VB.net (and VB6)?
Oh yea, I forgot to address one other thing. TwinBASIC. It's a new compiler that it's active development and it's already shown great promise. It's intended to be 100% VB6 compatible I've personally tested it and found it quite impressive. However, it's not complete yet. If it does succeed in it's mission, then I would strongly recommend all migration from VB6 be to TwinBASIC. It already has a lot of features found in modern languages while aiming to be 100% compatible with older VB6 code. If it were a complete product today, I'd recommend that over VB.Net for migrating old VB6 projects. You get most of the same benefits of VB.Net with the additional benefit of not needing your code to change.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Niya
You always could. You can't take it to XAML, but you could put a pretty thin layer between the XAML and the VB and have entirely VB functionality. I think all it would require would be an interface where the implementation was in VB, but it's been too long since I've worked with Xamarin to be sure.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Niya
Oh yea, I forgot to address one other thing. TwinBASIC. It's a new compiler that it's active development and it's already shown great promise. It's intended to be 100% VB6 compatible I've personally tested it and found it quite impressive. However, it's not complete yet. If it does succeed in it's mission, then I would strongly recommend all migration from VB6 be to TwinBASIC. It already has a lot of features found in modern languages while aiming to be 100% compatible with older VB6 code. If it were a complete product today, I'd recommend that over VB.Net for migrating old VB6 projects. You get most of the same benefits of VB.Net with the additional benefit of not needing your code to change.
I do not endorse that position. TwinBASIC may well prove to be a great product fully compatible with VB6. However, does it have legs? It seems to me that one bread truck could hop a curb and end TwinBASIC completely. Before anybody relies on it too much, you have to convince yourself that it will continue forwards.
-
Re: How soon may I have to give up VB.net (and VB6)?
I'm not going to write a text, but lines of thoughts about VB.NET
Well, I think it's the market and the developers who will really dictate that.
If you work in a company as an employee you shouldn't worry, it's the company that chooses its tools.
Watch out for the fad Python may already be president even before C#, Java, VB.net, but today it's in fashion.
The evolution of the VB.NET language doesn't worry me, we can use it like this for decades, it will still have bug fixes and support, that's great.
If it's for Hobby, it's even better, because you'll have a stable and mature language that won't change 3 times a year, breaking your applications
C# is evolving a lot towards being 6 per half a dozen
C# has the laugh of becoming a C++, often incomprehensible within the same team, so it will be several C# within C#, just like C++ is
VB.NET has gained stability, it's out of pointless change, that's good, because it will change what's really necessary.
Will VB.NET end? If no one uses it for sure it will end, but instead if we create libraries, complex solutions, etc. it can return to fashion like this with python
Just for the record, if facebook used VB.NET it would be easier to manage the code
I would be sad if I had studied for 5 years and at the end of the course I came face to face with VB.NET, I would say, because I studied the most complicated thing if there is VB.NET.
Between Pyhon and VB.NET I prefer VB.NET is faster.
VB.NET is open source, so it depends more on your community than Microsoft
I develop for the Web with VB.net (https://github.com/VBAndCs/Vazor)
VB.NET is very wordy! Well I save a lot with comments
I use C# only in situations where VB.NET cannot reach, on average, 3% of my project.
I'm better with VB.NET, so I always start with it
Is there any community that takes care of the evolution of the VB.NET dialect? yes, (https://gitter.im/VB-NET)
I'm really worried about which language to use 30 years from now.
And now? VB.NET died! Well, I'm going to use VB.NET at (https://www.elementscompiler.com/elements/mercury/)
I spend 5 hours programming a day and another 3 thinking about what to do tomorrow with VB.NET, in other dialects I spend 3 hours programming, 2 hours fixing, 3 hours studying what will change tomorrow.
everything I think about creating I think about creating with VB.NET, for me it is a great satisfaction to use this programming language.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Shaggy Hiker
I do not endorse that position. TwinBASIC may well prove to be a great product fully compatible with VB6. However, does it have legs? It seems to me that one bread truck could hop a curb and end TwinBASIC completely. Before anybody relies on it too much, you have to convince yourself that it will continue forwards.
Wayne Phillips has had direct communication with those of us who have been testing it and though it has not been directly discusses as far as I know, I get the feeling that he would not be opposed to opening the compiler to the public at some point in the future. If that happens, a single bread truck hopping a curb won't be able to end it then as the open source community will be able to carry it in whatever direction needed.
That being said, your point is well taken. I would not advise commitment to it until such time as it's future is secured but it's looks very promising so far.
-
Re: How soon may I have to give up VB.net (and VB6)?
C# will have jumped the shark when it gets the Standard Template Library.
-
Re: How soon may I have to give up VB.net (and VB6)?
For new projects rather than contemplating this language or that language focus on personal or client needs followed by will the chosen language be suitable for the project.
If a developer is competent in their primary language, IDE and compiler which satisfies customer needs and runs on the appropriate platform there is no reason to change. Then there are stopgaps such as Docker for times when a particular language does not run properly on a specific platform. IDE issues but not compiler? There is always Microsoft Visual Code with proper extensions if say Intellisense and syntax highlighting is needed. When things simply can’t work this is when to consider changing technologies.
Personally speaking I’ve not written a desktop application in over nine years other than two or three file parsers. Selected languages are C#, Typescript coupled with BootStrap and sadly Cold Fusion for legacy web applications.
If a developer wants to be prepared for when a chosen language simply can’t fulfill requirements then as Shaggy and Niya mentioned a developer can mix up languages. Primary language VB.NET, C# for what VB.NET can’t do or can but requires more work than it should be.
One of my pet peeves for VB.NET developers was the lack of support for reverse engineering databases for Entity Framework Core 5. Then recently Microsoft provided an NuGet package which provides this which is a game changer because using Entity Framework 6 was great but EF Core 5 and beyond opens many doors for both web and desktop solutions such as Interceptors, local data and built in BindingList. Along with shadow properties, concurrency tokens and global filtering among other must have features to making coding easier. Forget about transactions, EF Core creates these for us. Forget about screwing up a query by mistyping a column name and when something changes in the database repeat the scaffolding coupled with the proper use of partial classes and configurations on tables.
If a developer is young and planning on a career in software development they should be looking at C#, Typescript and MAUI. Want to sell yourself then by fluent with responsive design via ASP.NET Core and XMAL.
In the end wisdom rules out via researching and understanding client wishes yet always know that the client is not always right. Sorry if I offend anyone but if still using VB6 for new projects on Windows 10 and higher it’s time to move to VB.NET.
Some tidbits
asynchronous sample for working with data via Entity Framework Core
Code:
Public Class DataOperations
Public Shared Context As New NorthWindContext()
Public Shared Async Function Customers() As Task(Of List(Of Customer))
Return Await Task.Run(Async Function() Await Context.Customers.ToListAsync())
End Function
Public Shared Async Function CustomersLocal() As Task(Of BindingList(Of Customer))
Return Await Task.Run(Async Function()
Await Context.Customers.LoadAsync()
Return Context.Customers.Local.ToBindingList()
End Function)
End Function
''' <summary>
''' Get local changes, deleted records will not show
''' </summary>
''' <returns></returns>
Public Shared Function Show() As String
Dim builder As New StringBuilder()
For Each customer In Context.Customers.Local
If Context.Entry(customer).State <> EntityState.Unchanged Then
builder.AppendLine($"{customer.CompanyName} {customer.Street} {customer.City} {Context.Entry(customer).State}")
End If
Next
Return builder.ToString()
End Function
End Class
Example of an anonymous type to breakup a complex group by
Code:
Sub AnonymousToStrongTypedVersion()
Dim operations = New DataOperations
Dim customers = operations.CustomerList()
' Anonymous, can only be used in this method
Dim baseQuery =
From customer In customers Order By customer.City
Group By CountryName = customer.Country Into regionalCustomers = Group
Order By CountryName
' strong typed, can be used outside this sub when making this method a function
Dim customersByCountry As IEnumerable(Of CountryCompanyContainer) =
baseQuery.Select(Function(customer) New CountryCompanyContainer With {
.CountryName = customer.CountryName,
.Customers = customer.regionalCustomers,
.Count = customer.regionalCustomers.Count()
})
For Each TopGroup In customersByCountry
Console.WriteLine($"{TopGroup.CountryName} ({TopGroup.Count})")
For Each innerGroup In TopGroup.Customers
Console.WriteLine($"{innerGroup.CustomerIdentifier,5} {innerGroup.CompanyName} ({innerGroup.City})")
Next
Next
End Sub
Or sacrifice maintainability for what some think is cool but is not yet it's usable that the caller can use the data.
Code:
Public Function CountryCustomers() As IEnumerable(Of CountryCompanyContainer)
Dim operations = New DataOperations
Dim customers = operations.CustomerList()
Dim customersByCountry As IEnumerable(Of CountryCompanyContainer) =
(
From customer In customers
Order By customer.City
Group By CountryName = customer.Country Into regionalCustomers =
Group Order By CountryName).Select(Function(customer) New CountryCompanyContainer With {
.CountryName = customer.CountryName,
.Customers = customer.regionalCustomers,
.Count = customer.regionalCustomers.Count()
})
Return customersByCountry
End Function
Concrete container for above
Code:
Friend Class CountryCompanyContainer
Public Property CountryName As String
Public Property Customers As IEnumerable(Of Customer)
Public Property Count As Integer
End Class
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Shaggy Hiker
I do not endorse that position. TwinBASIC may well prove to be a great product fully compatible with VB6. However, does it have legs? It seems to me that one bread truck could hop a curb and end TwinBASIC completely. Before anybody relies on it too much, you have to convince yourself that it will continue forwards.
That's why it is important that the source code is placed in Escrow.
I know twinBASIC are looking into this.
Now if I could just find Escrow on a map...
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
VB6 Programming
Now if I could just find Escrow on a map...
Having worked for a company that used to put source code into escrow for a client... it's done through lawyers.
-tg
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
VB6 Programming
Now if I could just find Escrow on a map...
https://www.ironmountain.com
-
Re: How soon may I have to give up VB.net (and VB6)?
Based on the title of the thread asked, the answer is never give up. Stay in VB especially at VB.net. Life is short, don't waste your time learning a new language!
Shaggy's post is representative enough to explain this.
VB isn't actually dead but just frozen at some point. want to know the reason? I think it's because of the limited number of development team members in MS. MS focuses on developing new technologies and the tools seem to be difficult for 2 languages to implement, so only C# is chosen, the technology is also far from perfect. how about the new technology with VB? the answer is not yet known, we can only guess, maybe in the future it will be presented in vb. new technology developed by MS like blazor, not really needed in my opinion.
there is still hope for vb to be re-developed. maybe waiting for the c# version to be the same as vb, because if it was developed concurrently with c#, it would be a lot of PRs, of course it would be a pain due to the limited team members....just my opinion :D
VB desktop can be equipped with asp.net core mvc/api, you can use bootstrap to be mobile friendly
I have several years of experience creating php spa-like web apps with CI. in early 2020 i've ported to asp.net vb project, only about 4% razor syntax i use in project.
do i need to learn c#? the answer is yes only a little. it's only razor related
is it necessary to learn angularJS? maybe one day because there is something quite unique about it. because I can do many things with jQuery, until now I don't need angular or typescript
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
djancuk
Based on the title of the thread asked, the answer is never give up. Stay in VB especially at VB.net. Life is short, don't waste your time learning a new language!
That is not a good attitude if you are a developer with say five or more years left in the profession. Some developers will coast by on a given language but what happens when it's mandated to use another programming language and said developer can not get up to speed in time? There are always signals way before a mandate comes down the road. Sure some can dictate that they will only work with one language yet that in many cases limits projects to write.
Don't get me wrong, I think VB.NET is a great language and may have many years left but it's really not what should be consider, instead where is my pay check coming from when mandated to jump ship on, in this case VB.
Where I work prerequisites are TypeScript, JQuery, C#, BootStrap, SASS Git Actions, EF Core, ASP.NET Core, unit testing, mocking for starters. Even mention VB of any edition will have a candidate not to make it to in person interviews. Same goes for four child companies. Total developers 200, not one using VB of any edition.
Now with that said I can expect a rebuttal or two :-)
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
djancuk
Based on the title of the thread asked, the answer is never give up. Stay in VB especially at VB.net. Life is short, don't waste your time learning a new language!
That's a curious philosophy because you can like a language, never give it up and still learn a new one. I'd says : as professional, learn everything you need to do the job, as a amateur/hobbyist, learn everything that will give you fun !
For work and personal project I work with Arduino, so I needed to remember (i used it long time ago), learn and use C++ to program them but I still do the main program in VB. I also need to learn Labview for a new project because the device I will use is piloted only with Labview, so I will learn Labview. And now I am starting to learn Python. But I can tell you I will never give up VB.net because that's the language I prefer and with which I am most comfortable. (By the way, I am not a professional developer I am a mechanical engineer but I need to do some applications for work).
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
kareninstructor
Now with that said I can expect a rebuttal or two :-)
Talking about work, some people work independently, some work with companies. Those who work independently, of course, are free to choose what they want and those who work in companies depend on the company where they work.
Based on the type and scale, companies also vary, some have their own IT Department. In it there is one or more programmers, for mobile it can need 1 or more programmers, for desktop it can need 1 or more, for the web too. There are also companies that only need 1 programmer, the rest are like IT Support and other IT professionals. There are even companies that only need 1 IT with many skills.
If you want to join a company, let's say they have more than one desktop programmer, of course you have to adjust the requirements to suit them.
For companies that do not have programmers, they usually rent or buy programs from independent programmers or from vendors such as IT Consulting Firms
And out there are many IT Consulting Firms. Of course they have a lot of similar programmers, you know what you have to prepare to join them so there's no need to talk about it anymore.
Sometimes there are sentences that have multiple interpretations, but actually some people misunderstand
When I say 'life is short', it is one of the messages for productivity, effectiveness and efficiency, does not mean that someone is old or will retire
Read again my previous answer in full and you will know, please pay attention, I answered based on TS and his skill background
So when I say 'Don't waste your time learning a new language', I mean VB desktop equivalents like C#, Delphi, Java and others.
Because TS has skill in VB, and we all know VB is strong on Desktop, so he doesn't need to 'move', that's why I say 'never give up'...moreover VB is also strong in Web/API like ASP.NET Core
Oh yeah, here's an addition
take a look at WinForms, the last feature added is the Chart which is in .NET 4.0, VS2010, which is actually ready for .NET 3.5 even though it is still an extension. Do you know because of that, there are some MVPs who confidently say that winforms is obsolete, whereas as far as I know there is no official announcement from MS about it.
At that time just because MS invested in WPF didn't mean WinForms was obsolete. See the proof now
and if MS is currently investing a lot in C# it doesn't mean VB is dead or obsolete
So if someone corners VB, we ask him, you have MS, don't you? if he answers no, we say don't act like you know :D
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
kareninstructor
That is not a good attitude if you are a developer with say five or more years left in the profession. Some developers will coast by on a given language but what happens when it's mandated to use another programming language and said developer can not get up to speed in time? There are always signals way before a mandate comes down the road. Sure some can dictate that they will only work with one language yet that in many cases limits projects to write.
Don't get me wrong, I think VB.NET is a great language and may have many years left but it's really not what should be consider, instead where is my pay check coming from when mandated to jump ship on, in this case VB.
Where I work prerequisites are TypeScript, JQuery, C#, BootStrap, SASS Git Actions, EF Core, ASP.NET Core, unit testing, mocking for starters. Even mention VB of any edition will have a candidate not to make it to in person interviews. Same goes for four child companies. Total developers 200, not one using VB of any edition.
Now with that said I can expect a rebuttal or two :-)
this is your work niche!
Not giving up on a language brought python into fashion again, and what about IBM with its Watson? it is not a language listed in the ranking.
Don't say that a certain programming language is not worth it to people, don't just be based on the market, behind a language there is also science.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Cristianlt23
this is your work niche!
Not giving up on a language brought python into fashion again, and what about IBM with its Watson? it is not a language listed in the ranking.
Don't say that a certain programming language is not worth it to people, don't just be based on the market, behind a language there is also science.
You sound like the guys in the VB6 section. All feelings and no pragmatism. Going against the market is counter-productive 99% of the time.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Niya
You sound like the guys in the VB6 section. All feelings and no pragmatism. Going against the market is counter-productive 99% of the time.
The best example is Python developers were counterproductive and are now on top.
If they were listening to people who say they should always follow another programming language, Python would be dead 20 years ago.
And yes, I still find VB.NET better than C#, I still find it more productive and the very few times I need to complete something I use C#
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
djancuk
Talking about work, some people work independently, some work with companies. Those who work independently, of course, are free to choose what they want and those who work in companies depend on the company where they work.
Based on the type and scale, companies also vary, some have their own IT Department. In it there is one or more programmers, for mobile it can need 1 or more programmers, for desktop it can need 1 or more, for the web too. There are also companies that only need 1 programmer, the rest are like IT Support and other IT professionals. There are even companies that only need 1 IT with many skills.
If you want to join a company, let's say they have more than one desktop programmer, of course you have to adjust the requirements to suit them.
For companies that do not have programmers, they usually rent or buy programs from independent programmers or from vendors such as IT Consulting Firms
And out there are many IT Consulting Firms. Of course they have a lot of similar programmers, you know what you have to prepare to join them so there's no need to talk about it anymore.
Sometimes there are sentences that have multiple interpretations, but actually some people misunderstand
When I say 'life is short', it is one of the messages for productivity, effectiveness and efficiency, does not mean that someone is old or will retire
Read again my previous answer in full and you will know, please pay attention, I answered based on TS and his skill background
So when I say 'Don't waste your time learning a new language', I mean VB desktop equivalents like C#, Delphi, Java and others.
Because TS has skill in VB, and we all know VB is strong on Desktop, so he doesn't need to 'move', that's why I say 'never give up'...moreover VB is also strong in Web/API like ASP.NET Core
Oh yeah, here's an addition
take a look at WinForms, the last feature added is the Chart which is in .NET 4.0, VS2010, which is actually ready for .NET 3.5 even though it is still an extension. Do you know because of that, there are some MVPs who confidently say that winforms is obsolete, whereas as far as I know there is no official announcement from MS about it.
At that time just because MS invested in WPF didn't mean WinForms was obsolete. See the proof now
and if MS is currently investing a lot in C# it doesn't mean VB is dead or obsolete
So if someone corners VB, we ask him, you have MS, don't you? if he answers no, we say don't act like you know :D
Fantástica sua resposta.
Parabéns, este é um excelente conselho.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Niya
You sound like the guys in the VB6 section. All feelings and no pragmatism. Going against the market is counter-productive 99% of the time.
Totally agree
-
Re: How soon may I have to give up VB.net (and VB6)?
My last comment on this topic.
Live in stone-age or not, that is your choice.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Niya
You sound like the guys in the VB6 section. All feelings and no pragmatism. Going against the market is counter-productive 99% of the time.
Except that I'm not sure I understand what position anybody has. I read what djancuk wrote differently from the rest of you, and agreed with it.
The bottom line is that we never know where things are going to go. If you spend your life nervously jumping on any perceived trend, you won't be left behind and you'll be wrong more often than you're right.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Shaggy Hiker
The bottom line is that we never know where things are going to go.
Most times yes but this is not one of those cases. It's very obvious what VB.Net's future is just as it was obvious what VB6's future would be when MS went introduced .Net as the underlying platform for Visual Basic.
I think the difference between most folks and myself is that they cannot separate their love for VB from the actual facts about the language. We could love VB as much as we want, it wouldn't change the fact that more and more people are choosing C# over it and Microsoft themselves have taken notice which is why we do not see Visual Basic support in all .Net technologies like Xamarin and Blazor. It's just not wise to bet on VB.Net for the future.
-
Re: How soon may I have to give up VB.net (and VB6)?
Someone always has to rank on JavaScript - a language I have come to love.
Only in JavaScript will a line of code like this:
strField = g_objGMaker[ggmOff].gmSource.sourceOrig[i][allColumns[colloop].field].toUpperCase();
Be corrected by adding || ""
strField = (g_objGMaker[ggmOff].gmSource.sourceOrig[i][allColumns[colloop].field] || "").toUpperCase();
In the bug correction above, the "field name" (allColumns[colloop].field) is NOT found in the object array that represents my data source (...gmSource.sourceOrig[i]). This returns an error - {fieldname} is undefined.
|| is the OR operator - and it's used here to take any "falsy" value and give it a default value.
"undefined" is "falsy", so in those cases the "" (empty string) will be returned.
?? is another operator that does this - it's just more selective on what it considers "falsy".
JS Rules!
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
kareninstructor
Live in stone-age or not, that is your choice.
I don't agree with that. In fact I fundamentally disagree. This may be correct approach for commercially-led programming. For many of us though, programming decisions are not always based upon commercial fundamentals. Some of us are hobbyists and we program simply because we like to.
I am also an artist amongst many other things and I will not have my chosen tools dictated by a mega corporation and I feel the same way about programming as I do about my art. I simply want to use a tool I am familiar with and use it to the best of my ability.
It should not be too difficult to allow developers to use the tool they want to use. Coercing users to follow their current corporate line is something that Microsoft does very well, the trouble is, a lot of those corporate decisions have been proven over time to be wrong (we don't have to name them all here). The way I feel, is that I need to be persuaded by the benefits of the new tool, they need to improve over the old in a substantive manner that I can appreciate in my daily programming tasks, and those benefits need to outweigh the pain of learning a new language, largely from scratch.
If I cannot perceive the overall advantage is in my favour then I will stay exactly where I am, thank you very much. That applies to all facets of my life, not just programming languages.
At the moment I cannot perceive the benefit to outweigh the overall pain. Shifting corporate goalposts and directions from MS management are one of the elements that cloud my ability to make a decision to run with any Microsoft product. Thank Goodness for open source and alternative small commercial offerings, long live competition and death to monopolies! :bigyello:
Quote:
Originally Posted by
kareninstructor
My last comment on this topic.
We'll see...
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
szlamany
a language I have come to love.
I love javascript too. I feel it is akin to BASIC in some ways, as a tool you can hack some code together, it works for me.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Niya
Most times yes but this is not one of those cases. It's very obvious what VB.Net's future is just as it was obvious what VB6's future would be when MS went introduced .Net as the underlying platform for Visual Basic.
I think the difference between most folks and myself is that they cannot separate their love for VB from the actual facts about the language. We could love VB as much as we want, it wouldn't change the fact that more and more people are choosing C# over it and Microsoft themselves have taken notice which is why we do not see Visual Basic support in all .Net technologies like Xamarin and Blazor. It's just not wise to bet on VB.Net for the future.
That's just a bit more tea-leaf reading. Xamarin wasn't an MS technology, so the fact that it is in C# has to do with those who wrote it, not MS. You may have a point when it comes to ASP.NET, or you may not. Still, it makes no difference. If you believe the road leads in one direction, then follow it. If you are right, you can say, "I told you so." If you are wrong...I'm sure you'll just go quiet and hope that everybody forgets your statements. It won't be the first time on this forum.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Shaggy Hiker
That's just a bit more tea-leaf reading. Xamarin wasn't an MS technology, so the fact that it is in C# has to do with those who wrote it, not MS. You may have a point when it comes to ASP.NET, or you may not. Still, it makes no difference. If you believe the road leads in one direction, then follow it. If you are right, you can say, "I told you so." If you are wrong...I'm sure you'll just go quiet and hope that everybody forgets your statements. It won't be the first time on this forum.
I would say VB.Net not getting things like Blazor is entirely down to the VB.Net community, historically they have always seemed reluctant to move to newer technologies. This is one of the reasons in .Net core Razor no longer supported the VB.Net syntax (see https://github.com/dotnet/vblang/iss...ment-354927626 )
-
Re: How soon may I have to give up VB.net (and VB6)?
I'm working with a client that just purchased a COBOL based system with a screen-scraper type of front end that uses Putty (for those who know these old systems)...
Because the vendor and the system are mature and stable...
For over a million dollars - 18 months into implementation now. Going live in 33 weeks (I keep track of the weekly countdown).
They have an MS SQL "data warehouse/report region" that updates immediately as data is saved from the UI.
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Shaggy Hiker
That's just a bit more tea-leaf reading. Xamarin wasn't an MS technology, so the fact that it is in C# has to do with those who wrote it, not MS. You may have a point when it comes to ASP.NET, or you may not. Still, it makes no difference. If you believe the road leads in one direction, then follow it. If you are right, you can say, "I told you so." If you are wrong...I'm sure you'll just go quiet and hope that everybody forgets your statements. It won't be the first time on this forum.
I'm not a young guy. Not an old guy either but I've been with Microsoft since like DOS 2. I've seen it all come and go. I've seen BASICA replaced by QuickBasic. I've seen Windows kill off DOS. I've seen the Windows NT Kernel kill off the DOS Kernel of Windows 95/98. I've seen multiple versions of SQL Server killed off by newer versions. I've seen multiple versions of VB killed off by newer versions of VB. I've seen TCP/IP kill of IPX/SPX.
I've seen Broadband kill off dial-up. I've seen Yahoo kill off all it's competitors like WebCrawler, Alta-Vista and Excite.com and I've seen Google come in and kill Yahoo off, though in this case Yahoo is not entirely dead yet. Remember GeoCities and AngelFire of the early internet? I've seen those go from massive communities that dominated the internet to non-existence though I'm not sure exactly what killed them off. Remember the old school way of getting pirated software? You used to search for something called Warez when you wanted to pirate games, programs or movies. Napster started the revolution that would eventually replace this way of pirating digital content. Napster started with MP3s, then Kazaa, Limewire and a whole host of others came after and they went beyond just MP3s. Then Bittorent came along and basically killed off all this.
I've seen PhotoShop kill off CorelDraw. I've seen Word kill off WordPerfect.
I've seen 32 bit CPUs kill off 16 bit CPUs and now 64 bit CPUs has more or less killed off 32 bit CPUs. SSE, AVX and similar technologies have practically killed off the x87 FPU though FPUs aren't completely dead yet. I doubt they would last beyond 10 more years. The integrated x86 FPU itself killed off much older software implementations of floating point math and non-integrated floating point coprocessors.
I've seen hardware accelerated texture mappers kill off software renderers. Here's another I'm intimately familiar with, the evolution of 3D engines for first person shooters. It started with games like Wolvenstein, Corridor 7, Blake Stone and Catacombs. These games represented their worlds completely as 2D geometric data. Doom later came along with a bunch of clones like Heretic, Hexen and Duke Nukem by Ken Silverman that utilized a 2.5D geometry internally. Then Quake came with full 3D internal geometry and completely killed off this earlier way of designing FPS games. Along the way I always watch these games go from sprite-based graphics to using full 3D meshes. Old school tricks like Quake 3's fast inverse square root was killed off by modern CPU vendors implementing them in hardware. This also feeds into the earlier point about hardware acceleration vs software rendering. Software rendering utilized a lot of tricks in similar vein to the fast inverse square root. Those tricks were all completely killed off by hardware acceleration.
Here's another one I went through that was very interesting in that there were a lot of parallels can be drawn to this kind of topic. Starcraft being killed off by StarCraft 2. I played a lot of StarCraft back in the day. It was at the time, the most popular completive online game in the world. StarCraft was single handedly responsible for what ESports is today. When StarCraft 2 was announced, I saw a lot of the exact same arguments I've seen here. Lots of people got up in their feelings and trash talked StarCraft 2 using arguments that were eerily similar to the ones used by programmers when comparing one language to another, not unlike what we see in VB6 vs VB.Net topics. There was this massive clash between people who thought the old was perfect, just like VB6 programmers here, and the people like me who embraced the new. If you think a VB6 vs VB.Net debate gets heated, I wish you could see the old StarCraft vs Starcraft 2 debates. I even got into a few myself, not unlike what I do here with this VB6 vs VB.Net thing(guess which side I took ;)). Do you know what eventually happened? StarCraft 2 killed off StarCraft. The old Battle.Net servers went from teeming with activity to nearly completely dead and there was nothing the old holdouts could do about it no matter how much noise they made. Just like VB6 programmers trash talked MS for abandoning VB6, old StarCraft players trash talked Blizzard for abandoning StarCraft for StarCraft 2. In the end, no one cared. It still died. And today, Starcraft 2 has been more of less killed off by the rise in popularity of MOBAs like DOTA and League of Legends.
Also while on this topic of StarCraft, there was another death, the death of buying games. You had to buy games like StarCraft and Starcraft 2 but newer games like League of Legends are free to play and make their money through micro-transactions. This new free to play model killed off the old model where you had to buy these games. Sure, a lot of people still sell games but the market is completely dominated by free to play games that utilize micro-transactions.
I've lived through all of this. It's like watching history repeating itself over and over and over and over again. I like to think I can recognize the signs. I also saw a lot of the same signs when .Net came in after VB6. My love for VB6 and listening to a bunch of fools on in the internet trash talk .Net made me stay a lot longer than I should have but I would be lying if I said that I didn't see the signs that VB6 was done in those days. I am seeing those same signs with VB.Net today. Let me tell you, when a new thing replaces an old thing, it's never sudden. It's always a slow death. Going back to the Starcraft thing, it was the quickest death I have ever seen and even that took about 2 years.
I'm really trying to see things from you guys' point of view but I'm afraid I cannot in good faith suggest that VB.Net has an kind of future. I've seen this happen too many times. I'll tell you something else too, I wish I was wrong. I hope I'm wrong. I really do think C# is a better language but I'm not going to lie, I much prefer VB.Net. I already have the muscle memory for it. Retraining myself for C# is going to be a little annoying and I wish I didn't have to do it but I have to. The writing is on the wall. I just don't see the point in staying in VB.Net unless all you're going to do is write Windows Desktop applications for the rest of your days.
-
Re: How soon may I have to give up VB.net (and VB6)?
Yeah, if you're so old, you also remember all the predictions that Apple would off DOS, Linux would off Windows, SCSI (being clearly superior) would replace IDE, and so on. You also probably realize that the software to use hardware texture mappers existed before the hardware did, such that the change was organic for most people.
In this case, it doesn't really matter, though. The two languages are interchangeable.
I'm just tired of people prophesying doom and trying to get people to jump ship because their view into the palantir convinced them what the future MUST bring.
-
Re: How soon may I have to give up VB.net (and VB6)?
VB.NET is of a very different magnitude than VB6, VB.NET is open source, which in itself is fantastic!
A professional and experienced VB.NET programmer considers C# as an add-on and therefore we can take VB.NET wherever we want, including in Xamarin.
A serious company understands that VB.NET today is free from fads and 6-by-half-dozen changes.
I particularly prefer to have tools on my work belt that I will actually use and be efficient, I'm not too interested in having multiple options with minimal evolution to solve the same problems, C# is already full of pointless and useless changes, we also have to consider that C# is a commercial product for MS and what matters most is being attractive.
I have a certain concern that C # becomes an aberration in the world of programming languages, today it wants to please all niches and we know it usually doesn't work well, this current MS strategy with C # motivates me to think about the future in Rust seems to be more consistent.
VB.NET has the tools you need to develop, it's that simple!
Therefore, those who want to change the learning curve in favor of greater productivity, or lower training costs, start looking at VB.NET as an option because they know that today it will only evolve very efficiently.
Do you think Delphi is dead? today it is used in many serious companies that value the productivity and reliability of a product that will not have constant risks and changes at every moment full of adventures. I would like VB.NET to also follow this path
-
Re: How soon may I have to give up VB.net (and VB6)?
Quote:
Originally Posted by
Shaggy Hiker
Yeah, if you're so old, you also remember all the predictions that Apple would off DOS, Linux would off Windows, SCSI (being clearly superior) would replace IDE, and so on.
Actually Linux has already won. However Linux vs Windows is an odd one. I think most Windows users would be extremely surprised at just how popular Linux really is. Linux is everywhere and I mean everywhere. The thing is though, Linux is like the Mafia. They're everywhere and you feel their influence all round you but you just don't see them. They run everything quietly from behind the scenes. I wouldn't be surprised if this very forum was ran on a Linux server. Windows is front and center, out in the open. Windows isn't going anywhere anytime soon but if you believe nothing else, believe this, Linux will be around long after Windows is gone. This will probably not be in our lifetime though. Linux failed in one main category that prevents it from completely overtaking Windows which is that your Grandma and your secretary can't use it. Grandma can't be bothered to figure out a bunch of sudo commands but she can point and click easily enough.
IDE was replaced, just not by SCSI. The thing with some of these predictions is that a lot of people don't wait to see what is happening. SCSI came along and had a lot of advantages over IDE and a lot of people were quick to predict the demise of IDE but did they actually wait to see how it affected the landscape before making these predictions? It was the same with Betamax vs VHS and Zip disks. Remember Zip disks? Clearly superior to the 1.44 floppy but it didn't kill off the floppy. USB thumb drives did that much later.
I don't say what I say about VB.Net and C# lightly. I didn't just get up one morning and decided that VB.Net was doomed. I've been seeing signs of decline for years and Microsoft's sudden announcement that they were putting VB.Net in maintenance mode was the trumpet that sounded the alarm.
Quote:
Originally Posted by
Shaggy Hiker
You also probably realize that the software to use hardware texture mappers existed before the hardware did, such that the change was organic for most people.
You don't think that there were people that still preferred software renderers? The ZDOOM port of the DOOM engine to this day still uses a software renderer despite a huge number of modern enhancements. The software renderer was kept because of similar of puritan ideals to the ones we see here on these forums in regards to older technology like VB6.
Quote:
Originally Posted by
Shaggy Hiker
I'm just tired of people prophesying doom and trying to get people to jump ship because their view into the palantir convinced them what the future MUST bring.
I really don't get why this would upset anyone. It just seems like the natural course of progress.
-
Re: How soon may I have to give up VB.net (and VB6)?
At the end of the day. People can do what they want. The OP asked for an opinion and I gave one. It is my honest opinion that VB.Net is in decline and C# is a better bet. Like I don't know what you all want me to say. This is how what I believe and it is based on observations I've made about the landscape, and it is based on my own experiences over the years. I get that it doesn't make a lot of people happy to hear me say it but what would you have me do? Pretend I believe otherwise? I don't. I'm sorry I just don't. I'm really sorry if it upsets some of you but this is the way I see it. Perhaps I'm wrong and we could all rejoice if that proves to be the case eventually. And if I'm proven wrong, I'd be the first to say so.