为什么Swift函数定义语法多余?

In C/C++/Java/Go, we use , to separate parameters:

(a int, b int)

In Objective C, we use : to indicate parameters:

:(int)a :(int)b

In Swift, we have to use both : and , :

(a:int, b:int)

Is the redundancy necessary?

Swift might have external and internal parameter names:

(external internal:Int)

It would create a lot of ambiguity if there wasn't distinctive separators.

This is not redundant but simply replacing C's with a :. (And of course turning around type and identifier.)