A little more about this...Roberto Lopez wrote: If the thinking about HMG.4, is that xBase preprocessor directives are 'old' and an impediment for enhance the library, prevails, it will become only 'another OOP GUI library for Harbour', most of which have failed because they are difficult to use for most of xBase users.
- The 80's were ruled by xBase (dBase, Fox and Clipper).
- The 90's were ruled by Visual Basic.
- The 00's are being ruled by PHP and JavaScript (I know... many people will not agree with that )
These preferences, clearly shows that most application programmers wants to write fast and easy code and have not a clear preference about the use of 'plain OOP'.
- 80's dBase, Fox and Clipper has not OOP.
- Visual Basic was a worldwide standard from version 3.0 (it got OOP from version 4).
- PHP become a worldwide standard prior to have OOP which was recently added.
My point is that most application programmers does not care so much about OOP.
As I've said, they are looking for simplicity.
Please, note that I'm talking about 'application' developers. I agree on that more complex targets are better handled by 'pure' OOP.
But the 'light' OOP approach popularized by Visual Basic that provided inspiration to HMG, is better suited for standard business applications (the xBase/HMG targets).
This is the reason because (IMHO) the HMG alternate syntax (preprocessor based) and the form designer are the main keys for HMG.4 success.
Another very important thing that makes more intuitive and easy the GUI development in HMG, is the automatic public nature of window objects. Making the user responsible for the creation and scope of variables to handle that, is counter-intuitive, difficult and contrary to the HMG fundamentals.
I hope that this feature be kept in HMG.4 when preprocessor directives be used to create the windows.