C++ Logo


Advanced search

Re: [std-proposals] Forwarding refs for class template arg deduction

From: Tiago Freire <tmiguelf_at_[hidden]>
Date: Tue, 26 Mar 2024 15:28:50 +0000
Sorry for the lengthy reply.

I think nobody here is paid to do this. People are giving up their own free time, which could have been used to do something else, and they spend it here to try and create a positive contribution to something they love.

You are asking people to take time out of their own schedule to look into your work, because you think you have something valuable to contribute.
The bare minimum it would be asked is that you yourself had put as much work (and then more) as the effort required to understand what you are doing. If I’m spending more time than you did, it’s a bad sign.
Just blurting out the first idea that pops into your head without thinking is not good enough. Yes, I do expect that you have spent at least X amount of hours thinking about the problem, before asking someone to look at it. If you can not be bothered to invest your own time, why should you expect me to invest mine?
And in the email itself you even admit to “having this idea while working on” something else completely unrelated.

Most people who make suggestions are about problems that they themselves have worked on directly.
It maybe that their problem isn’t generic enough, or is based in a wrong idea, and it never actually end up anywhere, and that is fine most ideas aren’t good. But at least they have put it the work, they are not going out of their own way to find problems in things they have never worked on or know nothing about.

I don’t know how to play the piano. And I wouldn’t consider myself an expert on the matter to be able to suggest that “there aren’t enough discordant tonnes between the black and white keys” and that we should “add additional orange keys between the whites and blacks that play in a reverse progression with the addition of a kick drum” on all pianos.

And there was something about the last email that snapped it for me.
Right or wrong there must have been some reasoning behind it, right? It may be based on a misconception, but what exactly was that misconception? Where did it go wrong to make this sound reasonable?
And for some reason I just can’t find one in this case.
It certainly wasn’t coming from the perspective of someone who has done implementation work before and has deep knowledge on how these systems work behind the curtains and realising that there was a better way to do things. It also wasn’t coming from the perspective of someone who had tried to work in an unconventional way that led to this scenario (and just happened to be confused about the problem that they were solving).
The misconceptions could have only come from someone who have never used these facilities before and has absolutely no idea, what they are, or why they exist, much less how they work.
You just had an idea in the middle of something, and just went out searching for something to horseshoe it without actually understanding it what they are, why you would want to do this, or in this particular case if it even made any sense.

It wasn’t about just an issue with “the ^template^ syntax” or being “unaware of deduction guides”, while reading the sentence I felt like I had suddenly been transported to an alien parallel reality, it was completely and utterly dethatched from any familiar reality of what I known about using these things, the words were familiar but it might just as well had been written in gibberish and it would have conveyed the same amount of meaning to me. I questioned my sanity and wondered if this is all a parody.

And this has been happening for months, with a rather predictable recurrent pattern, this objection isn’t new to you, other people have done it before, it always ends up for people asking for a basic use case for this and you never providing one.
The analogy here isn’t just about being “a little bit of course and asking for guidance to steer the boat”, it looks more like a case of “there’s nobody at the helm”.
1 time is excusable, 10 times is a problem, and there’s a point for everyone where enough is enough.
If you don’t put in your time, and as a consequence, things come out half-baked and broken, I will feel that I’m only wasting my time entertaining your ideas, and it won’t be long until I create my spam filter that sends all your emails straight into my trash box.

You make more “suggestions” here than most (perhaps combined), this is not because other people don’t have ideas, but rather because it takes time to work on a problem and have it mature, they make sure they understood it first before trying to explain it to someone else. Often, they end-up realising they made a mistake, or find out that there’s a better way of doing things that doesn’t require a change, and you never hear from them. That’s why other people don’t post so frequently.

It is not necessarily malice. But what I would like to suggest is that you need to put on the breaks. Don’t just “float ideas”, put in actual time to use that idea to try and solve a real problem, actually try to use the thing, try to find out alternative ways of doing it. And I don’t mean just write a sample code to test it out, solve something concrete.
Yes, put in enough time of playing around with the concept before sharing (or as you would say “at least X hours of research and development”).

From: Std-Proposals <std-proposals-bounces_at_[hidden]> On Behalf Of Frederick Virchanza Gotham via Std-Proposals
Sent: Tuesday, March 26, 2024 1:04 PM
To: std-proposals_at_[hidden]socpp.org
Cc: Frederick Virchanza Gotham <cauldwell.thomas_at_[hidden]>
Subject: Re: [std-proposals] Forwarding refs for class template arg deduction

On Monday, March 25, 2024, Jonathan Wakely wrote:

At some point we do have to accept that this poster is just spamming the list with half baked nonsense.

This mailing list isn't exclusively for finalised papers.

Every idea starts out as a 'half-baked idea', although there are other terms for such embryonic thinkings.

Sometimes an idea should be kept secret until it has been researched and developed. And sometimes an idea should be shared right at the very beginning.

Not trying to get all biblical on you here but let's consider the rudder of a ship. If the rudder is off by a few degrees at the very beginning of the journey, then the error over a long distance can result in significant deviation. Ideas can be like this too. Some ideas should be shared at the 'half-baked idea' stage, so they can be floated for people to pass remark -- and that's what I intended here with having a new syntax for '^template^'. It seems my only oversight on this occasion was that I hadn't seen an explicit deduction guide before.

Some ideas should be floated here on the mailing list in their pre-baking phase to get people's thoughts and opinions. Maybe you want a separate mailing list just for finalised papers though, or for ideas with at least X hours of research and development.

Not every idea should be shared prematurely though. I'm currently writing a paper to add self-modifying code to the C++ standard. I don't want to curtail my own creativity and so I've purposely not shared my idea with anyone, nor have I researched any pre-existing library that does self-modifying code nor 'just in time compilation'. I don't know if my idea is original, or if it's been done independently 7 times in the past 10 years, but I want to polish it off all by myself before asking for opinions or comparing my own technique to how other people did it.

I can't find the original mission statement for this mailing list, but it was posted here a while back, and I believe it contained the term 'float an idea'.

Received on 2024-03-26 15:28:53