У PHP, на самом деле, есть только одна серьезная проблема - отсутствие асинхронности. Это накладывает серьезные ограничения на язык, ограничивая сферу его применения обычным сайтами. Но всем похуй, все ноют про ебучую проблему haystack/needle и прочего разброда в аргументах функций, хотя эта проблема выеденного яйца не стоит - что мешает написать (да по-любому уже кто-то написал) простейшую обертку над стандартными функциями и забыть про эту хуйню раз и навсегда?
$array = new Array($array);
$array->splice(0, 2);
$array->sort->desc();
Другое дело, что в php без искоробочной асинхронности приходится воротить ебаные костыли. Чтобы написать xmpp-бота по типу juick/bnw/psto-бота, нужно держать запущенными минимум 2 скрипта. Один будет принимать команды по жоперу и отвечать на них, другой будет проверять обновления в базе и отправлять сообщения по подпискам. Получается костыльный метод с ботом, работающим через два ресурса. Более простого способа нет, потому что если ты читаешь сокет, то ты не можешь делать что-то параллельно в этом же скрипте. И это говно меня сильно огорчает.