November 20, 2018
On Wednesday, 14 November 2018 at 15:07:46 UTC, lagfra wrote:
> By 2020 C++ is planning to introduce:


what are they planning to remove from C++ ?
November 20, 2018
On Tuesday, 20 November 2018 at 14:02:21 UTC, Emil wrote:
> On Wednesday, 14 November 2018 at 15:07:46 UTC, lagfra wrote:
>> By 2020 C++ is planning to introduce:
>
>
> what are they planning to remove from C++ ?

I don't think there is anything.

But it is nice to be able to compile 20 years old code without encountering strange new errors.
November 20, 2018
On Tuesday, 20 November 2018 at 14:02:21 UTC, Emil wrote:
> On Wednesday, 14 November 2018 at 15:07:46 UTC, lagfra wrote:
>> By 2020 C++ is planning to introduce:
>
>
> what are they planning to remove from C++ ?

This was entertaining! :)


https://www.bfilipek.com/2018/04/deprecating-pointers.html?m=1
November 20, 2018
On Saturday, 17 November 2018 at 04:21:50 UTC, NoMoreBugs wrote:
> On Saturday, 17 November 2018 at 02:07:45 UTC, Laeeth Isharc wrote:
>>
>> And to return to an old point.  It's much better to focus on people that like what you are doing and already using your product than those who say "if only you would do X, D would be huge".
>
> Given D's very small user base, that's probably not the mindset you want the foundation to be in ;-)

I understand the words, but not the commercial logic.  That's exactly the mindset I personally think the Foundation ought to have - just my opinion though.  Talk is cheap and one succeeds by doing more of what's working at least a little in my experience (whilst generating enough cheap experiments to have little successes to build on, something in this case more up to users than the foundation).

I definitely don't think it's a profitable strategy to listen to advice, well meaning or not, to people who aren't involved about what would be conceptually wonderful.

> That mindset, will ensure your small user base never grows, and will likely get smaller and smaller.

Evidently you don't see yourself as part of the D community from your phrasing.  That's an assertion and we are all entitled to our opinions but to be persuasive reasoned arguments are often more effective. What you say is the opposite of my experience as well as basic commercial common sense.

> Even the C++ Committee cannot risk being in that mindset - not anymore anyway.

People who run big organisations are often quite clueless about the challenges involved in running small organisations. And the same is true of language communities.  I don't really see that it's a matter of "even the C++ committee" - their context is just so utterly different.

> To grow the user base, you need to listen and respond to *their* needs - ask any streamer ;-)

Yes - the needs of people who are using D in a serious way already and prominent contributors to the community.  People like Manu for example, if we are speaking of individuals.  Some


> As long as I use D, I have 'skin in the game'.
>
> When I stop using D, I'll have no interest in trying to voice my opinion about how it can better serve my needs.

What projects are you working on?  And how do your needs flow out of your context?  How many lines of code have you written in D?  What's your github handle?  What's been your biggest success in D?


> Also, you seem to be saying that D is more of an incubation language, for creative ideas?

Where did I suggest more of that and less of industrial strength? Its certainly good for creative projects because its quite productive and because its so plastic.  Seems pretty good for running industrial strength projects too.  Just its perhaps not the first choice if you want pretty refactoring tools.  Is there anything at all controversial or surprising about any of these observations?

> This duality of purpose, is just confusing - and in my opinion, is holding back the language.

Duality of purpose? I think you mistake a snapshot in time for something planned or essential in some Platonic sense.

> A language with only 2 gatekeepers makes sense for a language that wants to be an incubation language for creative ideas - even more so when its for the creative ideas of those 2 gatekeepers.

Yes and that's why Apple never went anywhere until they told Jobs to stick to relationships and PR and let the grown ups on the committee design things.  Or not.  Or perhaps it wasn't that but the focus groups that were truly responsible for the success of Apple.

A very small number of minds working closely together can be creative and design something beautiful, or have a chance to do so.  A committee, notoriously, is a machine for suppressing creativity.

> I know of no widely used industrial strength language that has only 2 gatekeepers. Because how can only 2 people be representative of its vast number of users? >it's not possible.

You're right.  Python was such a promising language but it never stood a chance with not even two but just one BDFL.  Now that they have moved to some kind of committee structure, I am sure that bodes well for the future flourishing of the language.  Or is in fact the opposite true?



November 21, 2018
On Tuesday, 20 November 2018 at 23:50:56 UTC, Laeeth Isharc wrote:
>
> Evidently you don't see yourself as part of the D community from your phrasing.  That's an assertion and we are all entitled to our opinions but to be persuasive reasoned arguments are often more effective. What you say is the opposite of my experience as well as basic commercial common sense.
>

I understand the psychological basis of that assertion and the reaction you want to get from those who read it (to dismiss/ignore me because I'm an outsider).

But your logic and your assertion is misguided.

I don't see myself as a part of any 'language' community.

This is where we seem to differ, a lot.

A programming language for me is a tool to an end.

Its serves me. I do not serve it - or its community.

Its just a tool - that all it is.

You don't build communities around a 'hammer' or a 'spanner'.

It's not unreasonable that I give feedback on how that tool can better serve me.

We also seem to differ on what a 'contributor' is.

To me, the focus is always on the user, and their needs, not on the language and its needs. I think our views really differ here too.

I also believe the language designer(s) are ultimately responsible for the mistakes that programmers continually make (and yes, here I'm paraphrasing someone who is well known and well respected in the computer science field).

I don't want a faulty hammer or spanner in my toolbox.

> A very small number of minds working closely together can be creative and design something beautiful, or have a chance to do so.  A committee, notoriously, is a machine for suppressing creativity.

The proof of your argument needs evidence.

D has had 10 years (since D2) of 'creativity time', and much longer than that in reality.

Look at what the C++ committee has been able to accomplish in the same amount of time.

I don't object to creative endeavors. It's what makes life worthwhile.

But after 18 years, is that what D (still) is?

Or is it a serious tool that serious programmers should take seriously.

And which perspective is the foundation committed too?


November 21, 2018
On Wednesday, 21 November 2018 at 01:09:30 UTC, NoMoreBugs wrote:
> On Tuesday, 20 November 2018 at 23:50:56 UTC, Laeeth Isharc wrote:
>>
>> Evidently you don't see yourself as part of the D community from your phrasing.  That's an assertion and we are all entitled to our opinions but to be persuasive reasoned arguments are often more effective. What you say is the opposite of my experience as well as basic commercial common sense.
>>
>
> I understand the psychological basis of that assertion and the reaction you want to get from those who read it (to dismiss/ignore me because I'm an outsider).
>
> But your logic and your assertion is misguided.
>
> I don't see myself as a part of any 'language' community.
>
> This is where we seem to differ, a lot.
>
> A programming language for me is a tool to an end.
>
> Its serves me. I do not serve it - or its community.
>
> Its just a tool - that all it is.
>
> You don't build communities around a 'hammer' or a 'spanner'.
>
> It's not unreasonable that I give feedback on how that tool can better serve me.

Yes, a programming language is a tool, not a religion. What has happened to D's "pragmatic approach"? It is sad, but interesting at the same time (from a sociological point of view), to see how intelligent and creative people, experienced and outstanding engineers, who started to create a good tool, have adopted a quasi-religious mindset, encouraging each other in their faith while taking offence at any criticism, calling critics trolls or alleging ulterior motives. Mind you, this doesn't only happen to newcomers, but also to people who have used and invested in D for years. It's a shame, because D has a lot of potential, things that other languages have only recently caught up on.

This is more to my liking:

Pragmatic language

https://www.youtube.com/watch?v=PsaFVLr8t4E&feature=youtu.be?t=116

Evolution of language:

https://www.youtube.com/watch?v=PsaFVLr8t4E&feature=youtu.be?t=1651

(And please spare me the comments about "industry backed", "vested interest", "D is a community effort" - a lot of things have to do with the mindset not with D being a community effort that isn't backed up by big industry.)


>
> We also seem to differ on what a 'contributor' is.
>
> To me, the focus is always on the user, and their needs, not on the language and its needs. I think our views really differ here too.

PRs are only used as an argument to smother any criticism. You don't contribute, so shut up! But see what happens to a lot of PRs..

[snip]

> D has had 10 years (since D2) of 'creativity time', and much longer than that in reality.
>
> Look at what the C++ committee has been able to accomplish in the same amount of time.
>
> I don't object to creative endeavors. It's what makes life worthwhile.
>
> But after 18 years, is that what D (still) is?

Er, yeah, I tend to ask myself the same question.

> Or is it a serious tool that serious programmers should take seriously.
>
> And which perspective is the foundation committed too?

Good question. But I think we know the answer.
November 21, 2018
On Wednesday, 21 November 2018 at 11:17:41 UTC, Chris wrote:
> On Wednesday, 21 November 2018 at 01:09:30 UTC, NoMoreBugs wrote:
>> [...]
>
> Yes, a programming language is a tool, not a religion. What has happened to D's "pragmatic approach"? It is sad, but interesting at the same time (from a sociological point of view), to see how intelligent and creative people, experienced and outstanding engineers, who started to create a good tool, have adopted a quasi-religious mindset, encouraging each other in their faith while taking offence at any criticism, calling critics trolls or alleging ulterior motives. Mind you, this doesn't only happen to newcomers, but also to people who have used and invested in D for years. It's a shame, because D has a lot of potential, things that other languages have only recently caught up on.
>
> This is more to my liking:
>
> Pragmatic language
>
> https://www.youtube.com/watch?v=PsaFVLr8t4E&feature=youtu.be?t=116
>
> Evolution of language:
>
> https://www.youtube.com/watch?v=PsaFVLr8t4E&feature=youtu.be?t=1651
>
> (And please spare me the comments about "industry backed", "vested interest", "D is a community effort" - a lot of things have to do with the mindset not with D being a community effort that isn't backed up by big industry.)

What did you think about this bit?

"There's one thing that we don't really have and I don't really want it in the language: it's meta-programming... instead we had a very good experience doing compiler plugins."
https://www.youtube.com/watch?v=PsaFVLr8t4E?t=2126

Also, no "first-class immutability."
November 21, 2018
On Wednesday, 21 November 2018 at 13:26:34 UTC, Joakim wrote:

> What did you think about this bit?
>
> "There's one thing that we don't really have and I don't really want it in the language: it's meta-programming... instead we had a very good experience doing compiler plugins."
> https://www.youtube.com/watch?v=PsaFVLr8t4E?t=2126
>
> Also, no "first-class immutability."

I watched the whole keynote. Well, to begin with it's still a very young language (not 18+ years old) and keeps getting better and better. Things that were a bit tricky just recently are now much easier and part and parcel of the language. It shows that they listen to their user base and make things as easy as possible. In many ways it's already miles ahead of D in terms of what you need as a programmer to get things done fast, e.g. tooling, interop, multi-platform, handling of deprecations etc. There are useful features (I already knew from D) that make life easier (e.g. lambdas).

And as for meta-programming (I knew this would come up ;)), I don't really miss it / use it anymore. There was only one case where I said it would have been nice, but it wasn't _really_ necessary (it was just an old D habit, really). In fact, meta-programming in D can cause a lot of unnecessary headaches (cryptic compiler warnings galore, code breakage) and stall the whole development process unnecessarily - and often for very little extra value. It says a lot that Adam D. Ruppe stated that if you don't want your code to break, use non-idiomatic D. So what's the point of it then? It's just absurd.

D could have been a real contender here (e.g. C interop) but instead of investing in a good infrastructure / tooling, cleaning up and stabilizing the language, the community has turned D into a "feature laboratory" where ideas are discussed to death and really important issues are swept under the rug. Other new languages focus on tooling and interop from the very beginning as they realize that this is very important these days, more so than fancy features (that can be added later).

Then, of course, the inevitable "X doesn't have feature Y, but D does! That's why X sucks." Only: are all these super features indispensable for production? Why hasn't D got backing from big players yet? Because of the community's elitist and parochial mindset and the overall lack of consistency.

Joakim, you have done some great work as regards Android / iOS and I believe we are on the same page here. But see that the D Foundation didn't pick up on it and say "Let's take this and create some sound tooling for ARM cross-compilation." If it's not about fancy super-sophisticated allocators, contributors are completely on their own. This is no way to treat people who make an effort.


November 22, 2018
On Wednesday, 21 November 2018 at 01:09:30 UTC, NoMoreBugs wrote:
> On Tuesday, 20 November 2018 at 23:50:56 UTC, Laeeth Isharc wrote:
>>
>> Evidently you don't see yourself as part of the D community from your phrasing.  That's an assertion and we are all entitled to our opinions but to be persuasive reasoned arguments are often more effective. What you say is the opposite of my experience as well as basic commercial common sense.
>>
>
> I understand the psychological basis of that assertion and the reaction you want to get from those who read it (to dismiss/ignore me because I'm an outsider)

I'm just observing what is implied by your words.
.
>
> But your logic and your assertion is misguided.
>
> I don't see myself as a part of any 'language' community.

There we go.  So we agree about your self - conception. Its a positive statement not a normative one.

> This is where we seem to differ, a lot.
>
> A programming language for me is a tool to an end.
>
> Its serves me. I do not serve it - or its community.

Fair enough.  We each have different kinds of relationships with different entities in the world.  For some people they don't want a relationship with their bookstore. Others in different contexts may feel differently.  And it's the same with the other users and contributors to a language.  Perfect voluntarist society and each may choose as she wishes.  This being said, one cannot also avoid considering that different choices may bring different consequences.

> Its just a tool - that all it is.
>
> You don't build communities around a 'hammer' or a 'spanner'.

Because these are rather mature sorts of tools that don't benefit much from user engagement in their development and people who use hammers really don't have that much in common and don't have much to say to each other.

On the other hand there are certainly communities around open source machine tools.  These are fairly simple things compared to D.

> It's not unreasonable that I give feedback on how that tool can better serve me.

Indeed.  And as I say, we can choose how we wish to engage with different entities in the world but choices bring consequences.

And most likely your attitude will lead to polite engagement to the extent you say something insightful or interesting but to the extent you are just insisting the world adapt itself to what you personally want, the most likely ultimate consequence in time is that people politely ignore you.

In my experience the best way to get value is to give value. Feel free to ignore this view, but I really wonder why you think others would want to do things without making it interesting in some way for them to do so.


> We also seem to differ on what a 'contributor' is.
I use the word in the ordinary English sense.  Did you contribute to Phobos, dmd or code.dlang.org? I'm really curious.  If not, how is it that you believe you contribute?

> To me, the focus is always on the user, and their needs, not on the language and its needs. I think our views really differ here too.

I can see that you feel people should be more focused on what you want and what you believe maybe others want.  That's only human, but you know to persuade others you need ethos, pathos or logos. The only way you can achieve anything in open source is via persuasion.

People have quite different needs.  I'm a reasonable and growing commercial user of D.  I wouldn't dream of telling anyone here D needs to do this or that to satisfy its users because who am I to know for sure what other users might find valuable and because its a terribly ineffective way to persuade people. It's by far easier to start with what's concrete and explain what one is trying to do and how the absence of some feature is holding one back.

I personally see myself as being part of a language community even though I am involved in quite a tough and hard-nosed business.  Or I should say because.  At one level, I like to be involved, and at another I've found it profitable in life to do the things I like to do, because emotions, well-trained, are a guidance system.  And turns out its also commercially smart to do so although I never really planned for that.

Ethos, pathos and logos.  If people aren't as engaged with what you want as you wish, it's just possible that your chosen means don't suit your ends.

> I also believe the language designer(s) are ultimately responsible for the mistakes that programmers continually make (and yes, here I'm paraphrasing someone who is well known and well respected in the computer science field).

> I don't want a faulty hammer or spanner in my toolbox.

Wow, who would want to be a language designer. Did you try returning Visual Studio to Microsoft on the grounds it had bugs and somebody made some terrible decisions some years back with C++ and even decades later these most basic mistakes have never been fixed even though Microsoft sponsors talks about all the problems created by them.  Describing a programming language as faulty is not even wrong.

>> A very small number of minds working closely together can be creative and design something beautiful, or have a chance to do so.  A committee, notoriously, is a machine for suppressing creativity.
>
> The proof of your argument needs evidence.

No it doesn't because I'm not making an argument, just sharing some insights that you may do with as you will. One may lead a horse-puppet to water, but not make it drink.

> D has had 10 years (since D2) of 'creativity time', and much longer than that in reality.

Well yes going back decades to BCPL and before.  But I really don't see your point because I think your categories are wrong.  I don't think languages have creativity time.  But they develop at their own rate and the pace at which other quite different languages develop is an interesting piece of information but I really think one must make an explicit argument rather than be able to just assume that things should all develop at the same pace.  There is no reason whatsoever that should be true.

> Look at what the C++ committee has been able to accomplish in the same amount of time.

Haha.  That's very entertaining.  Where are modules? Ctfe and static if?  Deprecation of mistakes with a schedule for removing them?


>
> I don't object to creative endeavors. It's what makes life worthwhile.
>
> But after 18 years, is that what D (still) is?
>
> Or is it a serious tool that serious programmers should take seriously.

There are two kinds of people - those who think the world is characterised by black and white dichotomies, and everyone else, haha.  I think you would need to make an argument for why these two categories are opposed,but you have yet to do so.

Yes, contributing to D can be a creative endeavour, if that's what you want.  Yes, D is a tool that you can build a serious business on, if that's what you want, and some people did want that and have done so.  It's rather sad to see someone thinking that a serious business can't be creative - don't tell anyone, but it really can you know.

I'm presuming you have studied the commercial uses of D that are in the public domain and that you will come back with something intelligent otherwise we are both wasting each others time, since no serious conversation is possible with someone oblivious to reality.


November 22, 2018
On Thursday, 22 November 2018 at 02:56:14 UTC, Laeeth Isharc wrote:
> And most likely your attitude will lead to polite engagement to the extent you say something insightful or interesting but to the extent you are just insisting the world adapt itself to what you personally want, the most likely ultimate consequence in time is that people politely ignore you.

I just expressed an opinion. That's all I did.

You are turning this into an completely *absurd* discussion *about me*.

Lay off!