Two years ago we started the first prototypes of the GeneXus Rocha, at that time we were sure we had to redesign the architecture of the GeneXus development environment. We analyzed several options for our new Development Environment like using an existing development environment, for example: Eclipse, Visual Studio, or even emerging technologies like the Composite Application Block.
Even we are accustomed to work with traditional environments; they are lacking a crucial point: Usability.
In order to work with Knowledge, usability is essential. So we decided to create a new Environment focusing on Usability, Productivity and Extensibility.
The platform we chose was .NET, so GeneXus is one of the first development environments completely written in .NET, but this is not the essential part.
The essential part is for sure unique usability features; some of them are very important, and some others are minor features that most of the development environments in the market don’t have.
Two years later we have our first major Release of our product; its name is GeneXus X. The GeneXus core is creating business applications using knowledge. Our approach: a declarative language and code generation. This was and is our way.
A declarative language is the only way programmers can focus in What to do instead of How to do it. And the only way programmers and engineers will focus on solving the real problem.
Additionally GeneXus generates code, I don’t know another technique in order to increase dramatically the software development productivity.
In GeneXus you have patterns, an excellent tool that increases productivity and gather knowledge, but when you are creating a pattern inside GeneXus, you are creating a new Generator .
In GeneXus X we are being really, really, declarative; just let me give you an example. This is the code you have to write in order to return a list of Customers
Name = CustomerName
There is no information about how to obtain data, there is no information about the format, this is declarative code. This code is technology independent, this code will be a time survivor.
Trust me, if you don’t know about GeneXus just take your time to learn about unique features of this language.
Obviously, you have already noted this project is not just one more project for me, it has been the project living in my mind during two or more years, during the project we have many technical challenges I’m expecting to write about them at some moment:
· The Challenge of Usability
· The Challenge of Extensibility
· The Challenge of Productivity
· The Challenge of Performance
· The Challenge of Memory use in .NET
· Ideal software vs good enough software
How big is the GeneXus Project? 193 Visual Studio projects. (I promise you to give more data ;). Big enough I think.
This is the end of the beginning of a new generation of GeneXus, thanks specially to Beta Testers giving us their ideas, their criticisms, they “go ahead”, and so on.
And thanks to all the Artech Team, I have been really learning more than design, develop, test, and release a product in this journey, I learned stealing cookies to my near coworker ;)