Поскольку на ваш вопрос уже есть очень хорошие ответы, я хочу добавить только пояснение по использованию.
Три выражения
Sin[x]
Sin@x
x // Sin
эквивалентны.
Хотя, насколько мне известно, последние два нельзя использовать с функциями с более чем одним аргументом. Итак
Plot[Sin[x], {x, 0, Pi}]
Нельзя вызывать в префиксной или постфиксной нотации без таких хитростей, как
Sin[x] // Plot[#, {x, 0, Pi}] &
или
Plot[#, {x, 0, Pi}] &@Sin[x]
Префиксная нотация обычно видна при использовании простых функций, таких как Sin@x
или Sort@list
, в то время как большинство применений постфикса включают рассуждения типа «и теперь делайте все, что с этой вещью, которую я получил», например
(Sin@x+ ...) // Timing
где вы решили, что рассчитывать, а затем вы также хотите, чтобы он рассчитывался.
Еще одна заметка:
Действительно, за кадром гораздо больше, поскольку приоритет каждой из этих функциональных конструкций различен, но я думаю, что это гораздо более глубокий вопрос, и вам придется немного поэкспериментировать, прежде чем переходить к тонкостям.