Nodelab is a developer’s whiteboard on steroids. Design, prototype, develop and refactor any application simply by connecting visual elements together. Collaborate with co-workers, interactively fine tune parameters, inspect the results and visually profile the performance in real-time.
Software design always starts with a whiteboard. We sketch all necessary components and connect them to visualize dependencies. Such component diagram is an exceptionally efficient foundation for collaboration, while providing clear view over the system architecture and effectively bridging the gap between technical and non-technical team members.
Unfortunately, it is impossible to execute the diagram itself, therefore the logic has to be implemented as a code. The traditional development involves writing thousands of lines of code scattered over hundreds of files, which makes the flow of data unclear and the application architecture hard to understand and extend. While there are many tools addressing the subsequent issues, such as UML architecture diagrams, they do not work well as they deal with symptoms, not the source of the problem. The diagrams tend to quickly become obsolete and they need to be manually updated, so that their consistency is hard to maintain. On the other hand, a pen and a whiteboard are still the most efficient way to design a software.
Under the hood of Nodelab you'll find Luna – the world’s first programming language featuring two exchangeable representations: textual and visual, which you can freely switch at any time. It lets you keep your own coding habits, while giving all the advantages of graphical whiteboard-like interface.
The visual representation redefines the workflow ergonomy, drastically shortening the time needed for software development.
The visual representation reveals incredible amounts of invaluable information about the structure, behaviour and the flow of the data in the program. It allows for capturing big picture on any stage of a workflow, makes the navigation much easier, enables fast and interactive development and profiling. Detailed performance analysis and real-time visualisation of results enable rapid prototyping. All these advantages can be beneficial for both technical and non-technical people.
Luna provides a concise and expressive textual syntax that is elegant yet natural to read and write. It comes equipped with full power of purely functional programming style.
Collaboration is a natural property of software engineering involving many individuals working in a team: developers, architects, business analysts, graphic designers and operations people. Nodelab bridges the gap between collaborators of different professions. It allows to deliver production-ready software, yet it is easy enough to be used by non-technical team members. It opens up an entire universe of undiscovered ways of collaboration.
Visual profiling is the most efficient way to inspect and understand all the performance bottlenecks of your application. After enabling the debugging mode, Nodelab gathers detailed evaluation statistics including computation time, CPU / GPU memory allocation, network transfer and threading model. It can be visualised and interactively inspected using the Nodelab environment.
Nodelab is a great environment for programming language polyglots. Foreign language interoperability is just as easy as creating new
foreign node and pasting any Haskell or Python code inside. You can of course use
Please keep in mind that unlike Luna, other programming languages are not designed with visual representation in mind and their source code cannot be expanded to a graph representation.
Nodelab ships Luna, it's own proggraming language with a state of the art compiler and an interactive interpreter written entirely in Haskell and Luna itself.
We will release the compiler as an open-source project as fast as Nodelab and Luna hit the public beta version.
Fill the form below and we will contact you. You can provide just your email address, but we would choose the first group of alpha-collaborators among those, who provide the details.
Copyright © New Byte Order 2016