Marketing of D - article topic ideas?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Mon Jun 7 11:00:40 PDT 2010


On 06/07/2010 12:57 PM, "Jérôme M. Berger" wrote:
> dsimcha wrote:
>> == Quote from Walter Bright (newshound1 at digitalmars.com)'s article
>>> D is an extremely powerful language, but when I read complaints and sighs about
>>> other languages, few seem to know that these problems are solved with D.
>>> Essentially, we have a marketing problem.
>>> One great way to address it is by writing articles about various aspects of D
>>> and how they solve problems, like
>>>
>> http://www.reddit.com/r/programming/comments/cb14j/compiletime_function_execution_in_d/
>>>    which was well received on reddit.
>>> Anyone have good ideas on topics for D articles? And anyone want to stand up and
>>> write an article?
>>> They don't have to be comprehensive articles (though of course those are
>>> better), even blog entries will do.
>>
>> This probably won't be replied to because I'm starting a new sub-thread in a
>> mature discussion, but I wonder if we could write about the advantages and
>> disadvantages of duck typing vs. static typing, comparing Python vs. Java at
>> first, then bring D into the picture to show how, to a greater extent than C++
>> templates or C#/Java generics, it solves may of the problems of static typing
>> without introducing the pitfalls of duck typing.
>>
>> Here's a simple example of something that would be awkward to impossible to do
>> efficiently in any other language:
>>
>> /**Finds the largest element present in any of the ranges passed in.\
>>   */
>> CommonType!(staticMap!(ElementType, T)) largestElement(T...)(T args) {
>>      // Quick and dirty impl ignoring error checking:
>>      typeof(return) ret = args[0].front();
>>
>>      foreach(arg; args) {
>>          foreach(elem; arg) {
>>              ret = max(elem, ret);
>>          }
>>      }
>>
>>      return ret;
>> }
>>
>> Do this in C++ ->  FAIL because there are no variadics.  (Yes, C++1x will have
>> them, but I might die of old age by the time C++1x exists.)
>>
>> Do this in any dynamic language ->  FAIL because looping is so slow that you might
>> die of old age before it executes.  Besides, who wants to do computationally
>> intensive, multithreaded work in a dynamic language?
>>
> 	In python: max (map (max, args)) should have reasonable
> performances and is *much* more elegant...

I very much doubt that.

Andrei


More information about the Digitalmars-d mailing list