HMG.4 Project Status

Moderator: Rathinagiri

User avatar
Roberto Lopez
HMG Founder
Posts: 3944
Joined: Wed Jul 30, 2008 6:43 pm
Has thanked: 19 times
Been thanked: 143 times

Re: HMG.4 Project Status

Post by Roberto Lopez » Wed Nov 16, 2011 3:44 pm

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.
A little more about this...

- 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.
Regards/Saludos,

Roberto


(Veritas Filia Temporis)

User avatar
esgici
Posts: 4502
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Has thanked: 372 times
Been thanked: 111 times
Contact:

Post by esgici » Wed Nov 16, 2011 7:35 pm

Hi all

I follow up and respect valuable efforts of our friends for improvement of HMG.

I haven't any negative intention such as irritate or annoying anyone; especially I'm always afraid breaking enthusiasms.

But as an old fashioned Data Processing worker ( lived and seen ante 80's, programmed at 70's ) and as a old friend ( I hope ;) ), I want state my humble opinions.

First we must agree on a reality : system programming and application programming are totally different areas. Authors of dBase, Clipper and HMG are system programmers, because their products ( interpreter, compiler or library ) are systems; because people uses these products for building their own applications. System programmers uses ( and most probably they must use ) some low-level tools such as OOP and C, C++ or another else.

In other hand, application programmers ( like me and most of HMG users, most of members of this forum ), ( although they uses products ) don't like low-level approach and solutions. Because low-level works are always inconvenient for them; difficult to learn, difficult to build (write), difficult to control and especially always risky. Their only need is always simplicity and easiness; easy to learn, easy to use and easy to improve her/him programming skills.

And my dear friends please believe me, the real factor behind of success of at most beginning dBase and in continuation whole xBase family, is exactly this spirit : being powerful, simple and intuitive.

All us we know, this is also spirit of HMG; lets remember:

Harbour MiniGUI is aimed to be “natural”. The basic idea lying under it, is to let the programmer to express its ideas in a straight way, using a simple code, easy to write and easy to maintain, making its work more productive. It’s main direction is same as original xBase spirit : being powerful, simple and intuitive.

So, we are accustomed comfort of xBase style programming; it's impossible ( at least very difficult ) to change our style to low-level concepts. I know, someone will say "C++ and especially OOP doesn't low-level ways"; yes this is true, but only for you, not for everybody.

The target product will be very strong, very robust, very elegant, etc by adding C++ and OOP; but if grown away from that spirit, it will be another thing than HMG.

Regards

--

Esgici
Viva INTERNATIONAL HMG :D

mrduck
Posts: 497
Joined: Fri Sep 10, 2010 5:22 pm

Post by mrduck » Wed Nov 16, 2011 11:30 pm

@escigi,
a question. Have you ever studied a bit about OOP ?

If the programming moved from procedural to OOP languages, with new languages or adding OOP to old ones (like in PHP, or even ADA), if Harbour "core" programmers decided to make the OOp system public (was not public in clipper) there should be a reason. :-)


@everybody
every programmer will use the tools he wants and feel confortable with.

NOBODY, I repeat, NOBODY ever proposed to remove dBase style syntax from HMG4.
NOBODY ever asked "application programmers" to use c++
PLEASE, let "system programmers" use the tools and the language they need to build a good, working, reliable, hmg4 library ! ;-)

I have seen recently in this forum people posting c code to be used as-is, by "application programmers"... the author used the right tool/language, in that case c, to extend hmg.3.... nobody said "ehi, that's c, we don't know c, we can't use it" but instead everybody said "good!", "thanks!"... you have the idea...


I hope to have made my idea more clear

Francesco

User avatar
Roberto Lopez
HMG Founder
Posts: 3944
Joined: Wed Jul 30, 2008 6:43 pm
Has thanked: 19 times
Been thanked: 143 times

Post by Roberto Lopez » Wed Nov 16, 2011 11:48 pm

esgici wrote:Hi all

I follow up and respect valuable efforts of our friends for improvement of HMG.

I haven't any negative intention such as irritate or annoying anyone; especially I'm always afraid breaking enthusiasms.

But as an old fashioned Data Processing worker ( lived and seen ante 80's, programmed at 70's ) and as a old friend ( I hope ;) ), I want state my humble opinions.
<...>
I agree with you (mostly:))

The problem that I'm confronting since almost 10 years of work on MiniGUI/HMG is the same that you address.

System programmers thinking (responsible for the development of compilers and programming tools) and application programmers thinking (like me).

I've started with HMG because existent Harbour GUIs at that time were VERY DIFFICULT TO LEARN and VERY DIFFICULT TO USE.

The reason for that, is that their authors, were mostly system programmers that carried their thinking to the library functions commands and classes available to programmers.

So, in some cases, you needed to know about operating system internals and/or use LOTS of code to write a simple app.

Was such knowledge/effort needed to program Clipper, Visual Basic or FoxPro?

Of course not!

So, why some programmers around Harbour created such hard to use tools?

It is a mystery to me until now...

I can only guess...

Perhaps, since Clipper (from v. 5.0) included some low/mid level elements, like C interface, code blocks, etc., it attracted developers interested in low-level/efficiency more than easiness and power...

Anyway... the history has some to tell us about that...

CA Clipper successor was CA Visual Objects.

CA Visual Objects was (IMHO) a very obscure and difficult OOP tool that was rejected by Clipper programmers in its transition to Windows.

When Clipper programmers needed to migrate to Windows, their choice was (mostly) Visual Basic (yet a minor part selected Delphi, Visual FoxPro among other tools).

Even when this 'lesson' was 'very' public, even today (15 years later) many people still thinking that obscure and difficult 'efficiency only oriented' development tools has a chance to succeed in the application programmers world...

Well... IMHO, they are wrong... :)

I'm re-posting some words of Yukihiro Matsumoto (Ruby language creator) about this:
Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run faster. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.
Like Esgici, I don't want to hurt anybody or start a flame with this post.
Regards/Saludos,

Roberto


(Veritas Filia Temporis)

User avatar
esgici
Posts: 4502
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Has thanked: 372 times
Been thanked: 111 times
Contact:

Post by esgici » Thu Nov 17, 2011 12:39 am

Hi Francesco

First please a bit calm down !

With your words : nobody accused nobody with anything here.
mrduck wrote:@escigi, a question. Have you ever studied a bit about OOP ?
Answer of your question is yes. But this question is out of subject; whatever importance can have my experience ? Our subject is expectations, not experiences.
If the programming moved from procedural to OOP languages, with new languages or adding OOP to old ones (like in PHP, or even ADA), if Harbour "core" programmers decided to make the OOp system public (was not public in clipper) there should be a reason. :-)
OOP system is a opportunity in Harbour, not a obligation, someones like and use, someones not interested. Problem will occur if someone made it mandatory.
@everybody
every programmer will use the tools he wants and feel confortable with.
Of course; how will be the opposite ?
NOBODY, I repeat, NOBODY ever proposed to remove dBase style syntax from HMG4.
NOBODY ever asked "application programmers" to use c++
And nobody said such things.
PLEASE, let "system programmers" use the tools and the language they need to build a good, working, reliable, hmg4 library ! ;-)
How anybody protest or prevent ?
I have seen recently in this forum people posting c code to be used as-is, by "application programmers"... the author used the right tool/language, in that case c, to extend hmg.3.... nobody said "ehi, that's c, we don't know c, we can't use it" but instead everybody said "good!", "thanks!"... you have the idea...
This is normal situation. Me too I said
( although they uses products )
.
I hope to have made my idea more clear
I hope that I know and understand you and your idea from beginning. Only since my English is worst, I can't been sufficiently clear.

Though I repeat numbers of times that I respect your works and I don't want offend anybody with any way, you continue understand me as a foe.

Beside all, writing such way ( with capital letters and repeating some words such as "nobody" ) isn't friendly.

Nonetheless I like and respect everybody who participate HMG, including you.

Regards

--

Esgici
Last edited by esgici on Thu Nov 17, 2011 1:05 am, edited 1 time in total.
Viva INTERNATIONAL HMG :D

User avatar
Roberto Lopez
HMG Founder
Posts: 3944
Joined: Wed Jul 30, 2008 6:43 pm
Has thanked: 19 times
Been thanked: 143 times

Post by Roberto Lopez » Thu Nov 17, 2011 12:56 am

mrduck wrote: @everybody
every programmer will use the tools he wants and feel confortable with.
<...>
Francesco,

My comments on this thread, were mostly referred to HMG/Harbour GUI libraries history and not specifically related to current HMG.4 code status.

As I've said in my previous message (posted before reading your last one) was not my intention to start a flame or hurt anybody. I've was only expressing my ideas about preprocessor directives relevance on HMG, after a Ricci comment about that. Nothing more.

I like ideas discussion.

It is fun and makes things better.

Nobody should misunderstood its purpose.
Regards/Saludos,

Roberto


(Veritas Filia Temporis)

User avatar
Roberto Lopez
HMG Founder
Posts: 3944
Joined: Wed Jul 30, 2008 6:43 pm
Has thanked: 19 times
Been thanked: 143 times

Post by Roberto Lopez » Thu Nov 17, 2011 1:20 am

esgici wrote: So, we are accustomed comfort of xBase style programming; it's impossible ( at least very difficult ) to change our style to low-level concepts. I know, someone will say "C++ and especially OOP doesn't low-level ways"; yes this is true, but only for you, not for everybody.

The target product will be very strong, very robust, very elegant, etc by adding C++ and OOP; but if grown away from that spirit, it will be another thing than HMG.
I disagree with you on that.

Using OOP (or C++) on the library core, does not necessarily mean more complexity for the final users.

It's all about an adequate abstraction layer.

My idea when I created HMG.4 was exactly that.

It should have an internal OOP design, but it could be compatible with the HMG3 semi-OOP style.

It is possible because an adequate abstraction layer.

While such layer be there, you must not care about what is inside, nor get afraid when someone talks about C++.

A cheap metaphor to end this, could be: 'You don't need to know about engines to drive a car' :)
Regards/Saludos,

Roberto


(Veritas Filia Temporis)

User avatar
esgici
Posts: 4502
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Has thanked: 372 times
Been thanked: 111 times
Contact:

Post by esgici » Thu Nov 17, 2011 1:31 am

Roberto Lopez wrote: ... to end this, ...
Yes Maestro, we have to end this.

Best regards

--

Esgici
Viva INTERNATIONAL HMG :D

Ricci
Posts: 255
Joined: Thu Nov 19, 2009 2:23 pm

Post by Ricci » Thu Nov 17, 2011 7:16 am

Roberto Lopez wrote:So, why some programmers around Harbour created such hard to use tools?
Looks like the discussion goes in the wrong direction. About HMG4 please don´t think "either or" but "both".
HMG4 allow the developers to use the easy way of writing programs like in HMG3 and use OOP and c++ if he like to or need it.

Please don´t forget that since Clipper the times has changed. Clipper knows nothing about GUI, multitasking, internet, multimedia, touchscreens, smartphones, tablets ...

HMG3 was a major step to get from DOS-Clipper to Windows without getting crazy (by using CA Visual Objects or Alaska XBase++). :)
HMG4 will be the extension to get platform independent and to open the language for your own ideas and wishes.

Ricci

User avatar
l3whmg
Posts: 694
Joined: Mon Feb 23, 2009 8:46 pm
Location: Italy
Contact:

Post by l3whmg » Thu Nov 17, 2011 8:54 am

Hello all.
Forgive my ignorance, but I have the impression that competition is taking place.

Is known that the use of OOP may extend the implementation of programs and is also known that the XBase language is simple, intuitive and powerful. I prefer XBase language then other (the first one is VB).

I think we should distinguish: development of a library by developing an application.

The development of HMG4 shows that we can make objects usable by programs writes with XBase or with OOP style.


With difficults? Yes. About my self I don't know Qt (I'm learning)

We can't translate any commands from HMG3 to HMG4 (it uses a QT / HbQt layer, remember this please)? Yes or perhaps.
Many time ago I asked: can be possibile to rewrite Hmg3 with OOP? Then we can change the layer.....

We have an alternative to QT (freeware, powerfull, cross-platform)? I don't know. I only see that a lot of programs (and many are installed on our PC) use this library.

Is it necessary to write pieces of code in C++? I don't know (and I'm not to able to do) but remember that HMG3 uses this language.

Why, instead of criticizing or to compete, do not try to cooperate, perhaps by writing code that everyone can see, understand and evaluate? This is a forum: everyone give his idea (wrong / bad) and everyone suggest alternatives, solutions, etc. I think Francesco writes about C++ to improve the core code of HMG4: not to change the final use. This is what I understand.

And this is about volunteers like me: when Roberto has published the last HMG3 update, a lot of people write "thanks". Right, Honest and Due.
I don't want "thanks", I want help to improve HMG4 for everyone: not only for me.

Cheers
Luigi from Italy
www.L3W.it

Post Reply