On 8/22/2015 5:21 AM, Sönke Ludwig wrote:
Am 17.08.2015 um 00:03 schrieb Walter Bright:
D is going to be built around ranges as a fundamental way of coding.
Users will need to learn something about them. Appending .array is not a
big hill to climb.

It isn't if you get taught about it. But it surely is if you don't know about it
yet and try to get something working based only on the JSON API (language
newcomer that wants to work with JSON).

Not if the illuminating example in the Json API description does it that way. Newbies will tend to copy/pasta the examples as a starting point.

It's also still an additional thing to
remember, type and read, making it an additional piece of cognitive load, even
for developers that are fluent with this. Have many of such pieces and they add
up to a point where productivity goes to its knees.

Having composable components behaving in predictable ways is not an additional piece of cognitive load, it is less of one.


I already personally find it quite annoying constantly having to import
std.range, std.array and std.algorithm to just use some small piece of
functionality in std.algorithm. It's also often not clear in which of the three
modules/packages a certain function is. We need to find a better balance here if
D is to keep its appeal as a language where you stay in "the zone"  (a.k.a
flow), which always has been a big thing for me.

If I buy a toy car, I get a toy car. If I get a lego set, I can build any toy with it. I believe the composable component approach will make Phobos smaller and much more flexible and useful, as opposed to monolithic APIs.

Reply via email to