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]

Reply via email to