Если кто-то тут кого-то путает, так это Вы.
Вообще-то речь о знании программирования всегда идет относительно белого листа, т.е умения писать с 0, а то, под какую cms писать далее, и неважно что это за система, будь то plone, joomla, modx, bitrix или же самописная - это дело выбора разработчика. Опытный программист поймет как работать с API той или иной системы в достаточно короткие сроки, но есть те, у которых нет желания заниматься этим или же считают моветоном использования чего-то готового и разрабатывают все с 0.
Вот в чем по-Вашему принципиальное отличие разработки расширения joomla! и opencms?
В любом слкчае без уверенного знания php и mysql вряд ли выйдет что-то приличное (я не отрицаю, что простенький модуль можно написать вообще без особых знаний, но имея представление что и как должно работать + иметь перед глазами код уже готового модуля из стандартного набора системы).
Вопрос безопасности - это растяжимое понятие, которое в первую очередь зависит от прямоты рук разработчика, так как фактически нереально взломать чистую свежую версию Joomla!, но с кривыми настройками тех же прав на файлы возможность взлома увеличивается в разы, собственно так же дело и с любой другой системой...