[JPR]
Hi Guys,
Recently I've received a lot of mails, from USA, Germany, France, etc. asking
almost the same questions, so I've decided to do a global answer. Basically,
the question looks like "I'm very busy, and I just would like to know if it's
it worth it, to spend one day dedicated to this new version. You see, I'm on 4D
for a zillion years, and I don't really see what you can say that I do not know
yet, or that I can't learn by reading the documentation."
My answer to this question is "Yes!"
HTH,
My very best,
What do you say? I should develop the answer a little bit?
OK, but I will not detail the training content, for I'm not good at
advertising. Nevertheless, just some hints:
- We will talk about Objects, and don't think that what you know from the V16R5
is enough, there is much more.
- We will talk about Collections. Yes, I know, you use it, and you already know
everything about it. At least this is what you believe. Developer of little
faith, just wait until you will see Collections in the new version...
- We will talk about Records, and don't think that the fact you use Records
since the beginning will actually help you to go from 'Classic' to the New way.
- We will talk about Selections, specially to explain how you can get rid of
most of the limitations you had to bear for years.
- We will talk about Relations, which become much more important, and I will
tell you that what I told you in previous trainings is obsolete.
- We will explain the Language. OK, OK, you already use the dot notation, and
you think you have got everything, but frankly, read my lips, you didn't get
everything...
And much more, and the philosophy behind, and the very new way of thinking 4D,
and multiconnection, and Optimistic Locking, and Listboxes, etc.
For instance, let me give you a little example: Suppose you have Sales &
Production Management System, with a structure like: [Products] related to
[Groups] and [Countries], [Parts] related to [Products] recursively, simple but
practical example, I let you guess the complete structure.
You want to count every Products:
((whose [Groups]Description contains Internet) or (whose
[Products]Country_Code is JAP))
and whose number of Parts Records is > 0
This is the QUERY in 'Classic' mode:
QUERY([Groups];[Groups]Description="@Internet@")
RELATE MANY([Groups]ID)
CREATE SET([Products];"Set_1")
QUERY([Products];[Products]Country_Code="JAP")
CREATE SET([Products];"Set_2")
UNION("Set_1";"Set_2";"Set_1")
USE SET("Set_1")
FIRST RECORD([Products])
CREATE EMPTY SET([Products];"Set_1")
While (Not(End selection([Products])))
QUERY([Parts];[Parts]Product_ID=[Products]ID)
If (Records in selection([Parts])>0)
ADD TO SET([Products];"Set_1")
End if
NEXT RECORD([Products])
End while
USE SET("Set_1")
CLEAR SET("Set_1")
CLEAR SET("Set_2")
$n:=Records in selection([Products])
The same Query in the New way is ONE line, not even a long one. The only thing
I can tell you is: This line begins with $n:=...
I already told you it's the biggest improvement in 4D since Client-Server and
Multi Process, and, sure things, I mean it. As I already told some of you, if
you come, you may risk to lose a day and a few bucks, but if you don't come,
I'm ready to bet that you will lose a whole lot of days, meaning a bunch of
money! And I'm sure that it is true if you are an ol' timer in 4D as well as if
you are just coming from the OO World...
You know me for many years, and you know I always say only what I think, either
good or bad. And I think this version is just above the "Insanely Great" mark
in my own appreciation scale, and the only drawback is the extreme difficult
and painful way I have to endure when I need to go back to older versions...
Let's meet in Paris, Washington, Munich, or Tokyo.
My very best,
JPR
Dans la vie, rien n'est à craindre, tout est à comprendre. -Marie Curie-
(In life, nothing is to be feared, everything is to be understood.)
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ: http://lists.4d.com/faqnug.html
Archive: http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub: mailto:[email protected]
**********************************************************************