Throughout the history of software engineering, programming languages have played a critical role in improving developer productivity and making programming more accessible. Each new generation of languages has introduced step function changes that have revolutionized the software development process.
For example, Java's improvements over C and C++ can be considered a step function change in developer productivity. Java's automatic memory management, garbage collection, and built-in exception handling allowed developers to focus more on the application's functionality and less on the underlying system architecture and memory management, which can be time-consuming and error-prone.
Several decades ago, during the database wars, SQL played a pivotal role in helping relational databases emerge victorious.
The ease with which anyone could write and execute queries in SQL made it easier to manage and manipulate data, ultimately leading to widespread adoption and dominance of relational databases in the market. Today, SQL remains one of the most widely used and trusted tools for working with relational databases.
Similarly, Python, Ruby, R, and other languages have progressively provided layers of abstractions that have made developers far more productive.
These insights were central to our conception of Ensemble.
We recognized that while modern cloud-based applications may seem different on the surface, they utilize a common set of patterns and are actually remarkably similar. What if we were to build a 4GL language from the ground up that abstracts away most of the complexity involved in building, deploying, and changing applications?
Instead, we provide declarative syntax that enables anyone to simply describe an application and let the platform do the rest. This approach empowers developers to be more productive and focus on what matters most – building great software. Equally importantly, it makes application development accessible to a whole new set of users who do not have any programming knowledge.
With this insight, we developed Ensemble Declarative Language (EDL), a powerful new language designed to help build modern, cross-platform, cloud-native applications for distributed and diverse teams.
EDL is a declarative language that allows programmers to describe 'what' needs to be done and leaves the 'how' to the platform.
Using EDL, there is no software to install, no need for large amounts of RAM to compile programs, and no setup required when onboarding or off-boarding team members. All you need is a browser on any computer, private or public. EDL is designed with security in mind, as the application development platform itself restricts access through role-based security. In addition, there is no need for a 'deployment step' as the system is always deployed and ready to use.
Ensemble is built for everyone to work together, so all stakeholders can be involved in the process of creating software from day one. This means that designers, developers, and customers can work together seamlessly to ensure that the product meets everyone's needs.
EDL is designed to be understood and utilized by both humans and their digital counterparts, making it accessible to anyone who wants to create software.
We are just beginning our journey, and we would love for you to be a part of it. With Ensemble and EDL, we aim to revolutionize the way software is built, deployed, and used.