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

Tofu Ninja emmons0 at purdue.edu
Thu Aug 1 09:15:10 PDT 2013


On Thursday, 1 August 2013 at 15:39:25 UTC, Dicebot wrote:
> On Thursday, 1 August 2013 at 15:01:39 UTC, Tofu Ninja wrote:
>> 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 don't buy it. In a daily programming actually writing code 
> takes no more than 10% of time for me. 30% planning what needs 
> to be done, 30% figuring out what some piece of code does, 30% 
> debugging. Even full elimination of typing phase (literally, 
> imagine some magic tool that directly translate your thoughts 
> to code) wont be as useful as something that halves time for 
> _any_ of three other parts. And static strong typing helps them 
> all. As well as any compile-verifiable correctness.
>
> People that have bottlenecks in actually writing code must be 
> genius and never make mistakes.

That is why I chose to say that it was a bottleneck in coding, 
not in development. The amount of text required to code something 
has effects on the things you mentioned, for instance having a 
more verbose language can help prevent errors by making the 
writer think about every thing he is writing, but can also cause 
more errors as more code means more places for miss types.

Text amount can also effect code comprehension. For instance, 
having a very wordy language can sometimes be hard to understand 
as it is simply more for your brain to process. On the other hand 
a very compact language can be hard to understand as their might 
be to many assumptions and implicit information that the reader 
my not have. Debugging kind of falls in this as well as it 
requires you to fully comprehend what is going on to be able to 
find the bug.

As for planing, I generally feel that this is much more language 
agnostic(or maybe I should say syntax agnostic?) The only times 
the specific language helps me plan is if their is some really 
nifty feature that makes what I am trying to do much more 
simple(like mixins or the simplicity of templates in D).


More information about the Digitalmars-d mailing list