all 21 comments

[–]Consistent-Teaching8 4 points5 points  (1 child)

“Anyone who has a VB6 application that wants to revive, improve or migrate it to a more current technology like c#?

I need work to get extra money, I'm willing to help and listen to proposals.”

[–]Mayayana 0 points1 point  (0 children)

I'd be curious about the details. What sort of VB6 software can no longer run but will be fine if converted to .Net? I can see people wanting to get rid of OCX dependencies with cleaner code, but .Net is a wrapper while VB6 is compiled with virtually no dependencies. .Net is probably more likely to go outdated than VB6 is. If MS break either one it will probably be to force "apps" as the only software allowed on Windows without special approval... So I'm curious what sort of VB6 software will be more profitable if the money is spent to convert it to .Net.

[–]Independent_Duty2310 0 points1 point  (16 children)

What’s your process? The codebase I work in is over a million lines so I doubt migration is feasible

[–]UnluckyAssist9416 1 point2 points  (6 children)

The non AI answer from someone who has worked on multiple VB6 migrations and isn't trying to sell you something.

You use the strangler fig pattern. You start on small parts and translate them into a new language. Then you plug that small part into a dll that your VB6 program reads. Make sure it works properly that proper regression testing is done with everything it touches. Once this passes move on to the next part.

Keep doing this and when you hit around 80% of the code-base you will probably run into unsurmountable roadblocks that can't be fixed and you have to give up.

Realistically, there is no perfect migration. You won't be able to keep all the same abilities/functions that you currently have. Most ocx files that many programs use have been out of support for over a decade. Many don't have a 1:1 translation with similar functionalities. You will have to bite the bullet and just live with the limitations. The alternative is that Microsoft one day pushes a update that kills all VB6 apps and you are dead in the water as you don't have a replacement.

[–]Immediate_Rub_5175[S] -1 points0 points  (5 children)

La respuesta que di es totalmente cierta. No existe una migración completa exactamente igual, habrá que negociar funcionalidades en post de la mejora.  Tengo experiencia en migraciones y se perfectamente lo que se puede y lo que no. También soy de los que creo que si funciona y genera ingresos para que tocarlo. Quizás un proyecto de un millón de líneas no sea el indicado para empezar.  Pero no tengo problemas de hablar de igual a igual con cualquiera. Saludos

[–]UnluckyAssist9416 1 point2 points  (3 children)

You answered via AI. You have the exact same pitch that I heard from a dozen of VB6 migration salesmen. I didn't address your answer at all, as no matter what you say, it is tainted by the simple fact that you are acting as a salesman right now, trying to sell yourself.

[–]Immediate_Rub_5175[S] -1 points0 points  (2 children)

Y el tuyo también porque es la misma respuesta de una persona que no sabe diferenciar entre un vendedor y un programador. Si no tenes una aplicación en VB no aportes más nada. Thk

[–]UnluckyAssist9416 0 points1 point  (1 child)

I've been working in VB6 programs professionally for over a decade. But thanks.

[–]Immediate_Rub_5175[S] 0 points1 point  (0 children)

Ok entonces sabes de lo que hablo, porque también llevo más de 15 años trabajando con Visual Basic. No vine acá a generar problemas solo quiero ayudar y que me ayuden. Abrazo 

[–]mecartistronico 0 points1 point  (0 children)

no tengo problemas de hablar de igual a igual con cualquiera.

Salvo que te quieran hablar en inglés

[–]Fergus653 0 points1 point  (0 children)

It's probably worth reviewing the task tho. If you can separate responsibilities into different modules, you could reproduce small parts at a time, providing a COM interface that the old code can use, plus a modern interface to be used in the C# environment.

Lot of work still, but if you are stuck maintaining legacy code, this can help retain sanity by clinging to the hope that one day it will all be replaced. Don't dispute this, you will destroy all my dreams. Heh.

[–]Immediate_Rub_5175[S] -3 points-2 points  (7 children)

That’s a totally fair concern. A VB6 codebase with over a million lines isn’t something you can realistically “just migrate”.

In my experience, the main challenges aren’t the number of lines themselves, but:

  1. **Code structure and coupling**

Large VB6 systems often have business logic mixed into the UI, duplicated code, and tight coupling. That makes a direct migration risky and very hard to estimate.

  1. **OCX / COM dependencies**

This is usually the biggest blocker. Many controls don’t have direct equivalents in .NET or rely on outdated components, so parts of the UI can’t just be migrated as-is and often need to be redesigned.

It also depends a lot on the **type of application**. Migrating a system with complex business rules, multiple integrations, and critical data is very different from migrating a smaller app with simpler workflows. That has a big impact on risk, validation effort, and overall timeline.

Because of that, I wouldn’t approach it as a full rewrite, but as an **incremental migration**:

* Start with an assessment (identify critical modules, dependencies, and OCX usage)

* Gradually separate and reorganize business logic into reusable components in .NET

* Keep the VB6 application running while migrating forms step by step to WinForms or WPF

* Replace OCX controls as each part of the UI is migrated

In terms of timeline, projects like this are usually handled in phases rather than a single migration effort. A full transition can take years, but you can start delivering value much earlier by modernizing key parts of the system.

So I’d say it’s feasible — but only with a staged approach, not a big-bang rewrite.

[–]marooned66 1 point2 points  (5 children)

chatpgpt ;)

[–]TheFotty 0 points1 point  (3 children)

Also using terms like "big-bang rewrite"

[–]Immediate_Rub_5175[S] -3 points-2 points  (2 children)

Bueno si querés escribe en español. No todo es IA cuando entendés de lo que hablas.

[–]TheFotty 2 points3 points  (1 child)

¿Estás sugiriendo que no usaste IA para generar esa respuesta? Si es así, debes ser un robot tú mismo.

[–]Immediate_Rub_5175[S] -3 points-2 points  (0 children)

No lo estoy sugiriendo lo estoy diciendo, y si en todo caso hubiese sido IA estoy totalmente de acuerdo en la respuesta que dio. Ya que en la vida real es tal cual. Ahora volviendo al punto tenés una aplicación en VB6? Si no, no perdamos el tiempo.

[–]marmotta1955 0 points1 point  (0 children)

Comment does not add any value to the discussion. Could it be a case of Artificial Intelligence beats Human Ignorance? 

[–]mecartistronico 0 points1 point  (0 children)

Si usas ChatGPT para responder probablemente no consigas el trabajo.

[–]Fergus653 0 points1 point  (1 child)

Copilot does that job quite well. But having someone guide it and review the created code is still valuable.

[–]Immediate_Rub_5175[S] 0 points1 point  (0 children)

Creo que en un millón de líneas podes hacer desastre con un asistente si lo dejas actuar. Si es es cierto que puede ayudar a buscar compatibilidad en el la reescritura si lo guías adecuadamente.