B>>И об этом тоже. Восклицательный знак просто как пример, а так очень его уважаю
XC>И все же, что с восклицательным знаком-то не так?
Извините, что вмешиваюсь, но недостаток восклицательного знака в Си очевиден: неинтуитивная семантика.
Вот сравните:
Ruby:
if messages.empty? # true - да, список пустой
user.logout! # "опасный" метод, модифицирует состояние объекта. Немного истерично, но в этом хотя бы есть смысл.
C
if (!messages) { // !messages что-это-за-хрень?
user.logout();
}
Идея такова: чтобы
читать код на C/Perl нужно знать эти языки; для Python/Ruby часто достаточно знать английский.