I assume you really mean "optional", not just a parameter with a default value, although I can't really see the difference.
Right, it's "the same difference"
. One can declare default values for some at the end of the list of arguments - and can check for default value as a flag if it was omitted. In other lagnguages (e.g. Lua) this is so idiomatic that does not have to spec it - if a function is called will less than the declared arguments, the rest are padded with `nil` (AKA null, invalid). This can be argued double-edged sword.
Coming from other scripting languages - like say Python - you would have heard the above approach as "default argument values
". Another approach of Keyword Arguments
can easily be simulated in BrS by passing a dictionary with key-value pairs.