Eloquently sums up my feelings about the disadvantages of dynamic typing

John Colvin john.loughran.colvin at gmail.com
Wed Oct 16 03:58:03 PDT 2013


On Wednesday, 16 October 2013 at 10:52:47 UTC, simendsjo wrote:
> On Wednesday, 16 October 2013 at 10:37:28 UTC, Timon Gehr wrote:
>> On 10/16/2013 08:46 AM, simendsjo wrote:
>>>
>>> No.. Give me a language that catches obvious bugs at 
>>> compile-time, makes
>>> code self-documenting and doesn't let me worry about 
>>> performance.
>>> ...
>>
>> Why just obvious bugs?
>
> Hehe. Sure - let the compiler catch *all* my bugs!
>
> scope, const, immutable, pure, nothrow, safe, ... D makes it 
> harder to shoot yourself in the foot, but you are aiming at 
> your foot by default..
>
> Too bad I have to add a lot of annotations
>   void f(Class i) {}
> to
>   void f(in Class i) const pure nothrow @safe {}
>
> I would rather have to write
>   void f(@(mutable, escapes) Class i) @(impure mutable throws 
> unsafe) {}
>
> If @mutable and @impure existed, I could just add some 
> annotations at the top of each module, but it wouldn't help on 
> parameters.

I wonder how easy it would be to write a little pre-processor 
using https://github.com/Hackerpilot/Dscanner that would 
effectively add those keywords.


More information about the Digitalmars-d mailing list