I mostly learned on my own. I'd go to the city library when I was in middle school and build programs in GW Basic. In high school, I was privileged and bought a TI-81 graphing calculator, and then upgraded to a TI-85. I remember having a large spiral bound notebook full of little scripts that I'd written of little programs/apps. Went to college and learned some Java. Dropped out, and later learned C, C++, and C# on my own, but not really good enough to become a professional. I learned Visual Basic .NET and made a utility tool for my co-workers while I worked as a Software Support Technician back before the 2008 Housing Crash-- Maybe someday I'll get back into this career? When I began futzing around with webpages, I learned PHP and JavaScript working within the SMF forum software, even wrote a couple of fairly complicated mods. Unfortunately, nothing ever published. Recently, I've started learning Unreal Engine using Blueprinting (or whatever it's called now).