|
My company has a desktop program that uses COBOL for some business logic. It also uses Delphi for the UI and other business logic. COBOL is not just for mainframes.
Bond
Keep all things as simple as possible, but no simpler. -said someone, somewhere
|
|
|
|
|
|
And they still haven't found his luggage.
|
|
|
|
|
The software that controls Nestlè inspection machines was first written in 1996 in QBASIC, then ported to VB in 2000 and it is running today.
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
Yes. And I have specified few desktop programs.
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
I bet some of those programs will be relevant. It really depends on what they're supporting. I have one program that was originally developed in 1997 using FoxPro for DOS, migrated to MS-Access, and is now written in VB.Net using a SQL Server database for the back end. We still have data from 1997 in the database. The core functions of this program haven't changed since the original version in 1997.
|
|
|
|
|
I have a very similar situation with software written in 1995 in a mix of QBasic and MS Access, migrated to a SQL server back-end, updated to VB for the QBasic stuff, back-end moved to MySQL, and numerous iterations since.
What's interesting to me is the derision shown for powerful, capable and effective systems written in so-called "toy" languages.
Many still run today because they just work and do what they were designed to do.
I develop mostly in C# now but I would never look down on people still using VB, VB.Net, or any other language.
If it works for them, then it must be doing something right.
Program-language snobs are something I cannot understand.
I will admit that I would never start developing a new project on any of the older languages, no matter how well I know them.
|
|
|
|
|
Carl Edwards In SA wrote: Program-language snobs are something I cannot understand.
I understand your statement but there is a bit more to it that just that.
Older implementations can have other problems which management is unwilling to address. For example one often gets to the point that the only way you can find maintenance programmers is by finding someone who doesn't know anything about the older language and convince them that learning that language that is unlikely to be used elsewhere is going to be a good choice for them.
To be fair though I have seen a current trend where management has decided that micro-services can be written in any language and with any persisted data store which obviously completely ignores the longer term maintenance costs.
|
|
|
|
|
It depends upon the business you're in. I designed/programmed firmware for telecom equipment (hardware on a 911 call takers desk). It had a minimum life time requirement of 10 years. Heck, one of our customers requested (and got) a firmware change to a product that was over 16 years old.
|
|
|
|
|
Well, NOW would be a good choice. Oh, and moving to .NET 7 or 8 while you're at it.
|
|
|
|
|
Start saving now and retire in 2034!
Yes, boss. All VB6 for all projects!
2 weeks of hand off should be plenty.
|
|
|
|
|
A form is a form. VB6 is usually a (thin) front end to a client server system. No hurry given such a big window. Might even be premature; not knowing what's around the corner 2 - 5+ years in the future.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
Now. Even VB.NET is a low priority. I would jump to C# and Dot Net 7.0+.
Graeme
"I fear not the man who has practiced ten thousand kicks one time, but I fear the man that has practiced one kick ten thousand times!" - Bruce Lee
|
|
|
|
|
I think VB.Net has a different priority from C#. VB.Net's developers are trying to keep the language stable. C#'s developers continually add features. Their target development environment is different and language stability is important to the VB developers.
|
|
|
|
|
Very recently Damian Edwards[^] was asked about bringing VB in line with ASP.Net MVC, and the response was there is no plan to do it. That is just one example.
Graeme
"I fear not the man who has practiced ten thousand kicks one time, but I fear the man that has practiced one kick ten thousand times!" - Bruce Lee
|
|
|
|
|
Oh my, am I that old already...
I felt nostalgic a few weeks back and started up an old lappie of mine(showpiece on display now). Guess what I found - VB6 Enterprise was still installed, a major folder with many a project. Man, did I have fun for hours on end!
|
|
|
|
|
Please recommend where to switch to.
|
|
|
|
|
Take your choice. Either C# or VB. Both have their pros and cons. VB might be easier to learn but C# will have more example code on the web for solutions.
|
|
|
|
|
Honestly, can't answer that question without knowing more about the apps. Staying with .net, C# or VB won't make much difference but it's easier to find talent in C#.
But, is that the best solution? Don't know.
|
|
|
|
|
Who knows, maybe by then tech buzzwords will make a full cycle, RAD becomes a thing again and VB7.0 will be released.
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
I do wonder whether this is in some way linked to VBA. If it is I assume that Microsoft probably don't want to break the back end of Excel. The fallout from that would be significant
It goes without saying
|
|
|
|
|
Those who haven't switched yet are prolly not ever going to.
Personally, I stopped doing anything VB6 years ago and I'm not touching it again.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
|
A few things, among several, factor into that decision.
1 - MS has a history of bringing .NET changes to C# first, VB second. Bill Gates was the driving force behind keeping VB at equity with C#, and he is long gone.
2 - More .NET developers use C# than VB, so MS markets to the larger customer base first.
3 - VB easily converts to C# with tools that take VB to MSIL and the MSIL to C#.
4 - Too many classic VB programmers ignored MS in the late 90s to use VB6 for object oriented programming instead of the older procedural programming that became obsolete by the time VB5 came out. Converting/refactoring procedural VB6 to OO VB takes as much effort as converting/refactoring procedural VB6 to OO C#, so many chose the latter.
If your context is converting/refactoring VB6 to .NET, start now. There is so much more available in .NET 7 than there was in VB6. Refactoring will take time to make the business rules and UI implemented in VB6 to an efficient design in .NET.
|
|
|
|
|
When to switch? I'd start now. Nothing ever goes as planned, so figuring things out now, well ahead of a complete drop in support, is the wiser choice.
I have no idea where the OP is in his career, but any newer language is a more marketable skill, so starting now also adds to the resume.
What to switch to?
I was a VB developer (among other languages) from 1993 to 2003. At that point there was still a lot of 3rd party support for VB6, but without MS support it was a dead language. Yeah, obviously as dead as COBOL, but as an IT consultant, I had to focus on marketable skills, and VB was no longer "it".
The obvious jump-to was VB.NET, but within a few months I formed the opinion that MS made VB.NET primarily to keep the VB5/6 developer base from jumping ship. VB.NET didn't get the same support and was not graining traction in market share.
Next I investigated C#, and that has been my primary platform since then. It's the MS flagship for programming languages, gets the support, and has a viable future. Market share of the tool matters greatly to ensure continued employment, and C# is ranked 5 or 6 in most surveys.
From the OP's POV? C# is going to be the easiest path. The environment is similar enough and C# has enough similarities in structure that the learning curve should not be too steep.
Jumping from procedural to OO can be a difficult jump. VB6 has some OO, and if the OP has been using classes, the leap may not be a long one.
|
|
|
|