> > >> So I was thinking is it absolutely must have to sync between api? > > Soft-yes, we should try our best to do so. >
There are many benefits both for SystemML users and developers to having the APIs be as consistent as possible. Based on user feedback, I know Niketan and Glenn did a lot of work recently to make the Python MLContext API much more consistent with the Java/Scala MLContext API. I think there is an expectation from SystemML users that code that utilizes one API will act in a similar fashion with as few modifications as possible if migrated to a different language. As an example of a benefit to SystemML developers, if an R MLContext API is consistent with the Scala and Python APIs, an R tab can be added to http://apache.github.io/systemml/spark-mlcontext-programming-guide.html and most of the MLContext documentation can be reused across the different languages. This greatly simplifies the creation and maintenance of documentation, which is very important with a project as large as SystemML. In addition, consistency across MLContext APIs in different languages simplifies code maintenance since a developer familiar with the API features of one language can probably work without too much difficulty on one of the other language APIs in the project. This would not be the case if the APIs were significantly divergent. Deron