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

Chris via Digitalmars-d digitalmars-d at puremagic.com
Wed Mar 18 06:37:20 PDT 2015


On Wednesday, 18 March 2015 at 12:45:50 UTC, CraigDillabaugh 
wrote:
> On Wednesday, 18 March 2015 at 12:11:52 UTC, bearophile wrote:
>> Elazar Leibovich:
>>
>>> I personally, would have no idea what this piece of code is 
>>> doing upon first sight. I'll have to look at the 
>>> documentation of
>>> at least two functions to understand that, and I'll have to
>>> think carefully about what and who would throw in case of an 
>>> error.
>>>
>>> Something like
>>>
>>>   while (n != EOF) {
>>>       n = read(fd, buf, sizeof(buf));
>>>       if (n==-1) throw(...);
>>>       if (strcmp(buf, PREFIX) == 0) {
>>>            return buf;
>>>       }
>>>   }
>>>   return NULL;
>>>
>>> Requires no prior knowledge, and have similar effect.
>>>
>>> I'd rather have a loop written by hand in my production code 
>>> any day, so that when debugging it, and reading it I'll have 
>>> easier time
>>> to understand it, even though it would cost me a few more 
>>> lines
>>> when writing the code.
>>
>> Unfortunately your thinking is mostly obsolete, the 
>> programming world (well, most of it, Go is one exception) is 
>> going in the opposite direction, and for good reasons. An 
>> explanation:
>> https://channel9.msdn.com/Events/GoingNative/2013/Cpp-Seasoning
>>
>> Bye,
>> bearophile
>
> Bearophile,
>
> You said that "Unfortunately" this thinking is going out of 
> style "for good reasons".   I am confused (sorry, I am at work, 
> and didn't have time to watch the 1+ hour video you linked to - 
> maybe some clues were there)!
>
> I often find myself feeling a bit like Elazar.  Not long ago I 
> wrote some Python code using a bunch of the functional style 
> programming tools and I was very please with the very concise 
> code I had generated.  Then, I had to make some modifications 
> to the code. It took me an inordinate amount of time just to 
> figure out what the code was doing, and I had written it myself 
> just a few days earlier!
>
> Craig

Simple solution: use comments :-)


More information about the Digitalmars-d mailing list