オプション
Javaプログラマー向けの注意事項
Wolfram言語の関数は,任意のタイプのオプションを引数として必要な数だけどのような順序ででも含むことができます.Javaでこの機能を構築するためには,メソッドのオーバーロード,オプショナルのクラス,その他のプログラミング論理が必要です.
Pythonプログラマー向けの注意事項
Wolfram言語のオプションは,Python関数のオプショナルの引数と似ていますが,Wolfram言語のオプションは=ではなく->を使い,記号的な値をサポートします.
多くの組込み関数では,操作や出力の詳細を設定するオプションが使えます:
In[1]:=1

Framed[x, Background -> Yellow]
Out[1]=1

Optionsを使うと,関数のデフォルトオプションが返ります:
In[2]:=2

Options[Framed]
Out[2]=2

Automaticは一般的なデフォルト設定で,自動選択を意味します.
オプションの中には純関数として与えられるものもあります.&を使うときは丸カッコが必要です:
In[3]:=3

Plot3D[Sin[x y], {x, 0, 3}, {y, 0, 3}, ColorFunction -> (Hue[#3/3,.5] &)]
Out[3]=3

オプションが使われるたびに value(値)が再評価されるようにするためには,option:>value を使います.