There is no formal standard saying that every implementation of this function must have a particular sequence of parameters/operands. Each formalised language implementation must define its own syntax.
The de facto standard for procedural languages seems to be ATAN2(y,x)
.
The de facto standard for spreadsheets (from first appearing in Lotus 123 I believe) is ATAN2(X;Y)
Not sure about other functional languages (of which spreadsheets is a subset). Someone else may investigate. I don’t see the point.
Interoperability between spreadsheet functions and functions in procedural languages is rarely required. If you are transitioning between contexts on a regular basis, you will learn to live with it. If you don’t, there is no problem.
If you still, for some reason, require consistency between the contexts, you can sometimes overload the function syntax (same function name). In other cases you need to define a new function (different name) with the operands swapped.
“… massive interoperability issues, to say the least.” is, in my view, a massive exaggeration. Not “saying the least”. Just saying.