y para empezar a programar desde 0?
Depende del lenguaje que quieras aprender. El lenguaje que quieras aprender depende principalmente de tus objetivos con la programación.
Hacer páginas web, hacer juegos, ser hacker, hacer programas de escritorio, un hobby, futuro profesional, ciberseguridad, curiosidad...
Si tienes esto claro y lo expones en un nuevo post te podremos recomendar que lenguajes encajan mejor en tus objetivos. Y entonces recomendarte documentación.
De todas formas esta pregunta ha sido realizada cientos de veces. En el buscador del foro podrás encontrar muchas respuestas a estas preguntas.
Si dudas ante que material se adapta mejor a tus necesidades de la lista. Puedes conseguirlos todos y comprobar cual se adapta mejor a tu capacidad de aprendizaje.