Even though Programa offers a very powerful programming environment compared to exiting languages, it can also be used as a testbench to easily test and verify program functionality of common languages (i.e, C, Python, or Java). The following figure shows Programa's capability to create and test code initially written using Programa directives. A conversion module can then be used to convert the Programa code into one of main programming languages so users can further develop applications using other programming environments.
Programa can be considered as a superset of all available modern languages that provides a level of abstraction that makes coding a fun experience. Programa eliminates the frustrations associated with coding and debugging by providing simple concepts and constructs to access variables and perform computations. Below are some of its main features:
The following table shows a comparison chart of Programa with other modern programming languages.
The human interface can be the classical keyboard and mouse, touch-screen, speech, or any combination of them. This provides you with the maximum flexibility since it allows you to use a keyboard and/or mouse when you write a large program, or a touch screen interface when you want something portable to solve some smaller problems. The touch-screen interface is also particular useful for students since they are more accustomed using this type of interface. Finally, we envision that Programa will ultimately have a speech recognition capability where users will be able to write programs using a spoken language.
The next layer of Programa is the syntax input language that allows the user to write code in one of the supported syntaxes.
The Mass computing engine is the heart of Programa. It reads the user code, checks for correct syntax, performs the necessary calculations, and produces the results of the program.
With Programa, standard functions from different programming languages can be integrated within the computing environment, thus offering a very powerful environment to quickly create programs with substantially functionality. Programa can be used to develop:
In addition, Programa offers a set of powerful data parsing functions that allow users to quickly read data and automatically create structures that can be easily accessed by the program. This saves developers a significant amount of time and minimizes the time it takes a programmer to reach the most rewarding part of computing which is the problem solving state.
All this advanced functionality is encompassed by a powerful set of visualization functions that allow users to easily visualize and illustrate the output produced by their code.
Programa combines a set of powerful teaching, debugging, and coding features: