Ti suggerisco di dare un colpo Ruby . È una delle lingue popolari, che è diventato il più lontano dalla macchina. Lo trovo molto piacevole e il libro che ho collegato è stato un'ottima introduzione.
Le lingue di alto livello sono spesso disapprovate e alcune persone affermano che dovresti iniziare con linguaggi di basso livello e aprirti la strada.
Sono abbastanza convinto, dovresti farlo al contrario. Le lingue di basso livello ti insegnano come funzionano i computer. Ti insegnano a fornire soluzioni espresse in modo efficace sul computer.
I linguaggi di alto livello si occupano di concetti molto più astratti, cercando di essere più vicini ai modelli di pensiero umano. Così ti permettono di concentrarti sulla modellazione di un dato problema e sulla creazione di soluzioni semplici ed eleganti.
Un problema è definito in termini di vincoli e l'astrazione di quelli lontani, che sono dati dai risultati dell'hardware nel ridurre il problema alla sua vera essenza.
Sto dicendo questo, perché quando ho iniziato con le lingue più alte, mi ci è voluto un po 'per riprendere la testa su molti concetti popolari. Ho cercato di capirli in termini di ciò che avevo imparato prima. Ma quando li guardavo dal lato opposto, sembravano abbastanza naturali. Quindi se inizi con un linguaggio alto, cerca di non classificare tutto ciò che impari in termini di ciò che sai. Considera questo un nuovo inizio.
Ad un certo punto, ti renderai conto, che devi andare al di sotto del livello attuale di astrazione (di solito perché ti manca il controllo o la velocità o entrambi). Questo è il posto giusto per usare le conoscenze che hai dai linguaggi di basso livello.