La cosa più difficile per un principiante (anche detto, newbie) è la scelta del linguaggio di programmazione.
Si perché spesso si è attratti dall'informatica, si vuole andare oltre al normale uso del PC da utente ma non si sa come (e da dove) iniziare.
Ecco perché vi illustro alcune delle strade da percorrere per capire come funzionano le cose 'dietro le quinte':
1)Game Development: chi di voi non ha mai sognato di sviluppare giochi ? Bhe, la programmazione di giochi (per PC) è un ottimo punto di inizio (anche se la strada è più o meno ardua).
Per iniziare, è consigliato imparare il linguaggio di programmazione C# (un buon manuale è 'Head First C#’) per passare poi all'uso della libreria XNA o del game engine (vedete su Wikipedia) Unity3D.
3) Software Development: un altro buon inizio è la programmazione di software per una o più piattaforme, i linguaggi più utilizzati sono:
C/C++: Tutti (con le giuste precauzioni)
C#: Windows
Java: Tutti
Python: Tutti
Objective-C: MacOS X
4) Android Development: un buon inizio è anche sviluppare apps per Android.
Per far ciò, è necessario imparare il linguaggio di programmazione Java, un buon punto di inizio è 'Object Orientation && Java 5' di Claudio De Sio Cesari (scaricabile gratis) o 'Head First Java'.