@jex
The more I delve into Object Pascal the more I am finding it is not for me and will probably set it to the side, shortly. I like OP's verbosity, but there are many shortcomings in the language which make it inefficient as a commercial-level production language. Given the resistance by purists against evolving, OP will remain little more than a niche/hobby language.
Now... my personal finding of OP to be inefficient does not mean it is a bad language. Not at all. In fact, it is apparently a great language which many, many others find to be useful and efficient for their particular needs. My point is simply that while OP/Lazarus is perfect in fitting the needs of some, it does not meet the needs of some others. For example... my preferred languages are C and assembly. However, because I am about to retire I will no longer be doing secured embedded systems. I will only be dabbling with small apps as a hobby. So, neither assembly nor C will any longer meet my needs, as I will be interested only in rapid development. While I think VB.NET may be the closest thing to a "perfect" language, it also will not meet my needs because I want something that compiles to native code. Thus, the reason for my tinkering with Object Pascal/Lazarus to see if it does meet my particular needs.
A programming language and development system are nothing more than tools. That is it. No programming language is a holy relic which deserves to be worshipped. Additionally, no language is any better or any worse than any other - merely different. Though no language is any better or any worse than another as a whole, it must be stated that
any language can certainly be better (or worse) suited for a particular situation or requirement than are others. Anyone who believes or asserts otherwise is seriously misinformed in that they do not truly understand the internals of a programming language, and likely do not understand the internals of computers as well. If a given tool does not meet your needs, always feel free to choose a different tool which does meet your needs, and do not let the sarcastic comments of others pressure you in your decision making.
Only you can decide what tool is good for you and what tool is not good for you. Also, you will find many people in forums such as this who act like children and make sarcastic (if not outright rude) remarks when they feel your coding style doesn't meet their own preferences. Such people are trolls who live in a bubble and cannot see the world outside of their own limited experience. Just like the tool(s) you decide fit your needs,
you alone must also determine what coding style fits your own needs best, and not what some basement dweller attempts to dictate to you.
There is a new implementation of BASIC coming out around mid-summer which may be of interest to you.
https://www.elementscompiler.com/elements/mercury/default.aspxPurely as an offer of alternative information... Mercury is being produced by a well established company to pick up where Microsoft has chosen to leave of with Visual Basic. And, whereas Visual Basic is Windows dependent (mostly) and must run via a virtual machine (.NET/Core platform), Mercury will instead allow you to specify your app to utilize the .NET and Mono platforms, or to compile to native code. Possibly the biggest feature... its evolution will not be stalled by small-minded language purists.
Like VB.NET, Mercury will also utilize many C constructs, true namespace elements, and will be more user-intuitive. The goal of Mercury will be to make developers more efficient and less concerned about feeling like they are part of some special club like many developers in other languages.
Understand that I am not promoting Mercury, but merely offering alternative information.