You are on page 1of 16

The genesis of

Breogán Gonda | Nicolás Jodal


About the authors

Breogán Gonda
President of Artech
Systems Engineer graduated in the School of Engineering
of the Universidad de la República (UdelaR).
He has been a Professor in the School of Engineering of
the Universidad de la República (UdelaR), in the Pontifícia
Universidade Católica de Porto Alegre (Brazil) and in the
Universidad Católica del Uruguay. Within his line of stud-
ies, Mr. Gonda has delivered courses and seminars as Vis-
iting Professor for post-graduates at universities of several
Latin American countries.
From 1976 to 1989 he has provided consulting services
in Database and application development projects to sev-
eral of the largest Brazilian and Uruguayan companies.
Mr. Gonda has delivered numerous courses within his
specialty field of study in Brazil from 1976 to 1989.
He is the co-author of the GeneXus project. Together
with Nicolás Jodal, his partner in the GeneXus project,
Mr. Gonda was honored by the National Academy of En-
gineering (Uruguay) with the National Engineering Award
1995 because of their work in this project. He has been
acknowledged by the Uruguayan Association of Engineers
as “Outstanding Engineer of the year 1996”. In July 1999,
Mr. Gonda was appointed a Member of the National Engi-
neering Academy (Uruguay).
His areas of research include: databases, artificial intelli-
gence, automatic application development methodology
and interaction between the business and information
technology worlds.
He is Founding Partner and Director of Artech and Gen-
eXus Consulting in Uruguay and GeneXus, Inc. in USA,
Artech de México, Artech do Brasil and GeneXus Japan
Inc. in their respective countries.

Nicolás Jodal
Vice-president of Artech
Mr. Jodal is a Systems Engineer graduated in the School of
Engineering of the Universidad de la República (UdelaR).
He has been a Professor at the Universidad Católica del
Uruguay. He delivered numerous courses within his spe-
cialty field of study in Brazil from 1984 to 1989.
From 1984 to 1986 he provided consulting services in da-
tabase and application development projects to several of
the largest Brazilian and Uruguayan companies.
He is the co-author of the GeneXus project. Together with
Mr. Breogán Gonda, Mr. Jodal was distinguished by the
National Academy of Engineering (Uruguay) with the Na-
tional Engineering Award 1995, because of the GeneXus
project.
His areas of research include: databases, artificial intelli-
gence, automatic application development methodology
and interaction between the business and information
technology worlds.
Mr. Jodal is Founding Partner and Director of Artech and
GeneXus Consulting in Uruguay and GeneXus, Inc. in USA,
Artech de México, Artech do Brasil and GeneXus Japan
Inc. in their respective countries.

Copyright © 2010 Breogán Gonda and Juan Nicolás Jodal.


All rights reserved. September 2010.
This material may not be reproduced in whole or in part
without the express consent of the authors.
The genesis ofGeneXus
La génesis de GeneXus
by Breogán Gonda and Juan Nicolás Jodal *

*We have repeatedly used the word US in this


text. In certain cases this term refers to expe-
riences or achievements of either author, or
both. However, the expression mostly applies
to experiences or achievements of our team.
The work of that team and the generous de-
votion of its sometimes anonymous members
constitute the greatest part of the engine that
boosts GeneXus ahead.
1.
We are quite alone indeed
when it comes to
formulating those questions
Introduction that lead to innovation!

(rigorously formulated), we have available a


We have been requested, on numerous oc- huge array of tools to help us find the answer.
casions – both from within and from outside
the GeneXus Community –, to write the story However, we are quite alone indeed when it
of GeneXus, its origins and how we came up comes to formulating those questions that
with it. lead to innovation!

In our opinion, telling “how we came up with GeneXus is the product of a team and a Com-
GeneXus” would not prove to be an interest- munity, both of which have always been clear
ing story, beyond the fact of the strong deter- on the constant need for innovation, and have
mination implied in the process, combined successfully identified the matters of signif-
with endless faith, a number of small activities icance for achieving it.
and some larger ones, several small discover-
ies and some larger ones, all of which resulted This is why we believe that re-creating cer-
from our steady research where hundreds of tain events and questions encountered while
man/years were consumed. working on GeneXus, which have proven es-
sential in building it, will be the best way to tell
But more important than that is to mention GeneXus’ story.
that GeneXus is, in fact, the product of a great

2.
team of people with a high degree of scientific
and technological qualifications, devotedly
and faithfully working together in a gener-
ous and enthusiastic manner, always enjoying
what they do, even when having to face the
difficulties implied in it.
What did we work
Moreover, we must also mention that GeneX-
us as we know it today, and most of all tomor-
in before GeneXus?
row’s GeneXus, would not be a reality with-
out the increasing interaction of the GeneXus A number of fields, but the ones that relate to
Community, with its over 70,000 developers this are a significant activity in consulting and
worldwide, who build their professional activ- teaching others about databases.
ity based on GeneXus.
Our consulting activity was apparently satis-
factory to clients, though not to ourselves.
We understand that questions Most frequently, we were called upon not at
are far more important the time of defining a project but when prob-
lems came up (loss of database integrity, too
than answers lengthy response times, and so on).

As a matter of fact, we understand that ques- All clients would implement several data-
tions are far more important than answers. In bases, each one for treating a specific type of
today’s world, when questions are duly posed problem. Corporate databases did not exist.

3 The genesis of GeneXus


When measured in their millions of records, ably significant, always have available a great
those databases were considerably large, but degree of data support, while I, as well as other
they were quite small when considered from personnel in the higher management level, can
the viewpoint of information completeness, never rely on the proper information to make
and specifically in relation to their usefulness our decisions, and our decisions are those that
for providing support to the company for de- could make the difference between the com-
cision-making. pany’s success or its failure;”

Each client’s databases were strongly redun- “it is useless to try to define in advance the
dant and consequently inconsistent. Such lack information that I will need to make my deci-
of consistency made the combination of data sions. Every case is different from the others,
from the different databases a procedure not and the information necessary can only be de-
recommended even when originating in the fined on the spot, when we actually need it: it is
same company. vital for us to define it ourselves and to obtain
it immediately;”
Some of the questions that arose in such circum-
stances were: Are databases actually useful? Is “I have realized that we need all our systems
our activity as consultants in fact helpful? to resort to one single corporate database that
will allow us to obtain whatever data we need

3.
from it, anytime;”

“We are offering you the task of performing a


full re-engineering of our computer systems in
order to achieve that, where your basic work-
force will be our current technical personnel,
A great project though we’re also willing to hire some addi-
tional staff, in case specific qualifications or
in 1984 profiles, not currently available in our compa-
ny, become necessary;”

An incidental event leading to the research “You will have state-of-the-art technology
that disembarked us in GeneXus was a consult- available to you at all times;”
ing project of significance we developed by
mid 1984. “Still, I don’t believe in lengthy projects, and we
are also in an urge to have this done. It should
An incidental event led to the all be ready in one year’s time.”

research that disembarked We were facing a huge


us in GeneXus challenge, as well as a
Our client was a big Brazilian company whose great opportunity
head office was in the city of São Paulo. Its
field of activity was mainly sports apparel and We were facing a huge challenge, as well as a
footwear. It was a large-sized company and great opportunity: by then, corporate databas-
our contact in the office was not a colleague – es and corporate information were common
something quite common in those years – but talk, mainly in developed countries, though
the firm’s General Manager. This man’s think- not much was being done in that respect.
ing was absolutely clear:
This was the chance we had been dreaming of;
“in this firm, all employees at the intermediate we felt totally capable of taking it in and were
level, those whose decisions are not consider- decided to tackle it.

www.genexus.com 4
4.
This was in fact a new problem: the ideal
thing would be to solve it with SQL, but then
we immediately realized that such conception
was not realistic. SQL is a low-level language
when considered from the usability point of
view, since it calls for in-depth knowledge of
The magnitude of the database (which tables include the ele-
ments necessary and how we should navigate
the problem through them).

When having to face a real, large-scale prob- SQL is a too low-level lan-
lem like the one we encountered, where no guage when considered from
experience has been recorded, risks become
a significant issue. the usability point of view
We could then identify the first non-tradition-
When facing a new problem al problem to be solved: how to interrogate
of considerable size, the risks the database at anytime, with queries that
are not foreseeable, and defined by non-
involved are many technical staff?

If, in addition to this, all bibliography available SQL was not the solution to that, and neither
refers to theoretical and hypothetical cases, were the “user-oriented languages” available
whose authors have not actually put hands to at the time. These were user-friendly but in
actually solving comparable problems, then no way helped to solve the problem of large
risks and uncertainty become even greater. models.

But in our case, all this also increased our ea- The first object of our research was to ob-
gerness and appreciation of the magnitude of tain a language where the system would be
the opportunity we had been granted. responsible for selecting all tables necessary
and for navigating through them, all of which
In the primary data analysis that was carried should be done automatically.
out during the first week of work in order to
achieve a general overview of the problem
we identified approximately 100 entities, and We wanted the system to be
estimated that the full model would include responsible for navigating
over 500 tables (the actual model finally had
750 tables). This was a situation quite differ-
the database automatically
ent from the usual models of the time, which
never implied more than 40 tables. Data Analysis. We started by the usual de-
tailed data analysis. Until then, we had worked
First problem: How to enable end users with the Entity Relationship (E-R) model that
to formulate the queries they needed to dated back to the 60s, when it was introduced
make? by Charles Bachman and later made popular
by Peter Chen. We searched the organization
Supposing we managed to build the database for objects relevant to the problem and their
and the programs necessary for the applica- relationships, and then represented them in
tion, how could we enable end users or their the E-R model. But in this case, in principle,
assistants to formulate queries as they be- everything was relevant since the objective
came necessary? was to obtain a corporate database.

5 The genesis of GeneXus


We soon realized that this procedure, quite time for re-thinking everything with a greater
useful in small-sized models, like those in use degree of freedom as to admit that back-
so far, implied several difficulties in the case ground information and bibliography would
of large-scale corporate models. be minimally helpful, if helpful at all.

Also, we perceived the usefulness of visual- Where is valid knowledge located? Is it pos-
izing parts of the model with an E-R chart. sible for us to substitute data knowledge,
That is: the E-R model seemed as a desirable which we have proven to be non-existent,
output, but a useless input in real corporate with other objective knowledge with the
models. detail necessary to allow an inferred data
model from it?
Second problem: How can we build and

5.
manage large models?

Here we had data models much larger than


those we were used to, and we were certainly
bound to incurring in numerous technical er-
rors derived from the large scale involved!
To aid in coping with this problem, we started
Isomorphism
to implement small tools, while we sought
tools from international scenarios that could
with perspective
be of help to us, but unfortunately we found
none. When we take a brief look at history in rela-
tion to drawing and painting as they were
Here we had data models before, we can detect great differences with
what we have in our days.
much larger than those
we were used to What were man’s drawings like at first? How
did we draw based on intuition? What are
Other problems. The difficulties derived from children’s drawings like? All answers implied
the model’s size soon proved to be just the having knowledge of the object to be drawn,
“tip of the iceberg.” and better yet, the possibility of touching it,
and getting to know its nature and all possible
Third problem: Where is the knowledge? details. Then we would draw things “as we
know them.”
Who, in the organization, would know the data
with the necessary degree of objectivity and And what are primitive drawings like? They
detail? The reply was categorical: NO ONE! are significantly distorted.

So, what could we do? Can we solve a prob- And then one day the technique of “perspec-
lem if we don’t have the proper knowledge tive” was conquered. In times of the Renais-
for it?: No, we can’t. sance, certain artists – as well as architects,
who encountered even more difficulties than
Are there possible palliative measures like artists in producing their drawings – started
training users or scattering “section data considering a change of the paradigm that
managers” throughout the company? said “we draw things as we know them” to
another paradigm saying “we draw things as
Yes, that is always possible, but when we sud- we see them.”
denly encounter problems that are 10 times
larger than usual, those palliative measures In Florence, in 1417, in order to produce per-
are hardly sufficient. This appeared as the spective drawings of buildings, the Italian art-

www.genexus.com 6
ist and architect Filippo Brunelleschi came up
with a set of rules (principles of descriptive Both in perspective drawing
geometry) that we still use in our days.
and in data analysis, what we
Like with every new paradigm, a lot of resis- do is “to describe visions.”
tance was put up in regards to perspective
drawing (critics assured that “the art of draw- In our search, we found out that, just as there
ing and painting would be replaced by a pro- is lack of a good knowledge on data, every
saic and totally uncreative technique”). How- user has indeed a very good knowledge of the
ever, perspective had come to stay, and in fact, visions of those data he resorts to.
it fully displaced all previous techniques.
Going back to the issue of perspective, we
Like with every new could say that: both in perspective drawing
and in data analysis, what we do is “to de-
paradigm, a lot of resistance scribe visions.”
was put up
As promising as it seems, in perspective draw-
But, in what way is perspective related to ing we draw our vision directly, while here,
data analysis? beyond the significance of visions, what we
search for is the data model.
When a decision is made to re-think every-
thing and the thinking is done in absolute The obvious question then is: can we, upon
freedom, away from all possible pre-estab- a number of user visions, infer a satisfactory
lished contexts, nothing is to be discarded data model from them?
in advance. The story of perspective drawing
constituted a great source of inspiration. This is a very good question because it takes
the problem to the sphere of mathematics:
The story of perspective
First of all, we must define a reference
drawing constituted a great framework:
source of inspiration
Our data elements (attributes) will be identi-
What was most important in it was the basic fied by name and they will basically abide by
principle of changing paradigms: the change certain simple rules:
was from a complex, confusing and subjec-
tive approach into another one that proved One attribute will always be identified under
descriptive, simple and objective. If only we a single name, regardless of where it is within
could do something similar with data! Then the model.
we would have a shorter way to go in pursuit
of our objective. There will not be any two different attributes
with the same name.
Upon considering the problem on such bases,
we should go back to the question: “Who, in We shall assign names so that they best rep-
the organization, would know the data with the resent the meaning of each attribute.
necessary degree of objectivity and detail?” to
try and replace it with another question that In second place, we must represent the
could be answered with a YES, which would help structure of visions:
us in building the data model that we need.
Every vision will imply one or several attributes
What are the topics on which we have objec- organized according to a specific structure.
tive and detailed knowledge?

7 The genesis of GeneXus


6.
However, it is never a good idea to reinvent
the wheel:

By now, we find that mainly Jean Dominique


Warnier and our friend Ken Orr on one side, and
also Michael Jackson on the other, had all made
great advances in describing data structures. Can we automatically gener-
ate the programs we need? All
With their data structures, neither Warnier- of them or just some? Which
Orr nor Jackson intended to define the data-
base but rather the structure of programs,
ones? And what advantages
and most of the bibliography we had avail- would such programs have
able referred to batch programs. But their over those written manually?
work was a most valuable base in represent-
ing our visions of data.
At the beginning we did not think of generating
The work carried out by programs, but the regrettably well-known “sta-
ble databases” with which computer systems
Warnier-Orr and Jackson was continued to fail led us to think that, sooner
a most valuable basis or later, we would have to face this issue. Oth-
erwise, our clients would always be under the
Thirdly, a procedure is necessary to change from pressure of high maintenance costs.
a set of data visions to the corresponding model.
We were no experts in the automatic genera-
We are now in the world of math, and the ques- tion of programs, but the topic was not new
tion is: for a given set of data visions, is there a at all:
minimal relational model to satisfy them?
From almost the start, computer science has
Finally, now we have all questions relating to undertaken the issue of the automatic gen-
this matter, or better yet: we have rigorously eration of programs.
formulated the problem.
For long, program generators were quite
This state allows for a great number of tools primitive and most of all oriented at generat-
that can be of help in solving it. ing simple reports based on flat files.

In this specific case, in addition to the usual


computer tools, we have also used techniques For long, program generators
and tools taken from mathematics, logic and were quite primitive
artificial intelligence.

We have frequently resorted to After 1985 there were significant advances in


this field and generators started generating
prototyping in our research work both batch programs and transactional pro-
grams, and interacting with databases.
The work done led us to solving the problem.
An important byproduct was to enter a new and Those generators were based on templates,
promising world: that of quick prototyping. acting as “skeletons” which, starting with a
fill-in-the-blanks approach then became in-
We have frequently resorted to prototyping creasingly sophisticated, to end up solving a
in our research work, to then make its use vi- reasonable part of the needs for one installa-
able for clients, based on GeneXus. tion to be set up.

www.genexus.com 8
8.
It was clear to us that the automatic genera-
tion of programs would become, sooner or
later, a fundamental matter to deal with.

It was clear to us that the auto-


matic generation of programs How can we do a
would become a fundamental good job with
matter to deal with
unstable databases?
The above takes us to this question. But, if we
analyze it, we can break the question down
into the following questions:
• How can we reorganize the database when

7.
it undergoes structural changes?
• How can we modify programs so that they
can function properly with the new data-
base?

The first question takes us to an in-depth


Are stable study of how to convert the regular contents
of a database with the old structure into new
databases possible? contents with a new structure.

The initial theoretical problem is: can such


“Stable databases” are a recurring issue in conversion take place without data loss?
computer science. The idea was presented
this way: If the answer to this is affirmative, then fur-
ther questions will come up, like: what must
If we come up with the “right database” for a we do to carry out the conversion and pre-
specific firm, then that database will remain vent data from being lost? and could we gen-
stable in the future. Consequently, we will limit erate programs automatically for performing
ourselves in time to write programs that will such conversion?
use that base.
The reply to the second question is obvious:
If that were not possible, then we have not if we are capable of generating the programs
been able to come up with the “right data- then why not generate all programs again?!
base.”

A lot has been written about this subject. Resorting to brute force will
almost always take us to an
But the basic thesis is in fact false! The only
way for an organization to have a stable initial solution
model is when the firm has become stagnant
or has died. Resorting to brute force will almost always
take us to an initial solution, but when we
Therefore, it is a good idea not to waste efforts are faced with thousands of programs, that
on searching for such stable models, but rather doesn’t seem to be the best choice, even con-
to work on possible, real, unstable models.
9 The genesis of GeneXus
sidering the great and permanent increase in cus on questions instead of on answers. But
hardware power. let us express the following non-essential
simplified aspects:
Surely this answer does not seem satisfactory
enough, and in turn leads us to another ques- What is an “extended table”? For each record
tion: upon changes to the database, could we in a specific table there is a virtual record
determine the programs that will be affected made up of the concatenation of the original
by it in order to re-generate them? record and all records of other tables in the
database that are directly or indirectly de-
If we manage to achieve this it will be great, fined by it.
but the scenario brings about yet another
question: are there programs generated for All those records will constitute what we call
the old structure that function correctly with an “extended table” of the original table, and
the new one, and are capable of being re- the latter is called the “base table” associated
placed by other more efficient programs? with the extended table.

How are extended tables significant?

9.
Descriptions expressed in terms of extended
tables remain in force through structural
changes in the database.

Consequently, even when certain programs


are actually not correct or optimal due to
The Gods are also changes in their database, the descriptions of
GeneXus user visions remain valid. And this
part of the game: makes it possible to automatically propagate
the changes by identifying programs that are
“extended tables” not valid to generate them again based on the
original descriptions of their visions.

On a Sunday, in August 1986 in New York, There was never any doubt in
when we were still far from the idea of com- our minds that this discovery
ing up with a company and a product, and
focused on putting together a number of sci-
was aesthetically fantastic
entific and technological discoveries under a
license to be offered to others, we came upon We never had a single doubt as to this discov-
something aesthetically fantastic: “extended ery being aesthetically great, and as time has
tables.” passed we could prove that it is more than
that.
On a Sunday, in August 1986
we came upon extended
tables
We shall not go into this topic in detail here,
with which the GeneXus Community is quite
familiar, because the idea behind this is to fo-

www.genexus.com 10
10.
What are the platforms for which GeneXus
must generate applications at the start?

The realistic attitude was to initially choose a


single platform and then specialize on it until
we could come up with a minimal volume of
GeneXus business that would empower us to undertake
new platforms. Our choice was IBM AS/400.

Our intent was originally to sublicense the In which platform must GeneXus function at
technology obtained to the big players in the the start?
field. But reality showed us that our endeavor
was quite naive: how much credibility could What we needed was an efficient platform
such advanced ideas have for the huge tech- that would not call for significant investment,
nological giants in developed countries, when to ensure constant development.
the ideas originate in a territory with no tradi-
tion in the production of technology? We also sought the greatest independence
possible from the platform for which we
would be generating applications, so that we
How much credibility could could then make the generation for other
such advanced ideas have platforms something viable.
when they originate in a
country with no tradition in We also sought the greatest in-
the production of technology? dependence possible from the
platform for which we would
The dilemma was between making our dis- be generating applications
covery public and consider the research as
concluded, and putting together a company Our decision was to go with PCs with DOS op-
and a product to take a shot at marketing it, erating system.
starting in Uruguay and the region, to then
move on to other destinations worldwide. What are the problems that GeneXus must
solve on the spot, and which could be post-
We went for the second option. We thought poned for later?
that, over time, if our product was actually
useful to clients and clients increased con- It was clear to us that, at the beginning, we
stantly – even at a slow pace –, and if we would have to face lack of theory and prac-
managed to duly support new technologies tical inconveniences that would prevent us
as they appear, we would attain success to from generating full applications.
the extent that we abode by a spartan entre-
preneurial behavior. One of our objectives was to generate as
much as we could, automatically.
So we were profoundly committed to such
purpose, and by late 1988 we founded Artech, Our second objective in mind
we named our product “GeneXus,” and we
set out to launch its first version in the second
was to automatically maintain
half of 1989. everything we generated
Here are some of the questions that we came Our second objective in mind was to auto-
upon back then: matically maintain everything we generated.

11 The genesis of GeneXus


And this was the reason for totally discarding Generating and maintaining 70% of programs
the generation of parts of programs for de- automatically seemed a great degree of suc-
velopers to take it from there, because what cess. There were only a few generators capable
developers would write manually would not of coming up with similar things, but none of
be automatically maintained. them could provide automatic maintenance.

We did not know how to describe procedural One thing we had no doubts about was the
programs like batch processes or casuistical fact that automatic maintenance was a very
routines that could not be derived from trans- important and unique feature of GeneXus.
actions. But we believed that clients chose GeneXus
because of the significant increase in deve-
There was the chance of introducing a 4th lopment productivity that it implied, while
generation language to solve all those prob- automatic maintenance was something seen
lems, but that would imply giving up the au- as an added, unexpected new feature to-
tomatic maintenance of these programs, so wards which most of Artech outsiders were
we decided not to go for that. skeptical to a certain degree.

We opted for implementing that which could But reality came as a surprise when several
be automatically generated and maintained, clients brought their thoughts to us:
with no restrictions, like transactions, queries
and simple reports. “To automatically generate 70% of programs
will be of great help and that is something we
appreciate a lot.”
We estimate that the first ver-
sion of GeneXus automatically “Having to manually write 30% of programs is
a restriction we accept in the belief that you
generated and maintained will surely overcome this in the future.”
70% of the programs
“But what is not acceptable to us is having to
We calculated GeneXus to automatically do the manual maintenance of programs not
generate and maintain 70% of the programs generated by GeneXus.”
in an installation, while doing the automatic
design, generation and maintenance of the How could we satisfy our clients? How could
database. The rest would require long hours we be sure of generating full applications?: by
of additional research. means of a procedural language.

Could we automatically generate and main- Our question was: can we build a procedural
tain 100% of applications? language with descriptions (source programs
in that language) that will not become invalid
That was what we aimed at, and we were in the event of structural modifications to the
working on it, and relied on having quite database?
some time to achieve it.
The answer was YES, and allowed us to re-
lease the first full GeneXus.
We believed that clients chose Then questions started to pour in, endlessly…
GeneXus because of the signif-
Can we generate applications for other plat-
icant increase in development forms and architectures?
productivity that it implied
Can we identify patterns in our descriptions?

www.genexus.com 12
12.
And based on that, can we automatically gener-
ate GeneXus objects to fit those descriptions?

Can we extend GeneXus beyond Artech? Can


we enable the GeneXus Community to make
this possible?
Acknowledgements
… and many, many more….

We must particularly thank a number of indi-


Formulating new questions is viduals and companies: our team, our clients,
and the whole GeneXus Community.
a constant occupation, where
there are an increasing number And also, we would like to humbly express
our thankfulness to those who, despite not
of people taking part of it being clients or participants in our Commu-
nity, even somewhat skeptical about GeneX-
Formulating new questions is a constant occu- us, permanently bring up new difficulties and
pation, where there are an increasing number challenges, for these are our inspiration for
of people taking part of it, like the research further learning.
and development team, all of Artech, soft-
ware houses, clients and the whole GeneXus We have a wonderful world, and anything ca-
Community. pable of nourishing our knowledge of it must
be seen as a privilege and a unique opportu-

11.
nity!

Answers
Throughout all these years working, we have
come upon endless questions, most of which
generated the corresponding answers, a lot
of answers. Nevertheless, we could summa-
rize them all into one main principle:

We can “describe” instead of “program”!

and one strong belief:

We must never lose our freedom of


thought!

13 The genesis of GeneXus


www.genexus.com
The genesis of GeneXus

You might also like