Well, if it gives mixed signals, it might be because I have mixed feelings. My approach is the following:
- Advanced records are really a rarely used feature in the Free Pascal world. I do not have statistics, but it would be interesting to see how many one can find vs. e.g. class.
- Experts clearly stated above in the discussion, that it is there in FPC for full Delphi compatibility and also the reason is given why Embarcadero created it at the first place.
- If there is a tool and that is the best for a given purpose, we should not be shy to use it. This is why I detailed it.
- However there are not too many real usecases where advanced records have a real benefit. To me the only one is the variable record with methods, although I have never come across such a case in real life.
- As it is clear from my document, all these structures behave slightly differently in different cases, and for the hobbyists and alike, that would be an extra reason not to use advanced records. Somebody who is not using these features every day, it is much easier to remember only one-two structures. My recommendation after studying them for some time, if somebody starts programming and does not have a very strong argument to use something else, stick to only two structures, record for very simple cases and class for everything else where OO features are needed.
Last my trump card: I like if my programs are clean and simple and are based on the standard of the tool I use. So, I try to stick to mode objfpc and advanced records are simply not there (except if its modeswitch is used).
Nonetheless, if you have a suggestion how to change some of the sentences, I am happy to modify.