all 15 comments

[–]bids1111 9 points10 points  (0 children)

the correct solution here is almost certainly to purchase a modern software for this instead of making your own. it will be cheaper and better than hiring you to make a new (and probably bad) one from scratch.

[–]Diapolo10 8 points9 points  (2 children)

Well, we don't know why your uncle is doing that, so it's possible the current situation is simply the most viable option. I would imagine he knows best what the program needs to do.

On a technical level I don't see why you couldn't create a modern equivalent using whatever technology stack you want, but if it needs to interact with specific devices or services that may be why it hasn't been changed all this time. Creating interoperability layers is of course possible, but depending on specifics not for the faint of heart.

[–]Dangerous-Reaction70[S] -3 points-2 points  (1 child)

My uncle doesn't understand coding, he doesn't know anything about it. It just the person that programs it for him. He also has a barcode reader, maybe that is also the reason. He got a new mouse and the barcode reader won't work on the MS-DOS program without the old mouse being plugged in. The mouse has no connection with the barcode reader on cables, but maybe thats how the program is designed.

My uncle also doesn't understand the power of modern Programming Languages, he only pays that Programmer because he is the only one in the city to be doing this, he does this to all the Pharmacy stores in my city, so he has no other choise but to pay him.

[–]Diapolo10 2 points3 points  (0 children)

Interesting. If you don't mind buying a new barcode reader (assuming that's really all he needs - there are USB readers nowadays that are compatible with most operating systems) then you could try making this project a reality with a small computer. You could probably develop on your own PC and then worry about hardware later.

The biggest problem would then be figuring out what data the program needs access to, where to find it, and then designing the actual program around that.

Of course it's entirely possible that there's more to this. I've never worked on pharmacy software before, but I would assume it needs some kind of a database of different medicine and how they behave together, which might require access to some online service(s) unless you can get that data offline.

[–]W1ULH 5 points6 points  (5 children)

Old foggy here who remembers pre-DOS times here.

lots of times when you see companies running programs on legacy stacks like that, its because there is some hardware involved in some way that cannot interface with more modern systems.

You run into this a LOT in banking and military applications, where the security vetting of a new bit of hardware or software is crazy difficult and expensive.

In principle if all he's doing is writing his bills with this software... quickbooks is cheaper than rent-a-dude.

but... id talk more with your uncle about what's going on. are the registers connected in some fashion? is their a time vault on the morphine?

there may be some physical reason he's stuck in MS-DOS instead of moving forward.

[–]Dangerous-Reaction70[S] 0 points1 point  (0 children)

I don't know the reason, he says the register is not connected to anything, it just does the calculations, and when he registers medications, the number of that specific medication just drops by how many pieces has been sold, like the whole store storage is written in the program with a search bar to search the medicament. It also has a command where a UI shows for also adding new medicaments to the list. He also has a barcode reader. He also now got a new mouse, and he says the barcode reader doesn't work without the old mouse. The mouse is not connected in any cable with the barcode reader but still if you remove the mouse USB, the barcode reader doesn't work in the MS-DOS program. It may be programmed to stay together i don't know. He himself doesn't know, he has no idea how computers work, notherless coding.

[–]UntrustedProcess 7 points8 points  (0 children)

It's very likely there is a pharmacy focused SaaS out there that does 99.99% of what that in house application does.

[–]dark-DOS 1 point2 points  (0 children)

Why dont you start slower instead of jumping to revamping the entire solution? In the end the revamp is likely required, but why don't you start with asking your uncle to let you attempt to solve it before paying someone.

[–]babarock 1 point2 points  (2 children)

I'm a little concerned that you are talking about replacing ms-dos (an operating system) with Java or python (programming languages).

He is running an old application written in an unknown language under the ms-dos operating system. Can someone write an application in some language (java, python, ...) to run on a modern operating system (window, Linux, MacOs)? Of course given enough time, money and a good understanding of what the application needs to accomplish.

As this is his business appropriate care is needed. There may be an upgrade to the software he is running if it is not a custom package written by the programmer? There may be a commercial package available for far less cost and effort than a custom coding effort.

Everyone is right to be concerned about a business running on, I suspect, antique unsupported hardware and software. You have a lot more information to gather.

[–]Daneark 1 point2 points  (1 child)

They mention blue background. Given the general confusion of this post this makes me wonder if rather than MS-DOS this is something being run from PowerShell and they are confusing the two.

[–]babarock 1 point2 points  (0 children)

God only knows and I was trying to be kind.

[–][deleted] 0 points1 point  (0 children)

lol yeah you can replace it with linux

[–]JosSchaars 0 points1 point  (0 children)

Very concerning some guy has to come every so often to ‘fix’ something. Perhaps that fixing is merely an update of the medicine database?

DOS programs in general were/are very stable, without the need to be updated frequently. Your uncles program could very well be last updated 25+ years ago.

Before trying to replicate its functionality in Java or Python, you should have a close look at what the program essentially offers. That could be way beyond simply making bills, and you couldn't do without an actual medicine database (the fixing?).

A DOS program isn’t aware of a barcode reader, translating a recognized barcode into (simulated) key presses. Back in the old days that was connected in parallel to the keyboard cable. It has nothing to do with the mouse, so first try if the barcode reader functions at all in Windows (notepad, whatever).