std.data.json formal review

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Mon Aug 24 13:25:05 PDT 2015


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.


More information about the Digitalmars-d mailing list