September 29, 2019
29.09.2019 13:35, Benjiro пишет:
> On Sunday, 29 September 2019 at 07:43:12 UTC, drug wrote:
>> Did you ask people here to help you? You are welcome!
> 
> Thanks for your help* ( See PS below ) but fixing the download was not that hard. But for a new user that tries this, it can just as well been Chinese.
> 
> Its small issues like having a not working download present on the actual official website. It does not matter if its 3th party or not when its posted on the official website.
But I always download dmd from the official site and have no troubles. It works out of box. Your example above is a wrong mix of several ways to install dmd.

> 
> This is why i mentioned before how there are so many frustrations. Its not just the big issues but the constant small issues that are present everywhere.
> 
>> You are welcome!
> 
> *PS: Next time you write with a exclamation mark, know that this makes your sentence have a totally different meaning and is considered passive aggressive in my region.

Thank you. Good to know because I'm not native English speaker.

> 
> Its little things like this that seems to pop up everywhere in this community on a regular base. The fact that there are no rules of conduct or any kind of oversight is probably the main reason why people see D as negative community. Even places like Reddit that are toxic, have some kind of moderation going on because people will be people.
> 
> D, you want my suggestion? Invest into a proper forum, set up a RoC and actually moderate topics. And yes, i understand the irony as i am posting this off-topic in the Nim Language thread. :)
> 
> This is the first step...

Yeah, before the D comminity consisted of high professional members who can develop the language. Now when less professional people start appearing here they don't want to implement the features they want by themselves and when they hear 'do it yourself' they start complaining the community is toxic. Not at all. I do not blame these people of course, they are just users of the language not its developer. But it would be nice if they understand the situation.
September 29, 2019
On Sunday, 29 September 2019 at 01:29:59 UTC, Benjiro wrote:
> all i wanted was a god darn simple HTTP server that
> worked and kept working on release updates

lol i wrote one in 2008, and it still works to this day. Very rarely breaks, I have broad forward and backward compatibility with compiler versions.

I sometimes wish I actually put in Phobos like Andrei wanted me to back in the day. I just couldn't be bothered; I actually see users as a liability (you cost me time and offer me nothing) so like meh.

But still, I hear this complaint over and over again and it really just seems to be a problem with vibe.d rather than the language per se.
September 29, 2019
On Sunday, 29 September 2019 at 03:53:57 UTC, Laeeth Isharc wrote:

> I haven't done much with it yet but I hooked up your embedr to our scripting language written in D and it works for examples with very little effort.  I was planning to do same for Julia so we can steal their libraries too.  So currently you can write inline D and R in SIL.  Python isn't far off working and C++ and C# one can do a hello world but not much more (using cling and mono). I think using cling one could maybe expose quite a lot of C++ libraries to D if you don't insist on zero overhead.
>
> What were the practical limitations you encountered with using R libraries from D via embedr?

The practical limitation is that it only does what I need. It's built around R's matrix/vector types, which are the ones I use. The released version doesn't provide support for multidimensional arrays, for instance, and the wrapper for working with R lists can still lead to segfaults under some use cases. I have personal code (not in embedr) to read both arrays and lists, and to create lists to return to R. That was easy to do, but it is limited to those uses.

In a nutshell: If you want to pass data between the two languages as a vector or matrix, access that data in either language, or make changes to the data, it's all there and it should work. If you want to return a list from D to R (needed in order to return multiple items from a function), that will work. If you want to do fancy things, like passing a list from R to D and then making arbitrary changes on the D side without unpacking the data, there might be problems. There are a lot of issues with automating the protection/unprotection from R's garbage collector that the cost-benefit analysis has never been in favor of getting it to work.

These days, when I do have time to work on this, it's mostly going into compilation of a subset of R to D. The idea is that while it's useless to try to compile arbitrary R code, there's a subset that can be made fast, and it's that subset responsible for most bottlenecks. Add type information to your R code, compile, and you've got something that runs as fast as D. Ultimately, I want it so that a coauthor can write their code in R, I can write my code in D, and either of us can run it with good performance. If I win the lottery I will take time off of work and complete it. :)

September 29, 2019
Am Sun, 29 Sep 2019 16:01:49 +0300 schrieb drug:

> 29.09.2019 13:35, Benjiro пишет:
>> On Sunday, 29 September 2019 at 07:43:12 UTC, drug wrote:
>>> Did you ask people here to help you? You are welcome!
>> 
>> Thanks for your help* ( See PS below ) but fixing the download was not that hard. But for a new user that tries this, it can just as well been Chinese.
>> 
>> Its small issues like having a not working download present on the actual official website. It does not matter if its 3th party or not when its posted on the official website.
> But I always download dmd from the official site and have no troubles. It works out of box. Your example above is a wrong mix of several ways to install dmd.
> 
> 
>> This is why i mentioned before how there are so many frustrations. Its not just the big issues but the constant small issues that are present everywhere.
>> 
>>> You are welcome!
>> 
>> *PS: Next time you write with a exclamation mark, know that this makes your sentence have a totally different meaning and is considered passive aggressive in my region.
> 
> Thank you. Good to know because I'm not native English speaker.
> 
> 
>> Its little things like this that seems to pop up everywhere in this community on a regular base. The fact that there are no rules of conduct or any kind of oversight is probably the main reason why people see D as negative community. Even places like Reddit that are toxic, have some kind of moderation going on because people will be people.
>> 
>> D, you want my suggestion? Invest into a proper forum, set up a RoC and actually moderate topics. And yes, i understand the irony as i am posting this off-topic in the Nim Language thread. :)
>> 
>> This is the first step...
> 
> Yeah, before the D comminity consisted of high professional members who can develop the language. Now when less professional people start appearing here they don't want to implement the features they want by themselves and when they hear 'do it yourself' they start complaining the community is toxic. Not at all. I do not blame these people of course, they are just users of the language not its developer. But it would be nice if they understand the situation.

I think a large part of this shift in the forum discussions is that most constructive, language related discussions have moved to slack. This only leaves the bike-shedding, criticism and trolling  here, which seems to have changed the atmostphere a lot.

A few years ago, the D community was considered very friendly and open and I think this is still the case when you look at the D.learn forum. So it's not really people who ask questions getting harsh responses, even if a question has been asked a hundred times, people still get good and friendly answers. It's more people demanding things and criticizing unproportionally. This certainly does not justify rude responses, but this seems to be the pattern recently.


-- 
Johannes
September 29, 2019
On Wednesday, 25 September 2019 at 10:37:07 UTC, JN wrote:
> I've been looking at Nim every now and then, but I don't really like it. It's trying to cover too many bases. Don't like camelCase? Don't worry, snake_case and PascalCase works too.

My biggest issue with Nim too. It's going to be a mess just like PHP was with function names being in all kinds of cases and you'd never know which one it is.

Is it to_lower(str) or is it toLower(str) or is it ToLower(str) or is it tolower(str) etc.
September 29, 2019
On Sunday, 29 September 2019 at 01:29:59 UTC, Benjiro wrote:
> On Friday, 27 September 2019 at 15:11:26 UTC, GreatSam4sure wrote:
>> The biggest problem to D adoption is this community IMHO. Almost everything here is negative. The community is 95% negative to the language. There are people here that never see anything good about D yet they are here. The community is damaging to D image.
>>
>> It is a community that is out to destroy the language. All the hope of me using D has been almost destroyed.
>
> As one of these negative people that from time to time reads up on multiple languages forums.
>
> D was one of the first languages after moving away from Web dev, that i liked from structure point. Even got the book from Ali.
>
> But ... the more i worked with it, the more frustration, upon frustration, upon ... kept creeping in with constant issues.
>
> * Not user friendly tooling ( somewhat improved, took only a few years )
>
> * Compiler bugs. O those bugs ...
>
> * Upgrading the compiler resulting in packages ( like vibe.d going broke )
>
> * Lacking IDE support ( somewhat improved on Visual Studio Code )
>
> * Lacking in packages to easily get going.
>
> * Constant and frustrating changing direction. BetterC? First get BetterD doing and when your a big boy, then do this.
>
> * The feeling off being looked down when suggestion that D is not user friendly. Especially in the past you constantly got this as a answer: "you have a issue, fix it yourself". Yes, this was the constant answer from everybody.
>
> * The snarky and frankly poison comments from regular members. Some of those now seem to have left but D really has some members that got under anybody their skin for daring to mention a issue.
>
> * Focus upon C++ crowd, when very few C++ developers have any interest in D. Hell, if a C++ developer wants to switch, they have better alternatives with bigger or better growing communities.
>
> * A leadership that seems to be stuck in the 1990's mentality. The world has moved on, people expect more these days, they have choices most old timers did not have. So they are more spoiled with those choices and are not going to put in the time. But when you ignore those "spoiled" people, you never build up a loyal base and you will never motivate them to help out with code or money.
>
> You can not run anything worth while with D unless you plan on spending a lot of time writing supporting code yourself. Some companies have no issue with this but little old me can not be bothered with it, when there are plenty of good alternatives that get the job done as good.
>
> * I know one of the posters on this forum a bit more personal. We have had some discussions about the different compilers. Just as he used Go for his personal project, i used Crystal for mine. We both found D too much trouble for the advantages it gave.
>
> Its a vicious circle and i know it.
>
> Lack in people / contributors => No Packaging / Bugs / Issues => New people scared away => Lack in people / contributors ....
>
> * D just is not sexy. I know D now from 10/2016 ( when i got Ali's book. Programming in D ). Loved the book and language syntax ( especially if you come from PHP ) but it was all the rest that ruined it for me. And over the years D seems to have been going down a direction that i hated. New features that had no meaning for me, code breaking issues and resources being put in features like BetterC, when all i wanted was a god darn simple HTTP server that worked and kept working on release updates. And more active packages.
>
> * On the subject of Programming in D, i noticed a lot of books are old. BetterC, the feature where a lot of resources have gone into, seems to be ignored in every book on the market.
>
> ------------------------------
>
> To give you a nice example how much of a irritation D can be even today. Just right now, i tried to install D on Ubuntu because i want to time the current D compile speed, vs a few other languages. And i am following the official order ( https://dlang.org/download.html ):
>
> 1. sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
> 2. sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring
> 3. sudo apt-get update && sudo apt-get install dmd-compiler dub
>
> Guess what happens on Step 2.
>
>> Err:7 https://netcologne.dl.sourceforge.net/project/d-apt d-apt InRelease
>   The following signatures couldn't be verified because the public key is not available:  NO_PUBKEY EBCF975E5BA24D5E
>
> And this issue was posted a LONG time ago.
>
> Yep ... Now try Go, Crystal, Nim, Rust, ... and a lot of other languages. I have installed all those dozens of times and a issue like simply do not show up or are fixed so fast, that it never hits "me". But whenever it involves D, its always one thing or another.
>
> ------------------------------
>
> Hopefully this explains things from my point of view, where D simply fails me personally. Its late so i am off to bed.

+1

Same for me for everything you said.

I personally use D only for file processing scripts, first because D is very good at that, but also because this generally (but not always) prevents me from suffering from many of those problems you mentioned.

> * Focus upon C++ crowd, when very few C++ developers have any interest in D. Hell, if a C++ developer wants to switch, they have better alternatives with bigger or better growing communities.

> Its a vicious circle and i know it.
>
> Lack in people / contributors => No Packaging / Bugs / Issues => New people scared away => Lack in people / contributors ....

> * D just is not sexy. I know D now from 10/2016 ( when i got Ali's book. Programming in D ). Loved the book and language syntax ( especially if you come from PHP ) but it was all the rest that ruined it for me. And over the years D seems to have been going down a direction that i hated. New features that had no meaning for me, code breaking issues and resources being put in features like BetterC, when all i wanted was a god darn simple HTTP server that worked and kept working on release updates. And more active packages.

> Yep ... Now try Go, Crystal, Nim, Rust, ... and a lot of other languages. I have installed all those dozens of times and a issue like simply do not show up or are fixed so fast, that it never hits "me". But whenever it involves D, its always one thing or another.

Very well summarized...

I'm a C++ developer myself (even if these days I program mostly in C#), and obviously I'm using D as a better Python/Ruby, not as a better C++.

And as a "true" C++ alternative, D is far from being the best choice. I'd rather choose Rust, Zig and even Nim for my typical C/C++ use case, despite indeed it's obviously *possible* to use D for that, precisely because I know D's major pain points.

D being garbage collected, I once hope it would embrace the Go/Crystal wagon of those similar languages which have put their focus on web application developement, so that their base library is providing all the required building blocks (coroutines, http, etc) in such a way we can bery easily build our own web frameworks with just a few lines of code.

But I now understand that the focus is on "BetterC", not on "BetterGo"...
September 29, 2019
On Sunday, 29 September 2019 at 20:39:19 UTC, Ecstatic Coder wrote:
> On Sunday, 29 September 2019 at 01:29:59 UTC, Benjiro wrote:
>> [...]
>
> +1
>
> Same for me for everything you said.
>
> I personally use D only for file processing scripts, first because D is very good at that, but also because this generally (but not always) prevents me from suffering from many of those problems you mentioned.
>
>> [...]
>
>> [...]
>
>> [...]
>
>> [...]
>
> Very well summarized...
>
> I'm a C++ developer myself (even if these days I program mostly in C#), and obviously I'm using D as a better Python/Ruby, not as a better C++.
>
> And as a "true" C++ alternative, D is far from being the best choice. I'd rather choose Rust, Zig and even Nim for my typical C/C++ use case, despite indeed it's obviously *possible* to use D for that, precisely because I know D's major pain points.
>
> D being garbage collected, I once hope it would embrace the Go/Crystal wagon of those similar languages which have put their focus on web application developement, so that their base library is providing all the required building blocks (coroutines, http, etc) in such a way we can bery easily build our own web frameworks with just a few lines of code.
>
> But I now understand that the focus is on "BetterC", not on "BetterGo"...

I'll shim in with some positives. I don't find D lacking in any significant way that hinder my work.
I use it both privately and at work with great success.
It has all the tools I need in the language and I like the improvements I'm seeing, the direction the language is taking.

The development of D is mostly done by voluteres which mean that I am grateful for all their time and work.
I do not expect much in the way of support or that *they* listen to me.
In the same way I do not expect it from any other language I use.
The few times I have asked for help there has always been someone that can provide it.
Last time it was kinke in fixing an ldc bug (thank you).

// Joakim
September 30, 2019
On Sunday, 29 September 2019 at 20:39:19 UTC, Ecstatic Coder wrote:
> And as a "true" C++ alternative, D is far from being the best choice. I'd rather choose Rust, Zig and even Nim for my typical C/C++ use case, despite indeed it's obviously *possible* to use D for that, precisely because I know D's major pain points.

In all fairness, D started out as an alternative to C++, but didn't align it's semantics when C++11 came. That would be necessary to get good integration. At this point it is too late as Rust and other alternatives have reached critical mass.

So, I don't think one can argue this only in terms of "what is" and "what isn't", timing is a big factor.


September 30, 2019
On Sunday, 29 September 2019 at 22:27:40 UTC, Joakim Brännström wrote:
> On Sunday, 29 September 2019 at 20:39:19 UTC, Ecstatic Coder wrote:
>> On Sunday, 29 September 2019 at 01:29:59 UTC, Benjiro wrote:
>>> [...]
>>
>> +1
>>
>> Same for me for everything you said.
>>
>> I personally use D only for file processing scripts, first because D is very good at that, but also because this generally (but not always) prevents me from suffering from many of those problems you mentioned.
>>
>>> [...]
>>
>>> [...]
>>
>>> [...]
>>
>>> [...]
>>
>> Very well summarized...
>>
>> I'm a C++ developer myself (even if these days I program mostly in C#), and obviously I'm using D as a better Python/Ruby, not as a better C++.
>>
>> And as a "true" C++ alternative, D is far from being the best choice. I'd rather choose Rust, Zig and even Nim for my typical C/C++ use case, despite indeed it's obviously *possible* to use D for that, precisely because I know D's major pain points.
>>
>> D being garbage collected, I once hope it would embrace the Go/Crystal wagon of those similar languages which have put their focus on web application developement, so that their base library is providing all the required building blocks (coroutines, http, etc) in such a way we can bery easily build our own web frameworks with just a few lines of code.
>>
>> But I now understand that the focus is on "BetterC", not on "BetterGo"...
>
> I'll shim in with some positives. I don't find D lacking in any significant way that hinder my work.
> I use it both privately and at work with great success.
> It has all the tools I need in the language and I like the improvements I'm seeing, the direction the language is taking.
>
> The development of D is mostly done by voluteres which mean that I am grateful for all their time and work.
> I do not expect much in the way of support or that *they* listen to me.
> In the same way I do not expect it from any other language I use.
> The few times I have asked for help there has always been someone that can provide it.
> Last time it was kinke in fixing an ldc bug (thank you).
>
> // Joakim

Same for me. I'm very grateful to Walter and to the community to have provided me with such a fantastic language. My favorite one actually.

Just take a look at my Github account, and this will be obvious to you :

https://github.com/senselogic?tab=repositories

But as I said, in my opinion, Go and Crystal focus on web application development have their advantages.

For instance, I was interested in implementing Cyclone, my CQL/SQL script runner, in D.

But I quickly switched to Genesis, my own variant of Go.

The code is simple, concise and performant, and use only the default librairies and the official Cassandra and MySQL database drivers :

https://github.com/senselogic/CYCLONE/blob/master/cyclone.gs

Try porting this to D in the same way, and then tell me if I was wrong to finally choose Go for that specific tool...
September 30, 2019
On Sunday, 29 September 2019 at 22:27:40 UTC, Joakim Brännström wrote:
> The development of D is mostly done by voluteres which mean that I am grateful for all their time and work.
> I do not expect much in the way of support or that *they* listen to me.
> In the same way I do not expect it from any other language I use.
> The few times I have asked for help there has always been someone that can provide it.
> Last time it was kinke in fixing an ldc bug (thank you).
>
> // Joakim

This is true. However, given that it's a volunteer project, there is room for improvement. If the workforce is limited, it's spread over the language/libraries surface. If we were to minimize that surface, we can have more work done.

I think D shouldn't be afraid to cut some of the language features which aren't used much, or have a viable workaround. This way the language would be smaller and easier to maintain/bugfix. Also, smaller language means lesser chance of bugs occuring in the first place. Right now I feel like D is in that weird spot. It's too afraid to cut or rework existing features for language stability, but then is too brave introducing new concepts which weren't battle-tested before.

Main issues with D aren't with the specific features, which often came up as a good idea and solve some problem, but the problem is when these features interact with other features. The result is a lot of unexpected interactions (look at any DIP discussion thread, there's always a case of "yeah but this breaks if I have an immutable shared union with alias this"), added cognitive load for the programmer and harder to write generic code.