Rose debug info
---------------

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, так, чтобы для души...

2 комментария
Алкоголик-наркоман-дебошир 2011

Так для этого у вас есть SOA_Contract )

Динар 2012

<cite>Раздражает отсутствие строгой типизации переменных </cite>
Не вижу проблемы и не сталкивался. :)

<cite>Бесит отсутсвие строгой типизации функций</cite>
Ненадо писать фугкции, возвращающие черт знает что. :) Пиши такие, которые возвращают конкретные вещи. Если встроенные функции, то же самое.

<cite>Да, и вот такой стиль написания функций у пыхарей тоже раздражает</cite>
Вообще полная неправда. Я делаю <b>return</b> там, где мне надо. И реакция среды ничем не отличается от C# или любого другого С-подобного языка.

<cite>Отсутствие Threading</cite> а как можно интерпретируемый язык рассматривать со стороны Thread? Все таки наверно сам Threading — больше заслуга интерпретатора. Хотя конечно вопрос сильно спорный :)
Да вообще, не могу проедставить ситуации, где бы в Web-кодинге понадобился Thread. :))</cite>