Description
So in "command line" world, we have things that look like this:
This makes sense, considering that when invoking a command line, you are not working in the context of an existing process but starting a new one, so the most plausible source for data is some file, which we have to specify how to load and so on and so on.
However, then we enter API land, and (understandably, to be clear) people just decided to do a direct translation, as we see below:
That the API might resemble command line as a first preference is understandable, but in this specific context of an API, a variance from this trend would make sense. We've invented what amounts to an entirely new API to load data from a source, when we already have mechanisms to do this.
If we wanted this to work over input IDataView
s, which seems to be what the authors are really getting at, then it should just do so directly. This has a few advantages:
- No new way of loading files distinct from existing API for that same task,
- Simpler method signatures,
- Hides
IDataLoader
transform, which is something relating to Internalize concepts of IDataTransform/Loader/TransformTemplate. #1995 we need to do anyway. (This in particular is why we might consider this to have some greater urgency.)
/cc @Ivanidzo4ka @sfilipi