On 2012-11-29 15:28, Andrei Alexandrescu wrote:

Since you think (as opposed to believe), then there are reasons. What
are those reasons, and what steps can we take to obviate them from the D
side?

Some features Ruby has that makes it less verbose to use:

* No semicolons
* Calling a method without parentheses
* Code can be executed basically every where. Global scope, module scope , class scope, method scope and function scope
* Blocks
* Easy to integrate into an application
* Relaxed syntax for associative array literals
* Dynamic typing can probably help as well

Actually, I'm a bit concerned about how I would do the actual integration if the build script was written in D. In Ruby it's easy, just do something like (written in D using libruby) :

# Build script in Ruby

target :foo do
end

// Handling the build script in D

string content = read(buildScript);
BuildScriptContext context = new BuildScriptContext;
context.instance_eval(content);

// access what's needed from "context"
string target = context.target;

writeln(target); // prints "foo"

Then why not work on it? A tool using D is much more likely to be
accepted by the community than one using Ruby, and the latter will
probably never be part of the official distro.

That's not fair. I'm doing the best I can. I'm working on several D relate projects (including a build tool) and I don't have much time to work at D at all. I would really like to be able to work on these projects full time. But I don't know how to make money on that.

I plan to change your
Ruby installer creation scripts into shell scripts as soon as I'll have
a minute.

How is that any better? Yeah I do know that you prefer shell scripts over Ruby. But you're arguing that I should use D instead of Ruby and then you're going to use shell script.

--
/Jacob Carlborg

Reply via email to