Article on programming language adoption (x-post from /r/programming)

Chris wendlec at tcd.ie
Thu Aug 1 08:12:18 PDT 2013


On Thursday, 1 August 2013 at 15:01:39 UTC, Tofu Ninja wrote:
> On Thursday, 1 August 2013 at 13:40:31 UTC, Chris wrote:
>> On Thursday, 1 August 2013 at 13:21:23 UTC, Dicebot wrote:
>>>> They see more value in unit
>>> tests than types, both overall and as a debugging aid. Fur-
>>> thermore, how features are presented strongly influences
>>> developer feelings about them, such as prioritizing class in-
>>> terfaces much higher than static types
>>>
>>> Stop the world, I want to get out!
>>
>> "We found that developers gener-
>> ally value expressiveness and speed of development over
>> language-enforced correctness."
>>
>> I'll never understand why typing is regarded as such a big 
>> effort that slows down development. The terrible yoke of 
>> typing!
>
> I don't think its that people think typing is bad, I think its 
> that people don't like unnecessary typing, as typing is the 
> main interface between us and our program its obvious that we 
> would want that interface to be as efficient as possible.
>
> Personally that is why I came to D, because it was easier to be 
> more concise in it than in C++, not because of the amazing 
> template system or the fast compile time or the safety, I found 
> out about them after the fact. I came simply because I thought 
> that C++'s syntax was bloated and ugly and that D's syntax was 
> a bit cleaner and slimmed down.
>
> Simple example, why would I want to type "node->next" when I 
> could just type "node.next". On the surface its only one more 
> character but in reality its the difference between pressing 
> one key that you are used to pressing in every day typing(the 
> period) or the combination of pressing a '-' then holding down 
> the shift and pressing the '.' key, its made worse by the fact 
> that the '-' and the '.' are so far away from each other.
>
> When every you are trying to optimize for speed you need to 
> always be aware of your bottle necks, for streaming video its 
> internet speed, for a CUDA application its main memory, for 
> coding its they keyboard.

I think they meant typing as in "strong/weak typing"

string text;
text = "Hello!";

as opposed to

text = "Hello"
var text = "Hello"

Dynamic typing, although it saves a few keystrokes, can introduce 
some subtle bugs.

I think D's auto keyword for obvious cases is pretty good.


More information about the Digitalmars-d mailing list