В чем разница между ключевым словом или оператором и вызовом функции?

Я думал об этом недавно, поскольку Python 3 меняет print с оператора на функцию.

Однако Ruby и CoffeeScript используют противоположный подход, поскольку вы часто не используете скобки для функций, тем самым стирая различие между ключевыми словами / операторами и функциями. (Вызов функции без скобок очень похож на ключевое слово.)

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

Мысли?

5
задан James Khoury 19 May 2011 в 06:56
поделиться