1) Конечно позволяют. Реальные программы пишутся для конкретных областей. А тут в любом случае придется вникать в нюансы.
2) Зависит от «точки старта», даже понятие «с нуля» для всех разное. Что-то уже знаете, а что-то ещё нет, например, для плагина пригодятся MySQL, PHP, HTML, CSS, XML.
3)В Вашем случае язык не так важен, Вы ведь пока не ставите конкретных задач. Главное алгоритмы и общее понимание программирования.