I wish to let everyone know I am an expert developer. I have written software for so many different machines it’s hard to explain only due to so many arcane techniques were needed in the early years.
I have used FORTRAN, PASCAL and other mainframe languages. I started with FORTRAN on an IBM 360 and moved on to the IBM 370.
My first personal computer was a Tandy TRS-80 which ran CP/M and used a Zilog Z-80 processor. The machine was problematic and the disk drive did not work reliably either. I ended up with dual disk drives so that files could be copied back and forth as the capacity was limited.
The IBM PC offered a new CPU and unlike the TRS-80, the machines came with a floppy disk drive built-in. The PC has 64 KB of memory and sockets for more so I bought a couple of tubes of memory chips and filled the board out to the full 256MB.
The PC AT came with a larger capacity floppy and a hard disk built-in. This machine was more expensive but it worked well.
PC-DOS and MS-DOS are both written entirely in Assembler. This is due to the very limited machines which were too underpowered to handle high level languages.
Modula-2 was eventually available for MS-DOS which allowed for using a high-level language with many powerful capabilities. I wrote a terminal emulator in Modula-2 which included a double buffered input/output queue to handle the serial port and the was a lot of code to handle the display with the various modes the VT52 and VT100 terminals used. Modula-2 has containers to encapsulate code reducing error with duplicate names etc. The return type was limited and user defined objects could not be returned on the stack but rather the function call had to handle return values.
Microsoft eventually bought a C compiler and slowly started to use it. Once Windows surfaced however, the complexity rose rapidly.
With Windows 3.1 and the win32s add-on, the 32-bit API called Win32 was now becoming the API of choice for Windows. Microsoft indicated the older 16-bit code was not going to be migrated primarily as they wanted a fresh start with Windows on the 80386 and above machines. While today Microsoft called the Win32 from Windows 2000 and above, most of it is much older from Windows 3.1 and Windows 95. Microsoft has simply expanded the Win32 API over time.
Microsoft was able to migrate the entire Win32 API to 64-bit which made it possible to compile existing code for AMD64. The meant all of the projects could be moved quickly to 64-bit.
64-bit has been the API of choice for developing fast projects as the old way of doing things is so much faster than the middleware Microsoft embarked on with Java and .NET later on. Microsoft was developing the .NET extensively. C and C++ was allowed as managed code but the performance was gutted.
Visual Foxpro used the old dBASE format files. This type of development allowed old DOS programming to run in Windows with a staggering amount of powerful resources. Converting dBASE files to MySQL was not difficult but it did require some thinking. Excel can open dBASE files and save it to CSV. FoxPro can use a database and save it to a CSV. MySQL can accept CSV when importing data.
Linux on my old IBM Pentium III box was accessible remotely so it was possible to run it as a web server. I used that machine for years until it finally bit the dust.