Replies: 3 comments 2 replies
-
@devinrsmith @chipkent @cpwright I think you folks might be interested in contributing to this discussion. |
Beta Was this translation helpful? Give feedback.
-
So - one direction we might choose to take is to introduce strongly typed Collection-specific types for all individually strongly typed things. For example, we could define: T aggBy(Selectables selectables, Aggregation agg); Note: the plain Aggregation type already has a Collection-type. |
Beta Was this translation helpful? Give feedback.
-
I'll reserve specific comments until there seems to be a narrowing of views. Decisions in this area have an inherent tension. From the system programming side, there is a desire for very strong typing so that there are stronger guarantees that the system actually works as intended. From the script side, users just want "this simple thing" to work through magic, without thinking about typing. They live in languages that are a free-for-all, so the user overhead of strong typing is not tolerated well. A solution that can make both sides happy is best. Some of the type loosenings could possibly happen in the script glue layer, but that increases the complexity of the glue. |
Beta Was this translation helpful? Give feedback.
-
When we merged
TableOperations
, many overloads that specifiedCollection<String>
were replaced with overloads that specified aCollection
of something from thetable-api
library.This is materially worse for script users from Groovy or Python, as they can no longer just pass a list that is syntactically nice from their script, but must instead write extra boilerplate.
We should consider reversing this change in November as part of the other API changes, and having the strongly-typed versions be varargs/array-oriented.
Beta Was this translation helpful? Give feedback.
All reactions