Не хотелось бы чтобы основы программирования съехали к изучению только языка. В любом случае вот языки которые, по-моему мнению, имеет смысл изучать:
java/c# (в зависимости от религии) как АООЯП (можно тут же добавить scala)
lisp/prolog/haskel как функциональные/логические (можно и erlang, но он похож на prolog)
python/php/ruby/js как динамические
C++/C/assembler/ как низкоуровневые и прикладные (С++ хоть и ООП, но все таки на данный момент используется скорее для производительности, нежели для разработки на ООЯП, и чаще работает в связке с С)
Paskal/Delphi не вижу смысла, так как для большинства задач будет достаточно прочитать пару статей о различиях в языках.
Изучение языка и IDE вещи разные и учить их нужно по-отдельности.
Но вообще Visual Studio, Idea (у jetbrains есть многоурезаных IDE с таким же интерфейсом, так что idea идеальна для изучения)
Ну и предложил бы дать основы vim, пусть даже в виде игры
vim-adventures.com/