Я программировал на языках C-типа уже пару десятилетий. Где-то вдоль линии я решил, что больше не хочу писать:
if (var) // in C
if ($var) # in Perl
когда я имел в виду:
if (var != 0)
if (defined $var and $var ne '')
Я думаю, что часть этого состоит в том, что у меня есть сильно типизированный мозг и, на мой взгляд, "если" требует булевское выражение.
Или, может быть, потому, что я использую Perl так много, а истина и ложь в Perl - это такое месторождение.
Или, может быть, просто потому, что в наши дни я в основном программист на Java.
Каковы ваши предпочтения и почему?