A few notes on choosing between Go and D for a quick project

via Digitalmars-d digitalmars-d at puremagic.com
Fri Mar 13 03:20:51 PDT 2015


On Friday, 13 March 2015 at 02:17:31 UTC, bearophile wrote:
> Andrei Alexandrescu:
>
>> ## some or all of @safe, immutable, pure should be the default
>
> +1
> I have a ER on @safe by default and Walter seems to agree. But 
> I'd like more. A "strict D" mode? :-)

Yes, but what is a "strict mode". I agree with most of what is 
said about D and Go in the top post, but is there a market for 
yet another high level language that isn't high level enough?

I've spent some time hashing out a "D-minus" that could be 
compiled with D2 (or at least with a simple transform), and it is 
more attractive to move towards lower level programming and 
optimization when creating a subset...

So what is a a reduced D that is largely compatible with D2? I 
would remove features that people love, like modular arithmetics. 
You can do that since it is undefined when you move out of the 
range. You can also introduce new hints as @uda.

The overall better approach is to generalize and simplify the 
core semantics of the language then have D2/D3/simpleD in the 
same compiler and allow them to mostly work together (separate 
files, but D2 code importable into D3)

> D can't be a single-purpose language. And it has more moving 
> parts compared to Go.

That's true, what one could consider is better separation between 
library-features and common-code features. Like Python where you 
generally can leave all the __XXX__, yield etc to library code 
and keep a simple surface (largely thanks to tuples/lists btw).


More information about the Digitalmars-d mailing list