Начинать нужно с цели - для чего нужно разбираться в языках программирования?
Пока запрос очень общий и ответы на него могут быть либо очень общими, либо специфичными, но не факт, что они окажутся релевантными.
Я, не являясь программистом, изучал Бейсик (еще в школе), Фортран (в институте), Ассемблер (институт и работа) и, наконец, Python (для работы и общего развития).
Выбор конкретного языка для изучения должен определяться областью использования - языки не универсальны. Универсальны логика, математика, алгоритмы.
Так что, если начинать разбираться фундаментально с программированием, то плясать нужно от логики, алгоритмов и математики с вычислительными методами. Затем уже выбирать подходящий язык. Это дедуктивный метод - от общих принципов к конкретной реализации.
Другой вариант - индуктивный. Выбрать понравившийся по тем или иным причинам язык и попробовать его в деле, начав с Hello world, а потом по ходу уже разбираться с более фундаментальными вещами.
Смотрите, какой путь вам больше по душе, с того и начинайте. Для любого пути можно найти подходящие ресурсы. Кстати, в любом случае нужен хороший английский - сильно расширяет количество доступных материалов.
Из того, что сам использовал и мне понравилось:
CS50: Introduction to Computer Science - Гарвардский вводный курс, есть на ютубе, на edX.
MITx: 6.00.1x Introduction to Computer Science and Programming Using Python - Вводный курс по Python от MIT на edX.
codewars.com - сайт с задачами на программирование на множестве языков.
sololearn.com - курсы по различным языкам.
Все прекрасно, спасибо за ответ, но не богли бы вы указать литературу где вы ставили пометку "почитайте"?
Самое главное понять, а оно тебе надо? Когда сильно приспичило писал на ЛИСПЕ, С++, ассемблере, ну и бейсик конечно, и всегда начинал с проблемы 1+1=? Дальше понятие Булевой алгебры, без ее понимания в программировании делать нехрен.
Я хочу поступать в универ на эту специальность, и просто в образовательных целях - будущее за технологиями
Здрасьте! Первое, что когда попался в руки компьютер, без вопросов, написал на электронной таблице, sc2 - начисление зарплаты. ОЗУ - 32 кб, диск 180 кб. Оно к чему то тянуть должно.