A few notes on choosing between Go and D for a quick project

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Fri Mar 13 12:36:37 PDT 2015


On 3/13/15 12:19 PM, Walter Bright wrote:
> On 3/13/2015 10:31 AM, Andrei Alexandrescu wrote:
>> For example the expression (assuming s is e.g. a string)
>>
>>    File("/tmp/a").byChunk(4096).joiner.startsWith(s)
>>
>> opens a file, progressively reads chunks of 4KB, stitches them
>> together at no
>> cost, compares against a prefix until it makes a decision, then closes
>> the file
>> and returns the result. A putative Go user wouldn't even dream of using
>> HasPrefix directly on a stream coming from a file; the whole endeavor
>> would be a
>> function that painstakingly takes all of these steps by hand.
>>
>> We need to take the "disconcerting" out the documentation equation
>> while still
>> exposing the power. s1.startsWith(s2) is perfectly apt for two
>> strings, and that
>> should be immediately apparent to someone who just needs that.
>
> I suggest putting that snippet in the documentation as an example!

Also: does /tmp/a have /tmp/b as a prefix?

File("/tmp/a").byChunk(4096).joiner.startsWith(
   File("/tmp/b").byChunk(4096).joiner)

I also wonder how efficient that is.


Andrei



More information about the Digitalmars-d mailing list