Moving back to .NET

Chris via Digitalmars-d digitalmars-d at puremagic.com
Thu Oct 8 04:34:50 PDT 2015


On Thursday, 8 October 2015 at 10:59:04 UTC, Ola Fosheim Grøstad 
wrote:
> On Thursday, 8 October 2015 at 10:31:57 UTC, Chris wrote:
>> On Thursday, 8 October 2015 at 09:45:53 UTC, Ola Fosheim 
>> Grøstad wrote:
>>> That's not vague at all.
>>
>>> 1. Define the target, then you can figure out the features.
>>
>> Then define the target. Make some suggestions.
>
> I've already raised this topic in a thread where I asked where 
> D sits in the web space. And I did that because it has been 
> said that vibe.d defines a key application area. However, that 
> is a very hard market to capture which many expressed in that 
> thread.
>
> I think D could do well if it focused on engine-level system 
> programming and made sure it was absolutely top notch for that 
> purpose. (Game engines, search engines, ray tracing engines, in 
> memory database engines, business logic engines, etc).
>
> The current focus goes the other way. The current assumption is 
> that engines are written in C/C++ and they are used to complete 
> applications in D. That would make D an application level 
> language, which makes success _very_difficult. As time 
> progresses I believe it makes less and less sense to do a full 
> application in languages like C/C++/Rust/D...

I agree that D should be strong in this area (engine level). On 
top of that you can stack powerful libs like Phobos. I use D as 
an engine in some projects and I'm thinking of using it for this 
purpose in other projects further down the road, for example 
using D as an engine for simpler, high-level languages like 
linguistic analysis tools where rules are defined by 
non-programmers at a higher level.

But by no means is it necessary that D be confined to this 
particular use case. An "engine language" can be extended with 
libs. However, you have to draw a clear line between the standard 
library and the language. This border is a bit blurred in D. Then 
again, I don't know how Go and Rust will fare in a couple of 
years' time. The lines seem to blur over time, because any 
language is pretty useless without at least one powerful library 
to its name.

> But if you create an "engine language" then you also need to be 
> very good at exporting APIs. Like having compact and readable 
> API definitions in D that lends itself to auto-generating 
> interfaces for other languages (Python, Ruby, Go, Javascript 
> etc).



More information about the Digitalmars-d mailing list