PHP негодуэ
Раздражает отсутствие строгой типизации переменных. Это приводит вот к такому бардаку:
$someData = "hello";
$someData = 12345;
$someData = array('z',x,c,12);
$someData = unserialize($someData);</pre>
Абслютно все валидно. Конвертация типа перемнной сводится к приведению её к типу. Например $someData = (int)$a;
Бесит отсутсвие строгой типизации функций. Это приводит к тому, что разработчик не может быть уверенным, что функция вернет ему определенный тип данных. Что вызывает у меня особое недоумение — то, что PHP программеры считают это абсолютно нормальным, и в документации к коду пишут @return: mixed. Мол, может вернуть boolean, а может и объект, или целочисленное.
function foo($bar)
{
if ($bar == "apple")
{
return "steve";
}
else
{
return 100500;
}
}
Да, и вот такой стиль написания функций у пыхарей тоже раздражает. Результат должен возвращаться только в одном месте, только в конце функции, перед её закрытием. Пусть мои новые коллеги и посмеиваются надо мной за мой «Microsoft-way» стиль кодирования, но такой код мне нравится гораздо больше (C#):
public string sFoo(string sBar)
{
string sResult = "";
if (sBar == "apple")
{
sResult = "steve";
}
else
{
sResult = "bill";
}
return sResult;
}
Засранный неймспейс, в котором хранятся все имена функций, которые когда-нибудь могут понадобиться. Причем часть из них имеет суффиксы, а часть — нет.
Отсутствие Threading. Ну тут уж грешно над ущербным смеяться...
Надо бы замутить чтоли снова какой-нибудь проектик на ASP.NET, так, чтобы для души...
Так для этого у вас есть SOA_Contract )
<cite>Раздражает отсутствие строгой типизации переменных </cite>
Не вижу проблемы и не сталкивался. :)
<cite>Бесит отсутсвие строгой типизации функций</cite>
Ненадо писать фугкции, возвращающие черт знает что. :) Пиши такие, которые возвращают конкретные вещи. Если встроенные функции, то же самое.
<cite>Да, и вот такой стиль написания функций у пыхарей тоже раздражает</cite>
Вообще полная неправда. Я делаю <b>return</b> там, где мне надо. И реакция среды ничем не отличается от C# или любого другого С-подобного языка.
<cite>Отсутствие Threading</cite> а как можно интерпретируемый язык рассматривать со стороны Thread? Все таки наверно сам Threading — больше заслуга интерпретатора. Хотя конечно вопрос сильно спорный :)
Да вообще, не могу проедставить ситуации, где бы в Web-кодинге понадобился Thread. :))</cite>