August 01, 2016
On Monday, 1 August 2016 at 16:43:40 UTC, eugene wrote:
> it would be ok if someone in the community would try to make things clear about old problems of D1 and the current state of D2, so to remove old(and maybe new) hype about the language

All of you are right.

I just saw that on stats, Apple Swift 3 is fastest growing language ever and if you check what's behind, it's D.
August 01, 2016
On Monday, 1 August 2016 at 15:31:35 UTC, Emre Temelkuran wrote:
> For years, i was travelling along Golang, Rust, Perl, Ruby, Python, PHP, JScript, JVM Languages.
> Lastly Crystal Lang and Nimrod, Julia, Haskell, Swift and many more that i can't remember.
>
> I'm 24 years old, my first lang was PHP and VBasic then C,C++ and i first heard about D after 2005 when i was 14-15 years old.
>
> I always ignored D, i prejudiced that D failed, because nobody were talking about it. I decided to check it yesterday, it has excellent documentation, i almost covered all aspects. I think D is much better than the most of the other popular langs. It's clear as JScript, Swift, Julia and PHP, also it's capable enough as C,C++. I think D deserves a bigger community.
>
> Why people need NodeJS, Typescript etc, when there is already better looking lang?
> Everyone talking about how ugly is Golang. So why people are going on it? Performance concerns? Why languages that are not backed up by huge companies are looking like they failed?

I can't speak for everyone, but for my purposes, D isn't ready for use, because it lacks ios/android support. AFAIK, ios support is coming along nicely, but still isn't production ready, and isn't merged into LDC. I think D does a lot of things very well, but seems to be suffering from lack of manpower at the moment, which results in large holes like lack of mobile platform support, and unfinished features. The 'scope' keyword, for example, is legal in D syntax, but doesn't actually do anything. While this problem may be practically benign, its a huge red flag, which can be very off-putting to newcomers. I could only speculate as to why exactly D isn't more popular. When I look at things like D's CTFE, C++ interop, templates, and reflection, my honest reaction is..Holy shit, this is awesome...why isn't this language more popular ?_?

Maybe it just needs more time.


August 02, 2016
On Monday, 1 August 2016 at 19:33:48 UTC, bitwise wrote:
> 'scope' keyword, for example, is legal in D syntax, but doesn't actually do anything.

sorry, but you are wrong here. of course, it does HAVE effect.

  `void foo (scope delegate () boo)`

this means that compiler should not allocate a closure for delegate, as `foo` is promising that it will not store `boo` anywhere.

  `scope a = new A();`

this does what you think it does, althru it is deprecated in favor of `scoped!` template.
August 02, 2016
On Monday, 1 August 2016 at 16:09:58 UTC, Seb wrote:
> On Monday, 1 August 2016 at 15:31:35 UTC, Emre Temelkuran wrote:
>> [...]
>
>
> Dear Emre,
>
> we have had such threads in the past and experience shows that there will be a huge non-productive debate about it. I think all the people here agree that "D deserves a bigger community", but everyone has a different view on how to achieve that.
>
> My personal opinion is that we all can do a tiny contribution to make D more popular.
> For example you should start actively promoting D at your university, workplace and among friends and maybe you can even start a local Meetup or developer group.
> Of course, the online pedant is actively complaining on a discussion, site, ... if D is not listed or mentioned in a bad light.

If D deserves criticism, don't complain (it's not a religion). But if the comparisons are unfair and / or half-truths are spread, then yes, one should complain and set the record straight.

Apart from that, I agree with you. Just use it and, if possible, improve it. The more the merrier :)

> If you have more time, doing great projects or libraries in D will help it's adaption too ;-)
>
> In any case I highly encourage you to have a look at Walter and Andrei's Action List and contribute to it. You know, writing a unittest for a non-covered line in Phobos takes around the time to post here, but it's a helpful contribution!
>
> https://wiki.dlang.org/Wish_list
> https://wiki.dlang.org/Vision/2016H2_(Draft)
>
> What I was trying to say, we shouldn't waste time arguing about whether D is awesome, but make it even more awesome ;-)

August 02, 2016
On Monday, 1 August 2016 at 18:21:05 UTC, Charles Hixson wrote:

>> [...]
> I have never experienced D as being unstable.  I have, however, experienced problems using various libraries with D.  Whenever you need to use a foreign library you invite problems, but D wrappers around libraries have a habit of showing up and then not being maintained.  THAT has caused me problems...enough problems that if I don't need the performance I'll pick Python.
>
> [...]

However, the good thing about D is that you don't need to use all the idioms, if you really don't want to. You can write simple C-like code with loops. You don't need to have hundreds of template constraints, if you don't want/need to. To get started with D you don't need to be able to master template constraints, CTFE and ranges from day one. This knowledge will come naturally as you go along, but it's not a conditio sine qua non.

[snip]
August 02, 2016
On Monday, 1 August 2016 at 18:54:08 UTC, Emre Temelkuran wrote:
>
> I just saw that on stats, Apple Swift 3 is fastest growing language ever and if you check what's behind, it's D.

Swift is the outlier here in the language landscape.

- pushed and marketed by Apple as an important lockin into their ecosystem  (why invest so much effort else?)
- replaces Objective-C which is not the most pleasant or sensical language
- explicitely targets newcomers to programming, in XCode a new Swift program is a "Playground"
- consultants don't want to be left behind and now sell Swift to clients

Swift could succeed whatever it does.
August 03, 2016
On Tuesday, 2 August 2016 at 07:50:29 UTC, ketmar wrote:
> On Monday, 1 August 2016 at 19:33:48 UTC, bitwise wrote:
>> 'scope' keyword, for example, is legal in D syntax, but doesn't actually do anything.
>
> sorry, but you are wrong here. of course, it does HAVE effect.
>
>   `void foo (scope delegate () boo)`
>
> this means that compiler should not allocate a closure for delegate, as `foo` is promising that it will not store `boo` anywhere.
>
>   `scope a = new A();`
>
> this does what you think it does, althru it is deprecated in favor of `scoped!` template.

I know about these cases, but didn't bother mentioning them, as they are outliers. Also, they do not make my point any less valid.

The following code compiles without errors(outputs 1):

class Foo{
	int val;
	this(){ val = 1; }
}
Foo x;
void bar(scope Foo foo) {
	x = foo;
}
void main() {
    bar(new Foo());
    writeln(x.val);
}


'scope' is clearly not functioning as advertised, as is the case for many aspects of D. Again, users shouldn't have to deal with this sort of thing. I doubt that anyone outside of would-be D contributors will continue to use the language beyond the point where they find a hole like this.

    Bit

August 03, 2016
On Wednesday, 3 August 2016 at 19:57:13 UTC, bitwise wrote:
> On Tuesday, 2 August 2016 at 07:50:29 UTC, ketmar wrote:
>> On Monday, 1 August 2016 at 19:33:48 UTC, bitwise wrote:
>>> 'scope' keyword, for example, is legal in D syntax, but doesn't actually do anything.
>>
>> sorry, but you are wrong here. of course, it does HAVE effect.
> I know about these cases, but didn't bother mentioning them, as they are outliers. Also, they do not make my point any less valid.

it does. actually, it makes your point completely false.
August 04, 2016
On Wednesday, 3 August 2016 at 21:19:21 UTC, ketmar wrote:
> On Wednesday, 3 August 2016 at 19:57:13 UTC, bitwise wrote:
>> On Tuesday, 2 August 2016 at 07:50:29 UTC, ketmar wrote:
>>> On Monday, 1 August 2016 at 19:33:48 UTC, bitwise wrote:
>>>> 'scope' keyword, for example, is legal in D syntax, but doesn't actually do anything.
>>>
>>> sorry, but you are wrong here. of course, it does HAVE effect.
>> I know about these cases, but didn't bother mentioning them, as they are outliers. Also, they do not make my point any less valid.
>
> it does. actually, it makes your point completely false.

Nice troll.
August 04, 2016
On Thursday, 4 August 2016 at 00:57:13 UTC, bitwise wrote:
> On Wednesday, 3 August 2016 at 21:19:21 UTC, ketmar wrote:
>> On Wednesday, 3 August 2016 at 19:57:13 UTC, bitwise wrote:
>>> On Tuesday, 2 August 2016 at 07:50:29 UTC, ketmar wrote:
>>>> On Monday, 1 August 2016 at 19:33:48 UTC, bitwise wrote:
>>>>> 'scope' keyword, for example, is legal in D syntax, but doesn't actually do anything.
>>>>
>>>> sorry, but you are wrong here. of course, it does HAVE effect.
>>> I know about these cases, but didn't bother mentioning them, as they are outliers. Also, they do not make my point any less valid.
>>
>> it does. actually, it makes your point completely false.
>
> Nice troll.

not at all.
"a is false."
"but a is true!"
"ah, nevermind, continue execution."

one invalid point makes the whole technical argument false. it is natural to dismiss it completely: author may wanted to do a good thing, but he didn't bother to check his statements, so the whole thing becomes invalid. instead of trying to dissect the thing (and risking to hit author's response like "you took only part of my statement instead of taking the whole picture!"), the whole thing should be rejected. author can come with fixed patch^w statement later, of course.