elang is a computer programming language designed to serve the needs of engineering practitioners of various technical disciplines.
elang strives to be both a computation and an engineering documentation platform.
In the practice of engineering, professionals often have to perform calculations as well as communicate the outcomes of those calculations to various audiences. elang and elang notebooks provide a set of tools to perform both tasks.
In the following sections, we provide the reasoning and motivation behind the creation of elang and highlight its main features.
Since the dawn of civilisation, humanity has sought to learn and predict the way the world works. Our species has the unique ability to acquire, accumulate and transmit knowlege. This capability has allowed us to build new and more complex tools on top of those discovered and created by previous generations.
Engineering is the formal organisation and practical application of this knowledge. It is thanks to engineering that we have tools and infrastructure that improves the life of everyone on this planet.
The practice of engineering requires the understanding of patterns, the documenation of their behaviour using mathematical tools and the application of these concepts to solve problems in novel, more effective and efficient ways.
All this knowledge and how-to has to be applied in a systematic manner. After centuries of development, we now have the ultimate calculation machine at our disposal, the computer.
Using computers we can codify all this engineering knowledge allowing us to consistently perform the necessary calculations to build new things.
elang's aim is to provide a platform that allows engineers to codify their knowledge and calculations in an accessible and easy-to-use programming language.
Given a specific concept or unit of knowledge, we need to do two things to make it useful. One is to document that knowledge in a way that others can understand. The other is to perform the necessary calculations that use that knowledge to render a practical outcome.
For example, in the domain of Asset Management, we learn about the way that physical assets behave throughout their lifecycle. This knowledge allows us to better manage these assets to ensure their safe, reliable and cost-effetive operation. We often document this knowledge in various ways. We write strategy documents, prepare presentations, create drawings and capture all sorts of data through the various maintenance activities.
In parallel, we use programs to perform calculations that inform various aspects of decision making, like condition assessments, performance evaluations, risk assessments and developement of investment options amongst others.
Modern engineering practice requires the use of a wide range of concepts to achieve a desired goal.
Engineers