Support for object construction from parameters in a map

It is the way it is done in groovy. It is indeed very convenient way to create new objects. Sadly, it is strongly entangled with groovy/python dynamic nature, I can’t see a simple way to replicate it in statically typed language.

If you are keen on using this specific way of object instantiation, you probably can work with reflections. For example, create a class with empty constructor and variable properties and then assign values to each of properties with coinciding names.