Ik zou eerst beginnen met een kleine introductie informatica, zodat je in elk geval weet wat voor onderdelen er zijn, en dat je toch eerst wel bekend bent met:
- Software Engineering
- Software Architectuur
- Modelling
- Software Lifecycle
En dan bedoel ik niet dat je inhoudelijk weet wat wat is, maar dat je uberhaupt weet waar het voor staat.
Zomaar lukraak wat code inkloppen en hopen dat het ongeveer doet wat je bedacht had is leuk, maar het heeft niks te maken met real world programmeren.
Ik denk dat je eerste zorg moet zijn dat je een doel gaat vinden. Wat wil je bereiken, wat wil je kunnen.
Wil je websites maken? Wil je client applicaties maken? GUI? CLI? Of eerder server applicaties?
Dan kan je in elk geval een beetje richten.
Daarnaast moet je je beseffen dat de kans heel erg klein is dat je binnen 2 jaar op een niveau bent waar je er praktisch iets aan hebt. Je kan zelfs met een jaar fulltime 'programmeren' nog lang niet op een commercieel of professioneel niveau mee in de informatica wereld, zelfs met 2 jaar is het krap.
Dit is niet om je te ontmoedigen, maar 'leren programmeren' is net zo iets als 'leren schrijven'. Alleen maar om dat je de juiste letters in de juiste volgorde op een scherm kan zetten, kan je nog niet een boek schrijven. Het is trouwens ook zo dat een 'taal' leren ook slechts een klein onderdeel van het programmeren is. Afhankelijk van het soort taal heb je meestal dat je binnen een categorie talen gewoon alles vanzelf wel kan. Als je goed bent met object georienteerde talen, dan kan je met vrij weinig moeite gewoon tussen Java, C#, Python enz. switchen. Stel dat je goed bent met C++, dan is het ook niet heel moeilijk om naar Obj-C te switchen. Dat geldt zelfs voor dingen als VBA en AppleScript, kan je ook vrij makkelijk uitwisselen.
Voor dat je 'iets' kan gaan programmeren moet dat eerst ontworpen en gepland worden, er moet documentatie van wat en waarom gemaakt worden, en achteraf ook nog eens documentatie voor gebruikers. Dus zomaar even wat maken betekent dat je ook zomaar even die administratie moet maken

En daarna ben je zomaar verantwoordelijk voor dat alles, en moet je eventuele toekomstige issues ook afhandelen.. enz enz.
Maar! Stel dat je serieus wil leren hoe je software maakt (en dat is een veel accuratere omschrijving dan 'leren programmeren'), dan kan je natuurlijk prima 'gewoon beginnen'. Hoewel ik Windows-mensen normaal C# aan zou raden denk ik dat het in jouw geval veel handiger is om met Java te beginnen. Alles om met Java te starten is gratis. De runtime/vm, de IDE, compilers enz. Het is ook nog eens open, dus als je iets moet opzoeken, dan is er altijd wat te vinden. Geen logins nodig om op geheime sites specificaties op te zoeken. Geen dure software nodig en geen gekraakte software.
Wat je dan kan doen is een klein boekje nemen, zoals: "Java de basis", 9789043016544
en daar gewoon lekker doorheen werken. Je wordt door het hele proces van het opzetten van je IDE tot aan het beginnen met een projectopzet geleid, daarna kan je aan het eind van het boek er van uit gaan dat je weet hoe je API documentatie opzoekt en leest, met GUI's en graphics kan werken, en een minimale basis van object georienteerd programmeren hebt. Stel dat dit boek te moeilijk is, dan kan je beter een opleiding volgen die het wat breeder uitlegt, want makkelijker dan dat wordt het niet.