Well at least I feel like you read most of what I said but skipped over understanding it.
Well, I can only understand what you write.
The only reason I mentioned Delphi is because those features are _whatever_, as in, not desired nor dealbreaking. In fact ommitting the @ is bad. And if you look at Simone's comment,
I was back then (in the previous century) a proponent of @, it was all about FPC going its own way etc etc etc. I've since regretted that. Same reaason as generics or inline vars. If there are two ways to implement a feature, having them both is the worst choice, regardless of which one of the two is slightly better or not
since I assume you know how forums work I expected it wouldn't be necessary to once again state that copying Delphi should NOT be a goal
Well, it is since we kinda of a Delphi compatible compiler. The goal is to provide a production environment, not a playground for language experimentation. The inline var thing is a special case, quite far from the baseline Delphi functionality, and since the component builders we primarily target usually only slowly absorb features, there is time. See also the namespace bit below.
but to be its own thing. I can't even use Delphi, haven't used a Windows system in over a decade, I don't write proprietary software either nor run Windows in any VM.
Well, you are not the only FPC user.
The lovely switch combos like {$H+}{$J-} or whatever combo you want should not be needed.
Those combos are the mark of a grown up language. Only toy languages don't have legacy, even if it is the remnants of language experimentation like {$mode objfpc}.
Backwards compatibility is really the only way, unless something changes majorly and we get ginormously more developers. Otherwise your new ideal configuration will be outdated before it is actually implemented.
Implementing halfbaked namespacing is in a similar vein.
I do have my own doubts about that functionality too. Halfbaked is IMHO too much credit.
However it is a delphi compatibility item, though, like inline vars, a bit far further the baseline. Again some desperate attempt from Embarcadero's PR department to make it seem more "modern", without implementing the actual feature. Justt from a different (2007-2009) era, when .NET was all the rage.
But be that as it may, that is meanwhile engrained after 13 years. Maybe in 13 years, inline vars will be the same.
Designing a language top down and only judge on one single moment in time is easy. Implementing a language with 50 years of legacy is slightly different.
Metaprogramming is nowhere to be seen,
I never got the memo this should be part of a language. Usually it is only used to paper over language defects, or, more specialised in dedicated codegenerators
contract programming neither
So what is implementing an interface according to you?
and ifndef's just pile on more curly brackets to the point where the language in some has more curly brackets than begin/ends.
As said, a minor amount of that can't be avoided in a grown up language.
Well clearly you think Lazarus way of doing this is great user experience but it's not, the tooling _not_ to work with Lazarus at all is getting better though but that's not coming from anyone involved here.
Well, there are some people loving VSCode, but I always failed to see the attraction.
It's also not what I'm contributing to because as you and Thaddy put on display, changes aren't wanted.
Or maybe because it is easier to blame others than to take a long hard look at yourself?
And let's be honest, being a compiler backend website is no excuse when it comes to not updating the design, you also implement the language as there's no alternative. Even a GNU project like Guile manages to look not outdated which should tell you something
Not to mention the likes of OCaml or D (which also has its own back end plus GCC/LLVM, who do look outdated but they are not the main reference for Pascal beginners).
I don't make excuses. I just try to provide a explanation why even people with a somewhat serious attitude chose to work on the codebase rather than the website. Apropos, Guile has a newest news item from early 2023, not sparkly fresh either, and an year older than the newest news item on the FPC site.
With an eye to contributing to fixing this, neither of you nor Thaddy said "Well, if you can improve it for us please do" or "Show us a concept".
I at least do. But to do so, I do have to have some hope that such request will land in somewhat fertile grounds. I simply don't want to induce false hope where I tell people to come up with something that is far out of the projects course just to get rid of them, only for them to be rejected after a lot of work.
You tell me to edit on my own end instead. Potential Castle Engine users, whose average age is not 45 and didn't do button{1,2,3} style but come from Unity or potentially looking for an engine that suits their needs would be put off immediately by whats shown here.
I do think if you want to make very Castle Engine specific modifications as changing the dialect default, a fork is the way to go yes. If it is such a big deal for you, it might even be worth it.
I am not unwilling to contribute but the cathedral that's on display, let alone the people that control it simply don't think it couldn't be any better, I guess. I am not suggesting to revamp the whole site but this consistency in shutting people down rather than, I don't know, looking at any other programming language project that does want to improve _and_ is getting fresh blood in is foreign to some here.
As I said in my previous message "my way or the highway" is not a constructive attitude for a new contributor. A bit more flexible thinking about ways to reach goals might be in order. Stay away from contented subjects like language dialect.
So avoid staring down core members that have to weigh various uses of the project and try to force them to make some landslide decision.
If that means that you have to fork to get something Castle specific, fork and start something Castle specific. If it takes of, some merger at a later point can still be discussed.
We developers are also humans, and our view on the project is not constant and might change over time.
As it is now, both you and Thaddy
Thaddy is also not core, so does not speak to the project.
I myself, though a developer, also don't speak for the project in an absolute, definitive way. You can always ask a different developer for a 2nd opinion.
_BUT_ I only try to avoid raising false expectations, and I don't like it when threads about change are left hanging without any developer answer, met by universal silence. Yes, I do realise that being the messenger of bad news doesn't always make me popular, but at least give me some credit for it.
Luckily it is not needed as much as it used to be since Pascaldragon (who has implemented the bulk of dialect changes in the last half decade or more) also weighs in on dialectal matters. Feel free to bug him, if my answer is not satisfactory. I'm sure he'll thank me for that.
