Forcedly by ref against ABI rules should be not very common
Like
in,
inout and
out are not very common things to need. You'd like
var to be specified with a pragma too instead of a keyword ?
Then you are doing something wrong.
programming... that's what's wrong. The compiler emitting a torrent of useless messages, that is obviously absolutely right. Nothing wrong at all with that.
So all this glorifying of C/C++ was based on not even standard features? Typical.
What's typical is your going besides the point. I don't care if it's standard or not, I care that it is useful. I'd say that some of my posts in this thread show rather clearly that I don't glorify C nor C++ but, I do find some of their features very useful and, I am not the only one who finds them useful.
I know, why would anyone add features that have proved to be useful in other languages into Pascal ?... obviously, that doesn't make any sense.
So is reading about the history of the author, but I'm not pulling that in language either.
You're an artist when it comes to go besides the point. The author's history, unlike specifications like "in", "inout", etc, doesn't give any usable information to the compiler (I really thought that didn't need to be clarified.)
To my best knowledge they are mainly meant for interfacing with higher level (COM, .NET, WinRT etc) components and codegenerators. Breathing users could look in the docs.
Start breathing!! you'll find they might be useful in Pascal too (not to mention that breathing will prove extremely useful to you.... now I understand where your position comes from...lack of oxygen... that will do it.)
Yeah, you keep mentioning that, but don't know if the example that you name is actually standarized.
I don't care if it's standardized or not. Strange for someone who follows a language definition which has not been standardized, that is Delphi, to implicitly require it.
However, I do care that the C and C++ standards evolve. They don't stay stagnant. I also care that it is that way because their users are not obstinately reluctant to add useful features to the language and worse, stick their heads in the sand in the face of obvious problems (yes, useless compiler messages, again.)
I slowly can't shake the feeling that you are just using C++ put on an artificial (and false) gold platform to stick it to FPC.
I don't see where you get that idea. I have no love for C and C++'s design, far from it. In spite of that, I have to give them credit for what they have that is genuinely useful and, I openly admit that I'd like to see those useful features present in the Pascal language implemented the Pascal way, not the C/C++ way.
At the same time you take random FPC "problems", and without fully understanding and diving into them, blame not having the magical extensions for that.
Apparently, for you it isn't a problem to get a mound of useless messages that get in the way. Believe it or not, it is a problem for other programmers.
There is nothing "magic" about
in,
inout, etc. What seems to require "magic" is activating a smidgen of common sense in some of the FPC developers so they can notice and acknowledge an
obvious problem. Of course, getting them to acknowledge that the problem comes from a mistake they made, that may likely require something much beyond magic. Obviously, logic need not apply.
That is because the "problem" is subjective. You can simply turn off the warnings if they are useless.
Yes, very subjective. No doubt the reason the compiler is outputting those useless messages is because of the way I feel. I hadn't thought about that. Definitely subjective. (is there a $SIGMUNDFREUD compiler directive that defaults to ON that I don't know about ?... that one really needs to be turned off.)
They are for compilation and execution, not hypothetical warning avoidance in headers that won't use them anyway.
The useless messages are not hypothetical, they are very real and, the reason the headers don't use them (e.g,
out) is, among other reasons, because someone claimed it was too much work. Otherwise they would.