I'm Christian I am no professional programmer or developer. I have since young age found some interest in programming languages and so I tought myself by the precious internet to code some lines in C, C++, C#, VBA, Assembler and took a look in some other programming languages as well just for fun. I experimented a bit in SQL Database techniques and made my own thoughts about deep learning, AI and machine learning.
My main business is management in financial and legal services. As luck of the draw two years ago I decided to acquire a small tradional company. Lots of paperwork, unoptimized workflows, no workflows at all. The list of tasks to do is long. Quite early I had the idea to implement some of my own codings here and there with the aim to increase the quote of own coded sections bit by bit.
A hard nut to crack is one program that is in use for really old long term files (some 40+ years). Of course the program has no support. I contacted some people that are still helping for this product for incredible high rates. But indeed they all have no clue about the core structure but only knowledge about operation. But the program has a Makro language that enables to use VO functions. That made me creating two new projects. The one to get grip on the data of the database behind to export it to my own systems. The other to try out what is possible inside this very interesting and underestimated program from the 80's. I feel a bit like an IT-archeologist
Well that lead me here and I think the X#-project is a great thing with a good portion of perspective. But of course I have no clue and with VO and X# I stand right at the starting line.
Hi @ all!
Hi @ all!
Hi Christian,
I already wondered why you searched for VO functions.
Contrarily to the "normal" compiled VO language the macro language is somewhat limited.
First of all, you can only use untyped functions (with the exception of some functions that the macrocompiler knows). Second, you can only use functions that are effectively linked into the program. Of course it is possible that the program that exposes the macro language to you has some extra functions that are not part of the standard VO function library - and then of course you can use them.
But since VO is a compiled language you can do nearly nothing if you are not able to find/acquire the sources.
Or you can rewrite it yourself in a modern language (or find someone that can do that).
Wolfgang
I already wondered why you searched for VO functions.
Contrarily to the "normal" compiled VO language the macro language is somewhat limited.
First of all, you can only use untyped functions (with the exception of some functions that the macrocompiler knows). Second, you can only use functions that are effectively linked into the program. Of course it is possible that the program that exposes the macro language to you has some extra functions that are not part of the standard VO function library - and then of course you can use them.
But since VO is a compiled language you can do nearly nothing if you are not able to find/acquire the sources.
Or you can rewrite it yourself in a modern language (or find someone that can do that).
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Hi @ all!
Wolfgang,
i think, there is some misunderstanding - he cites the legacy code to be "from the 80ies" - so it can't be VO based. I'd suspect Clipper
But i don't get, how this macrolanguage might call a VO func. Might be useful to name the prog, as we are mostly dinosaurs here, someone might have a clue, what's possible and what not. As to name samplewise, what the ML can do...
i think, there is some misunderstanding - he cites the legacy code to be "from the 80ies" - so it can't be VO based. I'd suspect Clipper
But i don't get, how this macrolanguage might call a VO func. Might be useful to name the prog, as we are mostly dinosaurs here, someone might have a clue, what's possible and what not. As to name samplewise, what the ML can do...
Regards
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Hi @ all!
Hi Karl,
of course an application that has more than 40 years cannot be VO, could be only Clipper.
But: Clipper is DOS-based, so it would not run anymore on modern Windows, and therefore I thought the 40+ is an error, it could be a bit less than 30 years if it would be VO 1.0 (VO 1.0 was released in 1994), but even a VO 1.0 application would not run anymore on modern windows as it would be a 16 bit application only.
But the final clarification can be given only by Christian.
Wolfgang
of course an application that has more than 40 years cannot be VO, could be only Clipper.
But: Clipper is DOS-based, so it would not run anymore on modern Windows, and therefore I thought the 40+ is an error, it could be a bit less than 30 years if it would be VO 1.0 (VO 1.0 was released in 1994), but even a VO 1.0 application would not run anymore on modern windows as it would be a 16 bit application only.
But the final clarification can be given only by Christian.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Hi @ all!
Hi Christian
Programming in terms of computer languages, has moved on significantly in the last 10 years let alone the last 40.
Understanding the underlying structure is different. Understanding, subjectively, has become easier. That structure is fundamentally based on what we do naturally, but translated into control of electronics which operates (below pulse level) at the speed of light.
If I knew the language of your old long term files, I would look at them and make a guess at what they were trying to do.
I would then have to rewrite the program, structuring it to my guesswork. And KEEP doing this until there were no errors.
But you, yourself, are in a much better position to guess what your original code was trying to do. You have, what I don't have, is your own memory of the distant past to help.
This dictates the underlying structure. It forms what is in fact a Requirements Specification for your program.
So, my advice is to forget old code. Just draw up a Requirements Spec and get someone conversant with modern practice to code it for you. The language they use is irrelevant, though a Net based language (X#) makes most sense here.
You could try doing it for yourself, but my guess is that time will not allow this.
Hope that makes some sense.
Terry
Programming in terms of computer languages, has moved on significantly in the last 10 years let alone the last 40.
Understanding the underlying structure is different. Understanding, subjectively, has become easier. That structure is fundamentally based on what we do naturally, but translated into control of electronics which operates (below pulse level) at the speed of light.
If I knew the language of your old long term files, I would look at them and make a guess at what they were trying to do.
I would then have to rewrite the program, structuring it to my guesswork. And KEEP doing this until there were no errors.
But you, yourself, are in a much better position to guess what your original code was trying to do. You have, what I don't have, is your own memory of the distant past to help.
This dictates the underlying structure. It forms what is in fact a Requirements Specification for your program.
So, my advice is to forget old code. Just draw up a Requirements Spec and get someone conversant with modern practice to code it for you. The language they use is irrelevant, though a Net based language (X#) makes most sense here.
You could try doing it for yourself, but my guess is that time will not allow this.
Hope that makes some sense.
Terry
Hi @ all!
Maybe it could be dBaseII or dBaseIII+ or an early Foxpro? Easily 35 years old. A reasonably straightforward path to X# I'd think, but agree that it might just be easier to write something totally new if the specification can be determined.
Merry Christmas everyone.
Merry Christmas everyone.
Hi @ all!
I posted this reply a few days ago, but it seems to disappeared into the 4th dimension!
Anyway it went something like this ...
I couldn't find a Clipper program to test but I was able to run dBaseIII in DOSBox without any problems (W10 64).
You can run almost any dos app in DOSBox, it's amazing. Makes one feel quite nostalgic - for a short time
www.dosbox.com
So you could continue to run the old code or make new - your choice.
Happy Holidays,
Don
Anyway it went something like this ...
I couldn't find a Clipper program to test but I was able to run dBaseIII in DOSBox without any problems (W10 64).
You can run almost any dos app in DOSBox, it's amazing. Makes one feel quite nostalgic - for a short time
www.dosbox.com
So you could continue to run the old code or make new - your choice.
Happy Holidays,
Don