I conned my parents into buying me a VIC-20 with 3.5 KB of RAM, then I saw the wonders of the VIC-20 Super Expander which pushed my mighty computer to 8K of memory and gave me some astonishing graphics which include lines, circles, points and fill. Later I got a C64 and the world was my clam, I got the C-64 Super Expander and was horrified to see that I went from 38K to 30K but the High Res graphics were amazing; imagine 320x200 pixels, amazing.
I stuck with my C-64s until college at which point I got an Amiga 500 which had some motherboard problems, I traded it for an Amiga 2000 with an IBM bridge board which allowed me to run a gigantic 20 MB HDD which I split into three parts, the DOS 3.2 partition which allowed the whole HDD on an Amiga to work, 10 MB for Amiga stuff and finally 5MB for Minix. I spent most of my time in Minix, I had VI, and cc which allowed me to explore lots of stuff although the eye candy of Amiga was compelling.
After college, I got a job at a terrible military contractor and had the pleasure of using SCO Xenix (yes THAT SCO) which was still in the terminal (80x24) setup but was able to run on a 486 with some pathetic amount of memory and a 20MB and a 40MB disk. From there, I started working with SunOS systems and SGI systems and learned to program GUIs with Motif, I got to know the wonders of X11 and graphics under Unix.
I later got a job at a Utility writing Motif GUIs and Unix applications for some fairly interesting scheduling systems on AIX, and eventually Linux.
Fast forward to 2016, those same Motif GUIs and applications are now running on AIX 7.1 and Oracle 12c with all new hardware, the same codebase that started life 20 years ago is now running on all new hardware and third party software. Happily I've never had to deal with any Microsoft stuff during my career: Commodore to Amiga to AIX to Linux.
I doubt many have had a career like mine that had the same code base that began 25 years ago and is almost all still in operation, on modern software and hardware.
Good old VIC-20 and C64, the best way to start.