поправлюсь, Си - как основа Unix API (системных вызовов)
POSIX можно изучать, программируя и на другом языке.
Я тоже считаю, что нужно начинать с C. Но не потому что это "основа Unix API". А потому, что С дает больше понимания того, как работают программы. А такие языки как Pascal сразу забивают голову всякими абстракциями. Вот, например, я знал одного человека, который думал, что если он число запишет в файл (в формате числа), а потом откроет этот файл блокнотом, то увидит это число строкой =) И долго тупил почему не получается

Он просто не понимал как данные хранятся в памяти.
Я на C еще в школе кое-как программил =) сам учился.
А в ВУЗе у нас были Pascal/Delphi, Ассемблер, С, Java и ....все вроде.
С++, как основа понимания ООП
Хм... Я позволю себе не согласиться. С++ это все-таки не классическое ООП. Я начинал изучать ООП с Java. Но более глубокое понимание ООП пришло ко мне, когда я посмотрел на Smalltalk.