Because I'm trying to learn new things from other languages and address issues in Pascal that are more frustrating when I switch languages.
But is that simply because you switch languages, or because Pascal has a problem?
There seems to be an idea here that Wirth figured out everything there is to know about programming in 1980 and everything has been downhill since.
If that was the case, we wouldn't have the Delphi dialect. But yes, we are not constantly on the lookout for random new features to implement.
The FPC dialects are already humongous, and adding new features often leads to unforeseen bugs due to combination of features. For language experimentation, it is better to use a new language.
This is surprising because the primary driver of new features in FPC seems to be copying Delphi.
True but that was usually qualified as
... albeit at arm's length.
Which in this case fully applies :-)
I can understand why you'd want to preserve the legacy of something historical but FPC is already way off the deep end with OOP, interfaces, generics, nested functions, dynamic arrays and everything else that was added (most for Delphi compatibility as the primary driver it appears to me).
Yes and no. OOP was already part of TP, and Generics were copied from C++ before Delphi copied it from C#.
Delphi is/was a large driver, and I'm actually one of the proponents of a high degree of compatibility. But choices have to be made, and there are way more important things than whatever desperate syntax enhancements Embarcadero did to entice subscribes to subscribe another year.
The Delphi compatibility is primarily driven by the practical concerns to getting existing code bases and components to run, and a bit less to examine Delphi release manifests and start immediately implementing. So delphi compatibility is a matter of choices, and something as benign as x64 assembler syntax (introduced XE2) IMHO hurts much more than inline variables (introduced Delphi XE10.3 or so)
But as noted elsewhere in this thread, the sense of urgency that people try to convey is totally unrealistic. Even if
you start implementing it in a branch now, there is a big chance it won't be merged before the next major version is branched. (and that is the contents of trunk now, so FPC 3.4 or 4.0). With the current glacial release pace, that means 5-7 years at the very minimum. (that number is based on the historic cadence of major branches 5 years apart, and 1-2 years between branching a new major branch and its actual release).