user4578 mah guarda, più che "app" ti direi piuttosto di fare questo:
- "programmazione" è troppo generico, esattamente, cosa vorresti fare?
- avvicinarti al mondo del web quindi HTML+CSS (che sono in realtà linguaggi di markup, struttura e stile), JavaScript e/o PHP
- un linguaggio multi-purpose compilato come C/C++ (efficienza top, abbastanza ostico da imparare all'inizio specialmente da autodidatta), oppure un linguaggio interpretato come Python (ottima documentazione, supporto di librerie di ogni genere vedi Heatmap, LEGO), quest'ultimo però con problemi di efficienza computazionale
- programmazione ad oggetti, dove c'è sempre lo storico Java (qui puoi interfacciarti molto al mondo mobile, Android ecc), poi al giorno d'oggi anche vari linguaggi multi-purpose si applicano anche a questa tipologia (paradigma) di programmazione
- altro... Ambienti integrati es. MATLAB/Octave, sono in genere più "chiusi", ha senso se ti trovi comodo (o devi farlo) a lavorare in quell'ambiente specifico (lavoro, ambito di ricerca, ecc)
- iniziare a studiare dalle basi: ad esempio sul sito html.it trovi moltissime guide, intendiamoci: all'inizio basta e avanza, ti crea una panoramica generale di quel linguaggio di programmazione, segui uno step alla volta; poi approfondisci quello che ti interessa approfondire (librerie e funzionalità extra, ecc) con una guida più approfondita oppure semplicemente cercando la funzionalità specifica
- la programmazione si studia con teoria+pratica!! È importantissimo, se leggi in concetto e vai avant, poi non te lo ricordi, non lo sapresti applicare; devi quindi provare tu stesso a scrivere il codice, partendo dagli esempi proposti, fai qualche modifica, provi a metterci mano e fare esperienza, questo è davvero fondamentale
user4578 Approfondire al massimo Java e SQL
Ok, puoi benissimo seguire queste (appunto tratte da html.it):