Слова "алгоритмы, деревья, паттерны проектирования, шаблоны и т.д." для меня далеки. Подскажите, с чем начинать осваивать эту базу, которая применяется (как я понял с habr и форумов, где подглядываю логику) повсеместно в проектах хорошего уровня.
учи теорию. читай кнута. а иначе привыкнешь говнокодить и будешь всю жизнь говнокодить.
надо разрабатывать 3 проекта (независимо)
1) собственно модуль на чистом PHP предоставляющий некий интерфейс
2) модуль для интеграции с WP, использующий интерфейс
3) модуль для интеграции с Joomla, использующий интерфейс
в первом приближении С++ можно рассматривать как надмножество языка С . на счет библиотек - ты из С++ можешь без проблем линковать сишные библиотеки.
языки скорее различаются используемыми парадигмами при программировании. если ты программируешь на С++ то ничто не мешает тебе писать "в стиле С". поэтому если нет конкретной задачи программировать на С (то есть пихать биты по адресам и портам) , то я думаю что отдельно не стоит его изучать.
Еестественно фронтендер должен знать шаблонизатор, который используется в проекте и на котором он работает, и при этом в шаблоне не должно быть никакого кода.
бэкэндер формирует пустую страницу и указывает какие объекты ей передаются,