June 29, 2018
> If you're a web developer with no dependencies then youre either reinventing the wheel (could cause trouble in the long run, if your implementations aren't correct.) Or your application just isn't more than a hobby project.
>
> Most enterprise projects will have dependencies outside standard libraries and that is true for ex. Go too.

I agree with you, but what I mean is that all those nice Go and Crystal web frameworks are actually implemented using exactly the same building blocks, so that their authors didn't have to reinvent the wheel to reimplement them.

That's why there are so many available frameworks, and you can easily pick one which closely matches your needs and preferences...
June 29, 2018
On Friday, 29 June 2018 at 08:43:34 UTC, Ecstatic Coder wrote:
> Once Crystal integrates parallelism (at 1.0), it should become de facto one of the best alternative to Go, Java, C#, etc, because it's actually "Go-made-right". For instance it's genericity system works well, and its type inference system natively support union types.
>

Except it has no Windows support and doesn't look like it will happen anytime soon. Some people might be living in a UNIX bubble, but Windows is a big market, and a language won't make it big without Windows support.
June 29, 2018
On Friday, 29 June 2018 at 17:08:12 UTC, Ecstatic Coder wrote:
>> If you're a web developer with no dependencies then youre either reinventing the wheel (could cause trouble in the long run, if your implementations aren't correct.) Or your application just isn't more than a hobby project.
>>
>> Most enterprise projects will have dependencies outside standard libraries and that is true for ex. Go too.
>
> I agree with you, but what I mean is that all those nice Go and Crystal web frameworks are actually implemented using exactly the same building blocks, so that their authors didn't have to reinvent the wheel to reimplement them.
>
> That's why there are so many available frameworks, and you can easily pick one which closely matches your needs and preferences...

Well you don't really need to re-invent the wheel at all with D either tbh.

You would need to with vibe.d, because it's really just the skeleton of a web application, but with Diamond? Not so much. It supports things that other frameworks don't even support, which you will end up implementing yourself anyway in 99% of all other frameworks. To give an example, consent, privacy and GDPR. There is no framework, at least what I have seen, that has compliance for such things implemented, but Diamond has it usable straight out of the box. Another example would be validation for email, url, various credit-cards, files (Not just extension, but also whether the data is correct.) etc. most of such validations are very limited in other frameworks or non-existent at all.

My point is that, even if those languages has http somewhat standard, they do not implement actual features that are useful to your business logic, application design etc. only to the skeleton.

However with frameworks in D you do get the best of both worlds.

http://diamondmvc.org/
June 29, 2018
On Friday, 29 June 2018 at 17:09:44 UTC, JN wrote:
> On Friday, 29 June 2018 at 08:43:34 UTC, Ecstatic Coder wrote:
>> Once Crystal integrates parallelism (at 1.0), it should become de facto one of the best alternative to Go, Java, C#, etc, because it's actually "Go-made-right". For instance it's genericity system works well, and its type inference system natively support union types.
>>
>
> Except it has no Windows support and doesn't look like it will happen anytime soon. Some people might be living in a UNIX bubble, but Windows is a big market, and a language won't make it big without Windows support.

Right :)

But remember that Crystal is still in its infancy, as it hasn't reached its 1.0 version yet.

Parallelism is on its way, and Windows support too...

Don't forget that nowadays many (can I say most ?) servers are based on unix variants, so their platform support order looks perfectly fine and logical to me.
June 29, 2018
On Friday, 29 June 2018 at 19:42:56 UTC, Ecstatic Coder wrote:
> On Friday, 29 June 2018 at 17:09:44 UTC, JN wrote:
>> On Friday, 29 June 2018 at 08:43:34 UTC, Ecstatic Coder wrote:
>>> Once Crystal integrates parallelism (at 1.0), it should become de facto one of the best alternative to Go, Java, C#, etc, because it's actually "Go-made-right". For instance it's genericity system works well, and its type inference system natively support union types.
>>>
>>
>> Except it has no Windows support and doesn't look like it will happen anytime soon. Some people might be living in a UNIX bubble, but Windows is a big market, and a language won't make it big without Windows support.
>
> Right :)
>
> But remember that Crystal is still in its infancy, as it hasn't reached its 1.0 version yet.
>
> Parallelism is on its way, and Windows support too...
>
> Don't forget that nowadays many (can I say most ?) servers are based on unix variants, so their platform support order looks perfectly fine and logical to me.

Actually a large share of servers run Windows Server and/or Azure servers running Windows too.

It's not logical to not support both.

D already has that advantage supporting pretty much every platform you can think of.
June 29, 2018
On Friday, 29 June 2018 at 18:48:19 UTC, bauss wrote:
> On Friday, 29 June 2018 at 17:08:12 UTC, Ecstatic Coder wrote:
>>> If you're a web developer with no dependencies then youre either reinventing the wheel (could cause trouble in the long run, if your implementations aren't correct.) Or your application just isn't more than a hobby project.
>>>
>>> Most enterprise projects will have dependencies outside standard libraries and that is true for ex. Go too.
>>
>> I agree with you, but what I mean is that all those nice Go and Crystal web frameworks are actually implemented using exactly the same building blocks, so that their authors didn't have to reinvent the wheel to reimplement them.
>>
>> That's why there are so many available frameworks, and you can easily pick one which closely matches your needs and preferences...
>
> Well you don't really need to re-invent the wheel at all with D either tbh.
>
> You would need to with vibe.d, because it's really just the skeleton of a web application, but with Diamond? Not so much. It supports things that other frameworks don't even support, which you will end up implementing yourself anyway in 99% of all other frameworks. To give an example, consent, privacy and GDPR. There is no framework, at least what I have seen, that has compliance for such things implemented, but Diamond has it usable straight out of the box. Another example would be validation for email, url, various credit-cards, files (Not just extension, but also whether the data is correct.) etc. most of such validations are very limited in other frameworks or non-existent at all.
>
> My point is that, even if those languages has http somewhat standard, they do not implement actual features that are useful to your business logic, application design etc. only to the skeleton.
>
> However with frameworks in D you do get the best of both worlds.
>
> http://diamondmvc.org/

Indeed this framework looks really complete, and should get much more promotion from D's official website.

But I still think that D's vision of what should be included in the standard library really diverges from those of Go and Crystal, despite this strategy has worked pretty well for them, and that Diamond clearly proves that D has all the basic language features to compete well with them (native performance, fiber-based concurrency, great string and array support, etc).


June 29, 2018
On Friday, 29 June 2018 at 19:46:06 UTC, bauss wrote:
> On Friday, 29 June 2018 at 19:42:56 UTC, Ecstatic Coder wrote:
>> On Friday, 29 June 2018 at 17:09:44 UTC, JN wrote:
>>> On Friday, 29 June 2018 at 08:43:34 UTC, Ecstatic Coder wrote:
>>>> Once Crystal integrates parallelism (at 1.0), it should become de facto one of the best alternative to Go, Java, C#, etc, because it's actually "Go-made-right". For instance it's genericity system works well, and its type inference system natively support union types.
>>>>
>>>
>>> Except it has no Windows support and doesn't look like it will happen anytime soon. Some people might be living in a UNIX bubble, but Windows is a big market, and a language won't make it big without Windows support.
>>
>> Right :)
>>
>> But remember that Crystal is still in its infancy, as it hasn't reached its 1.0 version yet.
>>
>> Parallelism is on its way, and Windows support too...
>>
>> Don't forget that nowadays many (can I say most ?) servers are based on unix variants, so their platform support order looks perfectly fine and logical to me.
>
> Actually a large share of servers run Windows Server and/or Azure servers running Windows too.
>
> It's not logical to not support both.
>
> D already has that advantage supporting pretty much every platform you can think of.

I agree, but you must compare what is comparable.

Have a look at Crystal's Github project, you will see that Crystal, still in development and quite far from its 1.0 mile version (= despite no parallism and windows support, etc) ALREADY has 11206 stars, 881 forks and 292 contributors :

https://github.com/crystal-lang/crystal

Not bad for a language in its 0.25 version and first released in June 2014 (4 years), especially compared to D in its 2.0 version and first released in December 2001 (16 years), whose official compiler has 1806 stars, 452 forks and 168 contributors :

https://github.com/dlang/dmd

If those numbers means anything, I think its that Crystal is probably getting popularity much quicker than D, and honestly, after having tried it, I think it's really deserved, even if I agree that there are still many things that remain to be implemented before it's really ready for an official "production-ready" 1.0 release.

June 29, 2018
On Friday, 29 June 2018 at 20:13:07 UTC, Ecstatic Coder wrote:
> On Friday, 29 June 2018 at 19:46:06 UTC, bauss wrote:
>> On Friday, 29 June 2018 at 19:42:56 UTC, Ecstatic Coder wrote:
>>> On Friday, 29 June 2018 at 17:09:44 UTC, JN wrote:
>>>> On Friday, 29 June 2018 at 08:43:34 UTC, Ecstatic Coder wrote:
>>>>> Once Crystal integrates parallelism (at 1.0), it should become de facto one of the best alternative to Go, Java, C#, etc, because it's actually "Go-made-right". For instance it's genericity system works well, and its type inference system natively support union types.
>>>>>
>>>>
>>>> Except it has no Windows support and doesn't look like it will happen anytime soon. Some people might be living in a UNIX bubble, but Windows is a big market, and a language won't make it big without Windows support.
>>>
>>> Right :)
>>>
>>> But remember that Crystal is still in its infancy, as it hasn't reached its 1.0 version yet.
>>>
>>> Parallelism is on its way, and Windows support too...
>>>
>>> Don't forget that nowadays many (can I say most ?) servers are based on unix variants, so their platform support order looks perfectly fine and logical to me.
>>
>> Actually a large share of servers run Windows Server and/or Azure servers running Windows too.
>>
>> It's not logical to not support both.
>>
>> D already has that advantage supporting pretty much every platform you can think of.
>
> I agree, but you must compare what is comparable.
>
> Have a look at Crystal's Github project, you will see that Crystal, still in development and quite far from its 1.0 mile version (= despite no parallism and windows support, etc) ALREADY has 11206 stars, 881 forks and 292 contributors :
>
> https://github.com/crystal-lang/crystal
>
> Not bad for a language in its 0.25 version and first released in June 2014 (4 years), especially compared to D in its 2.0 version and first released in December 2001 (16 years), whose official compiler has 1806 stars, 452 forks and 168 contributors :
>
> https://github.com/dlang/dmd
>
> If those numbers means anything, I think its that Crystal is probably getting popularity much quicker than D, and honestly, after having tried it, I think it's really deserved, even if I agree that there are still many things that remain to be implemented before it's really ready for an official "production-ready" 1.0 release.

Yes. Crystal is a fantastic language already.

As someone who uses many languages, I tend to just use what does the task at hand best.

I'm sure I'll be able to find some usage for Crystal when it's production ready, but it doesn't mean I'll abandon D. That'll probably never happen, especially considering I have a lot of projects written in D with thousands of lines of code.
June 29, 2018
On Friday, 29 June 2018 at 20:51:56 UTC, bauss wrote:
> On Friday, 29 June 2018 at 20:13:07 UTC, Ecstatic Coder wrote:
>> On Friday, 29 June 2018 at 19:46:06 UTC, bauss wrote:
>>> On Friday, 29 June 2018 at 19:42:56 UTC, Ecstatic Coder wrote:
>>>> On Friday, 29 June 2018 at 17:09:44 UTC, JN wrote:
>>>>> On Friday, 29 June 2018 at 08:43:34 UTC, Ecstatic Coder wrote:
>>>>>> Once Crystal integrates parallelism (at 1.0), it should become de facto one of the best alternative to Go, Java, C#, etc, because it's actually "Go-made-right". For instance it's genericity system works well, and its type inference system natively support union types.
>>>>>>
>>>>>
>>>>> Except it has no Windows support and doesn't look like it will happen anytime soon. Some people might be living in a UNIX bubble, but Windows is a big market, and a language won't make it big without Windows support.
>>>>
>>>> Right :)
>>>>
>>>> But remember that Crystal is still in its infancy, as it hasn't reached its 1.0 version yet.
>>>>
>>>> Parallelism is on its way, and Windows support too...
>>>>
>>>> Don't forget that nowadays many (can I say most ?) servers are based on unix variants, so their platform support order looks perfectly fine and logical to me.
>>>
>>> Actually a large share of servers run Windows Server and/or Azure servers running Windows too.
>>>
>>> It's not logical to not support both.
>>>
>>> D already has that advantage supporting pretty much every platform you can think of.
>>
>> I agree, but you must compare what is comparable.
>>
>> Have a look at Crystal's Github project, you will see that Crystal, still in development and quite far from its 1.0 mile version (= despite no parallism and windows support, etc) ALREADY has 11206 stars, 881 forks and 292 contributors :
>>
>> https://github.com/crystal-lang/crystal
>>
>> Not bad for a language in its 0.25 version and first released in June 2014 (4 years), especially compared to D in its 2.0 version and first released in December 2001 (16 years), whose official compiler has 1806 stars, 452 forks and 168 contributors :
>>
>> https://github.com/dlang/dmd
>>
>> If those numbers means anything, I think its that Crystal is probably getting popularity much quicker than D, and honestly, after having tried it, I think it's really deserved, even if I agree that there are still many things that remain to be implemented before it's really ready for an official "production-ready" 1.0 release.
>
> Yes. Crystal is a fantastic language already.
>
> As someone who uses many languages, I tend to just use what does the task at hand best.
>
> I'm sure I'll be able to find some usage for Crystal when it's production ready, but it doesn't mean I'll abandon D. That'll probably never happen, especially considering I have a lot of projects written in D with thousands of lines of code.

Same for me :)
June 29, 2018
On 6/29/2018 1:43 AM, Ecstatic Coder wrote:
> Game development is a very special use case, but personally I don't think that many of those who use C++ for close-to-the-metal development should be that much interested in switching to D, because most of its standard libraries depend on the presence of a GC...

DasBetterC resolves that, though the library issue remains.


> And Rust, despite it has perfect C/C++-like performance

D has perfect C/C++ like performance, if you code it the same way.