Как лучше познать основы программирования?
программировать
Весьма абстрактный вопрос. Спросите себя, чем хотите заниматься и смотрите какие языки там используются.
Если следовать вашему вопросу то мой ответ.
C, Pascal.
Часто эти языки как основу учат. Pascal так вообще в школах есть.