Bring back Classic Visual Basic, an improved version of VB6
The silent majority of VB6 users did not ask for changes that came with .NET
We request Microsoft brings back classic Visual Basic as COM development is back with Windows 8.
David Platt wrote an excellent article about why classic VB still thrives:
We have read all of the comments on this thread and I’d like to thank you for providing your constructive feedback on this issue. Instead of merely repeating our support and migration guidance that has been laid out on http://msdn.com/vbrun, I’d like to address some of your specific comments here.
To play back the feedback themes we’re hearing:
- VB6 is awesome
- VB6 needs to be brought forward and maintained: in a new release or OSS
VB6 was and still is without a doubt awesome. VB6 made developers incredibly productive building a breadth of applications and as a result we have a wealth of applications and passionate developers to this day in 2014. One way I see our mission in developer tools is to empower developers to solve problems. This includes both today’s problems AND the problems of tomorrow. VB6, as you all have stated repeatedly in this thread, is an excellent tool for solving the problems of its day. We also stand behind our decision starting in 2002 to meet the current demands of our developers and the industry with .NET. For the scenarios VB6 set out to do, we see VB6 being “complete”. We feel good about VB6 being able to continue maintaining their applications for the past 15 years. Current needs ranging from distributed applications and services, to web applications and services, to devices, to new architectures and languages, required fundamental changes to the whole stack. We looked at how we could accommodate these needs through incremental changes to VB6 while maintaining its essence, and that was not possible.
To address the modern needs we would need to go far beyond updating the language. We have to remember that VB6 is not just a language. VB6 is a language, a runtime, a platform library, a tool/IDE, and an ecosystem tightly packaged together in a way that made all of them work well together. We’ve worked with many customers on migration from VB6 to .NET and found that while yes, there are language changes, the dominating factor in migration difficulties isn’t the language differences. Even open sourcing the language/runtime wouldn’t solve the fact that VB6 was thought for a different set of problems, and the fact that its strength came from the end-to-end solution provided by all these five pieces working together. Take a change like 64bit, the complete runtime, tools and ecosystem chain would need to be retooled.
So, moving forward what can we do? Where we have been able to help move forward is in our stance around support and interoperability. The VB6 runtime it is still a component of the Windows operating system and is a component shipped in Windows 8.1. It will be supported at least through 2024. This ensures your apps and components continue to run as you incrementally move forward to .NET. The support policy is here: http://msdn.microsoft.com/en-us/vstudio/ms788708. There are numerous interop strategies that we developed and evolved to enable incremental migration as you upgrade your skills, described here: http://msdn.com/vbrun.
In summary, VB6 was awesome. We agree. We don’t expect or demand anyone to throw away their code or rewrite from any of our technologies unless it makes business sense for them to do so. We have to innovate to enable our customers to innovate. It is not a viable option to create a next version of VB6. We stand by our decision to make VB.NET and the .NET Framework. We think they are awesome too. It is not feasible to open source VB6 tools chain and ecosystem. The VB6 runtime was last shipped in Windows 8.1 and will be supported for the lifetime of Windows 8.1. Support and interop are great tools to move forward incrementally.
I hope you feel we’ve listened to your feedback and that I’ve explained things well enough that you understand our decision.
Group Program Manager
Microsoft Visual Studio Cloud Tools
People forced VB6 limitations and created bunch of hack API stuff, subclassing etc: a comment by Anonymous
People forced VB6 limitations and created bunch of hack API stuff, subclassing etc. There were many 3rd party vendors, who tried to do a buck. It soon became an uncontrollable monster and needed to be put down for many other reasons, mostly it could not really allowed to be expanded and was lacking many important features like multithreading etc. VB6 couldn't be changed easily and to change it you needed to do it from the bottom up. So Microsoft did chose the bottom-up approach and created .NET. This new platform had all the goodies that VB6 didn't have and never could have (because of it's inefficient general design philosophy). That's the reason why pro-coders are now quite happy with .NET today.
However there is still good news for hobbyist coders, who used VB6 (and still continuing to do so). There is VBA and VB script. VB6 coders can switch to those as they are familiar with the syntax. Besides, there are other languages around like python, which is easy to pick up for non-pro coders.
Microsoft did the very right think to put VB6 asleep as it was really hopeless, however provided all the help to interop from VB6 to .NET. That's the best that they could honestly do and I don't blame them.
I suggest that you try .NET, which is getting better each year. (check out NET 2015). However as you are saying that you are a non pro-coder, I would suggest that you use VB6 as it is, because MS support OS support will be there until 2024. But if you need to develop yourself then you should learn .NET, because it is one of the most comprehensive frameworks around for real programmers. Thank you.
VB6 will out-last that entire .NET generation of tools: a comment by Anonymous
The coding world has moved on with classic VB (VB6)
Martin Phillips says
I think you people have to realise that .NET and VB.NET is dead and it's not coming back.
Microsoft has no reason to bring it back.
Most of the people who learnt VB.NET are now too old to coding professionally.
The coding world has moved on with classic VB (VB6) and those it left behind were left behind because they were not intellectually capable to realize the pardigm.
I and many others were, however, capable of adapting VB6 to this change. We use VB6 and love it!
So I'm sorry for you people who are unable to evolve (or follow MS like a sheep) - such is the nature of life. Only the strong survive. You just have to deal with that.
VB.NET is dead and it's NEVER coming back!
Microsoft and climate change deniers
MsgBox to Microsoft: Simply embed VB6 into the OS like other technologies they have done !
C-sharp has been falling in popularity since 2012. Now it has fallen to fifth place in the Tiobe index.
At its peak in January 2012, C# scored .... 8.763%
In February 2017, C# had fallen to ........... 4.902% ▼
In April 2017, C# had fallen further, to ...... 3.579% ▼ but still #4
In May 2017, C# had fallen further, to ...... 3.457% ▼ now fallen to #5
C# is less popular now than it was in July 2005
Source: Zagor Tenay. Thanks for the advice about C#'s decline.
Also in the "very convincing survey result which was conducted by Stackoverflow in 2017" it says Xamarin is one of the most dreaded technologies.
Xamarin is one of the most dreaded technologies !!!
Source: Zagor Tenay. Thanks for bringing the Stack Overflow 2017 survey to everyone's attention.
Zagor Tenay points us to the "very convincing survey result which was conducted by Stackoverflow in 2017".
It says:- "In the five years we've been collecting the Developer Survey, we've seen languages such as Python and Node.js grow in popularity, while the usage of languages like C# and C has been shrinking."
Source: Zagor Tenay - Thanks for highlighting the Stack Overflow survey and bringing to everyone's attention the fact that usage of C# has been shrinking over the last 5 years.
The three sources chosen by Zagor Tenay, Stack Overflow, Tiobe and PYPL to show how good C# is, show C# is declining!!!
All 3 of HIS chosen sources show C# declining. There is a reason for that. It is because C# is declining.
Source: Zagor Tenay - Thanks for highlighting the continuing decline of C#, many of us hadn't realized this before.
Zagor Tenay commented
I would advice Xamarin. The future is there. If you want direct native go for Java and Swift. Best to keep away from NSBasic and B4X, Xojo etc. These use "Basic" syntax which is the most hated language syntax by the programming world today. These platforms are toys with limited ecosystem.
Build Cross-Platform Android and iOS UIs with Xamarin Forms
Xamarin aims to provide a solution to allow companies and developers develop natively and cross-platform. Using Xamarin, developers can target Android, iOS and Windows (Mobile) 10, using a single industry standard language, C#. Certain aspects of the code base are platform specific, for example the UI layer, forcing programmers to develop them repeatedly for each platform.
With Microsoft’s recent acquisition of Xamarin, it is likely to become a better supported, integrated and essential part of a cross-platform strategy for Microsoft and developers.
In 2014, Xamarin introduced Xamarin Forms (XF). XF introduces an abstraction layer which allows developers to declare the UI using XAML (Extensible Application Markup Language) declarations and/or code.
Xamarin vs Xamarin Forms
Using XF, programmers are now able to define and create mobile applications targeting multiple platforms with the same code and definitions. XF renders those instructions into platform-specific code and user experiences. Using this approach, applications get a native user experience, controls and patterns familiar to their users.
Example of the same UI rendered on different platforms
XAML makes the creation of the UI declarative and succinct in comparison to creating the UI by code, but it’s not required to get started. Developers with a background in XAML related technologies, such as WPF (used to develop Windows desktop applications) or Windows Phone / Windows Store applications, will feel at home, since many of the concepts are similar.
More from this author
Getting Started with Microsoft Band SDK
Should I Use Xamarin or Native?
The advantage to using Xamarin is the ability to share code between different platforms whilst harnessing the power of C# features and frameworks such as Async-Await, LINQ and Reactive Extensions. The disadvantages are that you dependent on another layer of abstraction which could introduce bugs and issues dependent on Xamarin to fix whenever a new version of a platform is available for developers.
Should I Use Xamarin Forms or Xamarin?
Xamarin maps 100% of the APIs of iOS and Android. It gives you the same abilities you have when developing natively and (Xamarin claims) without any performance loss. With Xamarin Forms the extra abstraction layer hinders your ability to get pixel perfect design implementation and there is a slight hit on performance (especially on Android, which Xamarin are rigorously improving). If your application is a complex, you should consider if Xamarin Forms is right for your needs.
Now that the context is set, let’s jump into coding your first XF application.
There’s a small issue to get out of the way. To use Xamarin, you need to acquire a license. Xamarin offers a trial period and I urge you to use it to follow this tutorial. Note that Xamarin Forms is not offered with the free Xamarin Starter Edition.
XF applications can be developed using Xamarin Studio or Microsoft Visual Studio (only available on Windows).
Things are not as easy as we would like. Apple requires a Mac to build iOS applications, and Microsoft requires a machine running Windows to build for its platforms.
To help, Xamarin provides a build agent that you can install on a Mac machine and use to build iOS applications on a Windows machine. Another option is to use a Mac and host Windows in a virtual machine.
In this tutorial I’m going to use Visual Studio, but Xamarin Studio will allow you to complete the same steps, as I am not using any Visual Studio specific features.
Download Xamarin and install it. The final project you will be creating is available on GitHub.
In Visual Studio 2015, create a new project via the File Menu. Under templates, locate the Visual C# node and select the Cross-Platform option.
This should list several options:
Blank App (Native Portable / Native Shared) – This template will create a ‘Solution’ consisting of Xamarin.iOS, Xamarin.Droid and Windows Phone projects. These project types are out of scope for this tutorial.
Blank App (Xamarin.Forms Portable / Xamarin.Forms Shared) – These templates will create two flavors of a Xamarin Forms solution. I will discuss the differences below.
Class Library (Xamarin.Forms) – This template will create a class library which can be referenced from any Xamarin.Forms project.
Windows 10 on ARM video from Build 2017.
An ARM PC running Windows 10 can be treated just like any other PC. That means any Win32 application can be downloaded, installed, and run unmodified and as if you're on an x86 machine.
Windows 10 on ARM translates all the x86 instructions to ARM64 at runtime so as the user gets the exact same experience regardless of what their base hardware is. Those translations are also cached, meaning over time all the applications you use regularly will improve in performance. The example Microsoft uses in the video above is 7-Zip, which is downloaded from the web and installed.
VB6 apps will run on ARM and the VB6 programming IDE will run also.
>> NSBasic creates Web/Hybrid apps.
- iOS apps (iPad and iPhone) are mainly written in Swift (replacing Objective-C)
- Android apps are based around Java.
- With mobile development languages you may also need to select an IDE too (not all are 'built-in'). For Android that is usually either Android Studio or Eclipse. Swift uses its XCode IDE
- Development is done on a desktop or laptop, not on the mobile device itself.
You'll have noticed from what I have said so far, that you need to know 2 different languages - depending on what route you choose, that (fortunately) isn't necessarily so.
While doing what I have outlined above will give excellent results, many of us need to be more pragmatic and only use one language for both Android and iOS.
Even when deciding to have just one language there are 2 approaches -
either write Native apps (apps which look almost identical to apps that could be developed using Swift or Java) or writing Web/Hybrid apps (apps which use the mobile's browser to run but have the ability to use the mobiles hardware specific features too). Google the difference between Native and Web/Hybrid apps to find out more.
Of the products you mention:-
- B4X creates Native apps. B4X generates apps for Android, iOS, desktops, servers etc. Be aware it is a group of products. For Android development you need the B4A programming language (the IDE is included), for iOS development you need the B4i programming language (again the IDE is included). Both languages are similar, you can copy and paste much of the code from one to the other. They are both based on classic Visual Basic.
You do need to develop 2 versions of an app (for iOS and Android) on 2 different IDE's, but the language is very similar.
- Another approach is to use Microsoft's Xamarin to build native Android and iOS apps. Unfortunately VB.Net can't be used with Xamarin, so you would have to learn C# too.
What you should use to develop for mobiles depends on your requirements, I would suggest looking at both NSBasic and B4A/B4i.
I want to code for mobiles - mainly Android, also iPad and maybe iPhone.
I know VB6 programming and have used some VB.Net.
What should I use to develop for mobiles ?
I ask the question here because of a post I see below mentioning NSBasic programming and B4X programming. Are these the way to go ? Or is there a better approach ?
>> Have you some sort of paranoia about VB6 ?
You hit on something. If VB6 was not designed and marketed as an Enterprise software development solution it would not have been so HUGE.
The reality is that some VB6 mission critical apps will outlive the careers of college graduates from this year. VB6 has some real juice to it. It is REALLY good at what it does. Light years ahead. It got so much right from the position of an app solution provider.
It was not designed as a code elitest tool. Yet produces simple to complex rock solid applications faster than C# or C++.
It is understandable why corp execs to .Net only developers troll it with such nonfactual based posts..
Cheer to VB6!
Java is 22 years old this month !
Top 10 best Programming Languages 2017
You say " I am here to prove that VB6 cannot and will not be brought back. ".
Is this a self-appointed task? Or are you acting for someone else ? I presume it is the former. It does seem rather futile. Why would you spend your time making hundreds (literally hundreds) of posts on this thread ? Have you some sort of paranoia about VB6 ?
I honestly don't understand why you would waste your life with these posts. Have you no job ?
Do you have any skills ? You seem to talk a lot about C#, VB6 and Xojo. Can't you find a job using one of those ?
Looking back, it seems to be you who does the repeat posting here.
I can see at least a dozen postings of the 2017 Stack Overflow survey.
And further back, plenty of other repeated posts. Your "To be honest with you, I have used and actually learned programming using VB6 in the 90s" seems to be a recurring theme, though I doubt it is true. Plenty of other repeat posts too, far too many to mention here.
As I said, you are the one who keeps posting here, not I.
So you can't show posts I have made here previously.
And you haven't answered my question "How many users does C# have ? And how few of them have actually paid for licenses? "
No answers ?