Начинал программировать на Бейсике. Считал в основном цифры народу в диссертации. Машина была в распоряжении неплохая. И как ни странно это звучит для начала восьмидесятых - персональная. Только на ленту/с ленты было геморно читать/писать.
Потом перешел считать на ЕС ЭВМ. Пришлось осваивать Фортран и ПЛ-1.
Напоролся на убогость точности реализаций языка. Точность до 10 в 36-й степени дает очень большую ошибку при вычислениях "в лоб".
Пришлось осваивать "численные методы вычислений.." и т.д.
Потом начались базы данных с DBASE-2 ну и т.д.
Дальше чего только не было.
Но запала в душу одна книга, которая и научила меня программировать.
Это Ч.Уэзерелл "Этюды для программистов". (
Ссылка 1,
Ссылка 2).
Очень рекомендую ее всем кто пытается понять что же такое программирование.
А вот дальше все сложно.
Мое мнение таково - под каждую задачу необходим свой "инструмент" (язык).
Потому стоит для начала определиться - что же именно хочется и для чего будут применены полученные в будущем знания.
Ну и могу порекомендовать минимальный уровень для программиста который понятия не имеет чего он хочет, т.е. минимально необходимый набор языков:
1. Perl
2. SQL
Этого должно хватить с головой для написания почти любой программы, что в винде что на линуксе.
P.S. Лично я в состоянии написать программу почти на любом языке, включая разнообразные версии ассемблеров и такие экзотические, как PROLOG и LISP.