Let me follow-up my last post >>15183 to add that MSDOS doesn't have to be retarded and gay >>15145 because they made a whole bunch of useful tools for it back in the day, so it's only lame if you're using it stock. I can't list all of them, but for starters you should look into 4DOS and QEMM/Desqview. I didn't have 4DOS back then sadly, so I hobbled along with COMMAND.COM and some aliases and command history provided by the DOSKEY program that came with my version of DOS. I also had LIST90H that was also very helpful, kinda like a mini version of Norton Commander.
For programming, the OS should already includes some version of BASIC like BASICA/GW-BASIC or QBASIC. These are actually quite good dialects, and were very popular back in the day so you'll find tons of programs written in them (as well as the older & compatible MBASIC for CP/M). I liked them back then, and now I like them even more!
Otherwise Turbo Pascal was also very popular. Something I stumled on today while searching for an old game (Island): http://blarg.ca/2018/10/14/turbo-pascal
I also had a lot of fun with TP back in the 90's. More recently I tried to use FreePascal on Linux, but it's not at all the same in practice. With DOS things were simple, everything just worked because you had full access to the hardware. With FPC, half the TP library functions don't even work, like for example the PC speaker, or writing to video memory. Obviously this is a no-go with nanny Linux kernel (no fun allowed!) but the FPC devs didn't bother to make any translation layer for typical DOS stuff, so you have to instead use another library altogether like SDL or whatever. That means you can't just compile old code, you have to rewrite it, unless it's just text and even then you can't assume the terminal can have a certain size or the ANSI (Codepage 437) DOS font. But I had lots of fun with this in DOS, and actually I haven't really done much game programming since those days, because coding on Linux has just been a shitty experience for me. I should have just stuck with my 486 and DOS. Especially since I had gone through the trouble to install an NE2000 network card in there, plus a packet driver and the other required software for TCP/IP, etc. I even had a version of Lynx for DOS, and there were other tools like Pine that ran natively. I even had a copy of Deluxe Paint for making pixel art, Scream Tracker 3 for making music. Shit was cash!
If you can't get TCP/IP running for some reason, don't worry. Just get Kermit instead, it kicks ass!