Is learning VB6 now a complete waste of time?

  • (8 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »

109 Replies - 44087 Views - Last Post: 08 January 2014 - 04:44 AM Rate Topic: -----

#1 BobRodes  Icon User is offline

  • Your Friendly Local Curmudgeon
  • member icon

Reputation: 574
  • View blog
  • Posts: 2,989
  • Joined: 19-May 09

Is learning VB6 now a complete waste of time?

Post icon  Posted 07 November 2012 - 09:02 PM

*
POPULAR

It seems like there is a lot of sentiment that VB6 is pretty much useless to learn anymore. I'm not sure I agree with that position personally, but I wanted to throw it out there and see what sorts of responses we got. I particularly want to explore reasons other than the "maintain the vast body of legacy code out there" reason.

A couple of things that occur to me personally are the ease of creating and using COM objects, and the ease of creating wrappers for the Win32 API. Would anyone else care to share a point of view?

Is This A Good Question/Topic? 8
  • +

Replies To: Is learning VB6 now a complete waste of time?

#2 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9187
  • View blog
  • Posts: 34,489
  • Joined: 12-June 08

Re: Is learning VB6 now a complete waste of time?

Posted 07 November 2012 - 09:13 PM

As someone that pulls up projects from VB6 to .NET (and also does maintenance on existing Vb6 apps) I would say - yes. Unless you have a specific need (ie legacy code) to install vb6 you are better off running full tilt into .NET land. To keep things current it is best to make the leap... I am certain a few vb3 people were asking this same thing when vb6 was vogue.

I mean if you know vb6 that's great, but if you are just getting into programming I am not sure what learning vb6 uniquely offers for "today's computing" that .NET doesn't co-opt.
Was This Post Helpful? 3
  • +
  • -

#3 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2262
  • View blog
  • Posts: 9,462
  • Joined: 29-May 08

Re: Is learning VB6 now a complete waste of time?

Posted 07 November 2012 - 09:31 PM

It's reasonably simple to communicate with COM objects.
PInvoke Example
If you're using VS2010 or later there is http://www.red-gate....pment/pinvoke/.

But I think the trend is more toward abstracting the OS away, so it can be used across platforms. Portable Libraries
Windows Runtime is essentially an updated COM

vb6 is supported in Windows8 (sadly)
Microsoft should make a stand and say they killing vb6 support in the next OS release.

This post has been edited by AdamSpeight2008: 07 November 2012 - 09:37 PM

Was This Post Helpful? 3
  • +
  • -

#4 BobRodes  Icon User is offline

  • Your Friendly Local Curmudgeon
  • member icon

Reputation: 574
  • View blog
  • Posts: 2,989
  • Joined: 19-May 09

Re: Is learning VB6 now a complete waste of time?

Posted 07 November 2012 - 09:34 PM

Of course, using COM objects isn't difficult. I was thinking more about creating them. Interesting links, Adam; perhaps there really won't be a reason to use VB6 once Windows 8 rolls around.

This post has been edited by BobRodes: 07 November 2012 - 09:40 PM

Was This Post Helpful? 0
  • +
  • -

#5 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2262
  • View blog
  • Posts: 9,462
  • Joined: 29-May 08

Re: Is learning VB6 now a complete waste of time?

Posted 07 November 2012 - 10:04 PM

In VS2010 (should be in VS2012) there is an Item Template called COM Class.

This post has been edited by AdamSpeight2008: 07 November 2012 - 10:04 PM

Was This Post Helpful? 0
  • +
  • -

#6 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4479
  • View blog
  • Posts: 7,801
  • Joined: 08-June 10

Re: Is learning VB6 now a complete waste of time?

Posted 08 November 2012 - 07:16 AM

I see VB6 as the new COBOL. Something that nobody (in the west) teaches, but will be a required skill for lots of jobs for many years to come. All because of deeply embedded legacy systems.

Learning it now would be useful if you want a job doing that: maintaining or porting legacy systems. I would think people would learn it out of necessity when they're tasked with that, not seek it out. If you want to make new applications professionally, VB6 is unlikely to be something that gives your resume a boost, considering just how far out of date it actually is.

Quote

the ease of creating and using COM objects, and the ease of creating wrappers for the Win32 API


I wouldn't know about COM, but I do know that P/Invoke is just the bee's knees for Win32 interop. It's pretty simple for VB.NET/C# to wrap Win32, so that's not really an advantage for classic VB.
Was This Post Helpful? 3
  • +
  • -

#7 xclite  Icon User is offline

  • LIKE A BOSS
  • member icon


Reputation: 904
  • View blog
  • Posts: 3,165
  • Joined: 12-May 09

Re: Is learning VB6 now a complete waste of time?

Posted 08 November 2012 - 09:08 AM

I wouldn't call it completely useless if you knew no other langauges. I would consider it the most useless of your options.
Was This Post Helpful? 0
  • +
  • -

#8 mikepet  Icon User is offline

  • New D.I.C Head

Reputation: 2
  • View blog
  • Posts: 4
  • Joined: 08-November 12

Re: Is learning VB6 now a complete waste of time?

Posted 08 November 2012 - 09:24 AM

VB6 is a great introductory language for new programmers. The syntax is easy to code and to follow. New programmers can concentrate on learning data types and how to declare and code variables, events, methods, properties, modules, and classes without getting confused with advanced stuff like inheritance. Once a programmer has a firm grasp of how to properly structure an application, then they can graduate to more advanced languages.

The key here is to use VB6 as a base for learning the fundamentals. First lesson is know how to turn on Option Explicit!
Was This Post Helpful? 2
  • +
  • -

#9 Curtis Rutland  Icon User is online

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 4479
  • View blog
  • Posts: 7,801
  • Joined: 08-June 10

Re: Is learning VB6 now a complete waste of time?

Posted 08 November 2012 - 09:54 AM

Why would we use an out-of-date, out-of-support language to teach new people to programming? That would be more frustrating than anything.

Quote

New programmers can concentrate on learning data types and how to declare and code variables, events, methods, properties, modules, and classes without getting confused with advanced stuff like inheritance.


They can do all that in VB.NET too; with the added benefit of being able to transition directly into inheritance later without having to learn a whole new language. Also, how is events a less advanced concept than inheritance?

If you want an easy-syntax language to teach newbies with, go with Python. Or VB.NET, which takes what was good from VB6 and rolls in the entire .NET Framework to boot.

Quote

The key here is to use VB6 as a base for learning the fundamentals.


I disagree vehemently, because you can use other languages that are just as easy to learn fundamentals, but will also be modern, in-support, and in mainstream use, so when you're done with the initial learning and ready to start doing, you don't have to switch languages.
Was This Post Helpful? 3
  • +
  • -

#10 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2262
  • View blog
  • Posts: 9,462
  • Joined: 29-May 08

Re: Is learning VB6 now a complete waste of time?

Posted 08 November 2012 - 10:48 AM

Start with Console Application not some kind of Form, learning the basics of methods (functions and subroutines) doesn't require pretty UI. Same goes for a structures, algorithms, inheritance.

This post has been edited by AdamSpeight2008: 08 November 2012 - 11:08 AM

Was This Post Helpful? 2
  • +
  • -

#11 TheGDeveloper  Icon User is offline

  • D.I.C Head

Reputation: 10
  • View blog
  • Posts: 93
  • Joined: 22-September 09

Re: Is learning VB6 now a complete waste of time?

Posted 08 November 2012 - 05:58 PM

vb 6 is last century my friend :)
Was This Post Helpful? 0
  • +
  • -

#12 maj3091  Icon User is online

  • D.I.C Lover
  • member icon

Reputation: 300
  • View blog
  • Posts: 1,776
  • Joined: 26-March 09

Re: Is learning VB6 now a complete waste of time?

Posted 09 November 2012 - 03:01 AM

I would agree with Bob, that it's not a useless language to learn, but I would also say that if someone is starting out, their time and effort would be better directed into learning something more up to date.

As stated, there will always be work around VB6, but I just think it's a little foolhardy to train to go into that area as a newbie.
Was This Post Helpful? 1
  • +
  • -

#13 webemeeker  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 1
  • Joined: 09-November 12

Re: Is learning VB6 now a complete waste of time?

Posted 09 November 2012 - 06:55 AM

I've been programming VB since 1993. Each new version was a vast improvement and have upgraded each program to the latest version as time allows.

I've been programming in VB.Net since 2007 and find it much easier to code in. Partially due to Visual Studio and partially due to DOTNET and the rich set of controls available.

I still have a few programs in VB6 but I have rewritten most of them in DOTNET. I believe there is room to learn VB6 primarily as a gateway for converting them to either VB.Net or C#.

Our company doesn't have to resources to convert all of the applications developed in VB6 to DOTNET and even if we did our user community couldn't support UAT. So any new developer we hire should have some background in VB6.

I wish it didn't have to be that way.
Was This Post Helpful? 1
  • +
  • -

#14 Chris Boss  Icon User is offline

  • New D.I.C Head

Reputation: 6
  • View blog
  • Posts: 4
  • Joined: 09-November 12

Re: Is learning VB6 now a complete waste of time?

Posted 09 November 2012 - 07:21 AM

If you are planning on getting a job based on knowing Visual Basic, likely only if you know other languages too. That said, Visual Basic is still useful because one can develop apps very quickly with it with little overhead or complexity added (such as VB.NET). It isn't bad for quick inhouse utility apps which need to be written fast, especially when you need to run the software on older PC's.

A great combination with Visual Basic 6 is PowerBasic. PowerBasic provides the power of C, but with a Basic syntax. VB 6'ers can use it to create high speed DLL's.

There is a big difference between VB 5/6 and VB.NET. They are like night and day. While VB 6 is somewhat object based, it is also more procedural in nature (which I think is a good thing). In the dot.net languages everything appears to be an object which IMO adds complexity and overhead. There are some who believe a more procedural approach to software development produces faster software with significantly less overhead than a pure OOP oriented approach. VB 6 is a nice middle ground approach which is somewhat OOP like (forms and controls are objects) but also very procedural (especially if you avoiding writing classes). I can appreciate this myself because for the last 10 years I have not been using a Microsoft programming language. After recently downloading and playing with Visual Studio I find it overly complex and bloated. Visual Studio takes up a good 2 gigs of hard drive space, while I use a system which only takes up about 20 meg total.

While I understand the mindset of staying with the latest technologies, there is something to be said for a more low level, simpler approach. For example I work purely with the WIN32 API's. While I don't currently use Visual Basic (had versions 1.0,2.0 and 5.0 Pro), I do know it can easily be extended using direct API calls. Thats where you push it to its limit. The WIN32's while considered legacy today are actually very powerful and you can write apps which will run on Windows 95 to Windows 8 (yes. Windows 8 ,x86 version, fully supports the WIN32's). The WIN32's also even allow you to build dynamic software which can dynamically load API's depending upon which OS it is run on (use LoadLibrary to load a DLL and then poll the DLL to see if the API's exist and if so call the API's via pointers, which is easy to do using PowerBasic).

One advantage of programming languages (like original VB or Powerbasic) is that one can write apps which are relatively small in size, which is great when you have limited drive space (ie. on tablets or for flash drives). There is also something to be said about writing apps which don't need to deal with any registered system objects (ie. VB without any OCX's) so you can just copy and run. To be able to just copy some files to a folder and run has advantages.
Was This Post Helpful? 3
  • +
  • -

#15 tsrl  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 09-November 12

Re: Is learning VB6 now a complete waste of time?

Posted 09 November 2012 - 07:27 AM

Someone in an earlier post mentioned VB6 as the new COBOL. In some ways that might be true, but please remember that, of all of the lines of code that have been written since the dawn of the computer age, 65-70% of them are in COBOL. According to Gartner, 5 billion lines of new COBOL code are currently being created each year. When I am hiring a programmer, I look for someone who is adaptable and can handle a variety of languages. This allows the group to take on both new and legacy projects, employing the language that is best suited to the application.

By the by, there are universities that do teach COBOL and other older languages. In my other existence as a professor I teach COBOL and Visual Basic (along with C++, C#, Java, etc).
Was This Post Helpful? 0
  • +
  • -

  • (8 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »