Scientific computing with D

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sat Jan 31 20:56:34 PST 2009


Christopher Wright wrote:
> Walter Bright wrote:
>> Daniel Keep wrote:
>>>
>>> Walter Bright wrote:
>>>> Bill Baxter wrote:
>>>>> Having to recompile and rerun after every one of those changes just
>>>>> isn't quite as direct.
>>>> If it can be done in under half a second, isn't that direct enough? Of
>>>> course, I'm talking about a shell that does it for you.
>>>
>>> $ int a = 42;
>>> $ writefln("a = %s", a);
>>> $ double a = 3.0; // rounded to 1 sf
>>>
>>> How would you write a prompt that does that with D?  Either you store
>>> each successive line in a source file and choke on the third one, or you
>>> compile each line separately and choke on the second.
>>>
>>> Or you could examine each line to look for things like redefining of
>>> symbols... but at that point you're half way to writing an interpreter
>>> anyway.
>>
>> It's the shell's responsibility to decide what semantics to present to 
>> the user, I'm just saying that the process of turning a code snippet 
>> into an executable is fast and should not be a barrier.
> 
> If bash took 0.5 seconds to execute anything, I wouldn't use it.
> 
> If it were something that I used infrequently, I'd tolerate that.

I think it's considerably less than 0.5 seconds for many small programs. 
dmd is surprisingly fast at rummaging through files, in fact so fast 
that I discovered that an intricate caching scheme I'd implemented in 
rdmd yielded no detectable improvement. Note that this is under Linux, 
which creates new processes way faster than Windows, so take this with a 
grain of salt.

I don't have the time to read this but I vaguely recall it might be 
related: 
http://members.shaw.ca/burton-radons/The%20Joy%20and%20Gibbering%20Terror%20of%20Custom-Loading%20Executables.html


Andrei



More information about the Digitalmars-d mailing list