1. param:value is used, but convention is param:value not the gratuitous Engrish verbingParamProposition:value ObjC inherited from Smalltalk.
2. param: is optional if the variable holding value in the calling function is named "param" at compile time. This pushes you to name your params "param" everywhere that makes sense.
Jakt's popularity is limited, obviously, but it's a compile-to-C++ language, so you could use it many places.
https://github.com/SerenityOS/jakt
Notable differences:
1. param:value is used, but convention is param:value not the gratuitous Engrish verbingParamProposition:value ObjC inherited from Smalltalk.
2. param: is optional if the variable holding value in the calling function is named "param" at compile time. This pushes you to name your params "param" everywhere that makes sense.
Jakt's popularity is limited, obviously, but it's a compile-to-C++ language, so you could use it many places.