LavaPE is a programming environment designed for Lava - an experimental object-oriented programming language. It offers a comprehensive interface and tools for code editing, debugging, and testing.
One of the best things about Lava programming is its pure point-and-click nature. Additionally, programs are represented as declaration trees with small chunks of executable code, which makes programming a breeze and helps to ease comprehension. Lava also attempts to merge the benefits of Java and Visual Basic, while proposing solutions to some of the fundamental problems that other programming languages have been unable to address.
With structure editing, programming becomes much simpler, and programmers can expect to see a major increase in their productivity. The Lava language has also incorporated several proposed improvements that address issues with the conceptual framework of object-orientation.
For instance, new features in Lava include the strict separation of interfaces and implementations, and the ability to distinguish between state and value objects. Additionally, Lava provides unified object- and component-orientation, as well as support for genericity and design patterns without necessitating type-casts.
Furthermore, Lava's conceptual framework addresses data flow and control flow in programs. The language includes application-level pointer notions for distinguishing constituents and acquaintances of objects, and it replaces embedded SQL with seamlessly integrated, expressive database access options. Lava also supports multi-threading, transactions, and synchronization, treating these elements in a purely declarative manner.
Finally, Lava is organization- and security-aware, making it a robust language option for programmers. The newest release, 0.9.0, incorporates static initialization checks to prevent inadvertent access to uninitialized variables and null objects. LavaPE also features an optional initialize clause for easier collection creation, and it offers a semi-automatic GUI generator that allows programmers to assign event handlers to certain basic GUI events.
Version 0.9.1: N/A