Luna is a general-purpose programming language with two equivalent representations — visual and textual. It’s basically a data processing and visualization environment that offers domain-specific components and framework to build new components.
You might be thinking, the software development space is already crowded with many programming languages for almost every kind of requirements. So, what’s the need for a new language?
Luna focuses on areas related to data processing such as the Internet of Things, Bioinformatics, Data Science, Graphic Design, etc. It’s a data flow modeling whiteboard that you can use to draw components and explain how the data is flowing between them. The Luna components have nested data flow graphs and users can easily enter any component or their subcomponents to move from high to low levels of abstraction.
Features of Luna
Dual Syntax Representation
Luna is the world’s first programming language that supports two equivalent syntax representations — visual and textual. The visual representation shows detailed invaluable information and allows users to capture the big picture with ease, while the code is irreplaceable for low-level algorithms development.
Luna features automatic parallelism which is based on the state of the art Haskell’s GHC runtime system. Due to this, for Luna, running thousands of threads is just a matter of seconds. It automatically partitions a program and also schedules its execution over available CPU cores.
Data Processing and Visualizing
Luna components can visualize their results and use colors for indicating the different type of data they exchange. Users can understand the flow of data and compare all the intermediate outcomes just by looking at the graph.
They can work with parameters to observe how they affect each step of the computation in real time. Luna enables users to iterate quickly, test different ideas and deeply understand the domain they are investigating.
Luna comes with a context-aware fuzzy search engine called Explorer. It lets users search libraries for required components and their documentation. The Explorer is able to easily understand the flow of data and predict users’ intentions and adjust the search results accordingly.
Users are excited about the new language Luna. “Luna looks great. I’ve been doing work in this area myself and hope to launch my own visual programming environment next month or so,” commented a happy HackerNews user. There are many users who showed extreme happiness as Luna features text syntax supports building functional blocks.
According to some users, Luna has many useful features that are missing in other tools and limiting the scaling of project or product.