Я думал об этом недавно, поскольку Python 3 меняет print
с оператора на функцию.
Однако Ruby и CoffeeScript используют противоположный подход, поскольку вы часто не используете скобки для функций, тем самым стирая различие между ключевыми словами / операторами и функциями. (Вызов функции без скобок очень похож на ключевое слово.)
В общем, в чем разница между ключевым словом и функцией? Мне кажется, что некоторые ключевые слова - это действительно просто функции. Например, return 3
в равной степени можно рассматривать как return (3)
, где функция возврата реализована изначально на языке. Или в JavaScript typeof
- это ключевое слово, но оно очень похоже на функцию и может быть вызвано с помощью скобок.
Мысли?