Para empezar a programar desde cero, lo mejor es un buen libro, papel y lápiz para hacer ejercicios, como en el cole. Así aprendí yo en la Universidad.
Luego se pasa al compilador para hacer algún programa un poco más complicadillo (Ms Studio, por ejemplo). Haces algun programa para win32 y alguno para consola MS-Dos, es lo que yo hice en mis práticas de programación hace un porrillo de años.
Unity no es un entorno de programación adecuado para aprender eso : Programacion pura. Es más un entorno de creación donde un programador con conocimientos previos, puede sacar provecho de su experiencia para hacer aplicaciones 3D. (Con ayuda de modeladores, diseñadores, etc...)
Yo, por ejemplo, en mis tiempos de estudiante hice programas en Pascal, C, C++, Dbase, Clipper, ASM 8086, Cobol, Lisp y seguro que algo me dejo en el tintero. Todos en MS-Dos (no había windows), pero programar es programar, y hoy por hoy, usaría el Visual Studio para aprender c, C#, Visual Basic. Y usaría el Dreamweaver por ejemplo, para probar php, asp, html, css y demás...
Bueno, esa es la opinión de un programador que empezó hace muchos años en esto (uséase yo). Supongo que un programador joven (que los hay en este foro), estudió con otras herramientas y te puede informar mejor acerca de lo que se usa actualmente.