Hombre, yo que tu primero aprenderia algoritmos
Cita: http://es.wikipedia.org/wiki/Algoritmo
Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea y/o resolver un problema. De un modo más formal, un algoritmo es una secuencia finita de operaciones realizables, no ambiguas, cuya ejecución da una solución de un problema en un tiempo finito
Y luego decidiria, según en que entornos vayas a trabajar, en que lenguaje implementarlos.
Si quieres lenguajes de alto nivel y orientado a objetos,te recomiendo: Java para multiplataforma y Delphi para windows
Si quieres lenguajes de más bajo nivel: C, C+, C++
http://udgftp.cencar.udg.mx/tutoriales/c/c.html
Y si quieres sencillez (relativa): VisualBasic
Busca en google, encontrarás infinidad de manuales
.Para VB:
http://www.telecable.es/personales/j....htm?vbesp.htm
suerte