@marcov
Revisiting this almost a year and a half later...
I am in total agreement with you. Replacing 'End;' with 'End Procedure;', 'End Function;', etc. should not be mandatory. I was just pondering something more along the lines of a feature where one could create a list of aliases for keywords similar to pointer aliases in C, and type aliases in Kotlin. When the program is compiled, each alias would be replaced with the real keyword it represents.
Now... having said this, I don't think, at all, that this should be a feature built into Lazarus/FreePascal. Instead, I prefer it be some sort of add-on or package that would be loaded only when those more comfortable with VB syntax choose to load it. That way, Lazarus/Pascal purists don't have to deal with it if they don't want to. Basically, it would be an add-on that when the coder runs the 'compile' command' it would convert only the most basic of VB-like syntax into its proper Pascal syntax in temp files before the compiler actually executes and compiles those temp files.
Example:
If the coder typed "End Procedure;", "End Function;", "End Try;", etc., each instance would be replaced simply with "End;" right before being compiled. Yes, the coder would still need to terminate the keyword aliases with a semi colon where one is required.
I certainly don't want to change the Pascal language into the VB language. I just want to make it a little bit more familiar and comfortable for VB users by aliasing a few basic keywords while we lure them over and they learn Pascal.
A major con to this, and it is a major one, is that such an undertaking require a small team of experienced volunteer coders to create such an add-on, and doing so without bothering either the Lazarus or FPC development teams. It would also be very tricky to make the converter work correctly and I myself do not have anywhere near the experience to take on that kind of project. So, I know this won't ever be a reality. But like I said before... t'was a nice pipe dream. LOL
To the folks who get upset at such a prospect and say "This isn't VB, it's Pascal."... is the purpose of either Lazarus or this forum to prove how much of a fanboy you are by viciously defending your chosen language, or is it about providing users with an open, powerful, productive development environment?
Someone mentioned that if I am more comfortable with the VB syntax then I should stay with VB. In addition to my losing faith in Microsoft's business and software sunset decisions, I have other reasons for wanting to drop VB/.NET.
1. VB/C#/.NET is compiled to CIL and runs on a virtual machine. It just can't deliver the performance I like getting when I use C/C++ - Pascal can.
2. Though VB is moving to cross platform, only console apps will be cross-platform, even in the upcoming .NET Core 3.0. GUI apps using WinForms and WPF will remain Windows only. Any Xamarin support for VB to allow for cross-platform GUI apps will be implemented only by opensource volunteers and won't be supported (officially, anyway) or promoted by Microsoft.
3. VB/C#/.NET applications are bloated and app portability is difficult without compiling to native code which can currently only be done with apps created on the Universal Windows Platform.
So, this is a chance for Lazarus to steal away the multitudes of folks like myself who are looking to jump the Microsoft and Windows ship.