Github user mateiz commented on the pull request:
https://github.com/apache/spark/pull/3099#issuecomment-62223666
On the parameters vs constructors, the problem with default args to
constructors is that they make it very difficult to add settings to an
algorithm. Such changes will break binary compatibility in Scala and may also
break calls to the algorithm if you change the order. In the current MLlib API
I believe all the constructors are package-private because of this.
The other thing with setters is that the API looks more similar in Java to
the other two languages. This makes it easier for people to learn Spark by
grabbing snippets of code and moving them across languages. Of course it has to
be weighed against utility though, if this stuff gets out of hand.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]