When you think about visual programming on the Raspberry Pi or Arduino board, Scratch may come to mind, but some developers have decided to create their own visual programming language working for Arduino, Raspberry Pi, and other boards. Meet XOD, pronounced ksud.
The developers explains their used “functional reactive programming principles and added graphical functionality”. XOD is comprised of “nodes” that represents either some physical device like a sensor, motor, or relay, or some operation such as addition, comparison, or text concatenation, which you can link together through inputs and outputs to create a program, and XOD IDE will compile the resulting diagram to create and upload a binary program to Arduino, Raspberry Pi, etc… You can also convert a XOD diagram into a node with inputs and outputs to use it in another diagram, so the language is scalable.
The developers are now looking for testers to play with XOD private alpha, but XOD language, IDE, and library sources code will be released on Github once launched. You can register with your email address on their website, if you are interested in participating in the test program.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Nooooooooooooooooooooo keep the drag and drop macro designers away from the Pi….the whole point was to learn coding skills, which are being lost in droves.
We struggle to employ people who knows how to code at the cli, it becomes just a gui designers code which isn’t portable, and ties businesses to vertical market application providers, change the application and we lose the staff and left holding the baby,
Learn C++ Learn C# Learn C even, Learn Scripting (any), Learn a programming skill, not how to avoid learning the code.
Hi, I’m Mihail, XOD founder. Your comment has smiled all our team =) But if seriously. Why do you so negative about more easy-going experience with Pi and Arduino programming. More people who would never even started programming have an instrument to try. We are trying to make not another mickey mouse visual programming language, but really powerful open-source environment based of functional programming principles.
Negative opinions that visual programming will ruin people’s programming skills is not real. Because one can’t program if don’t know how to program, so people still need programming skills.The reason why visual programming is because there is no need to write already written codes-it is wastage of time. Visual programming makes programming more efficient and funny. I do agree with the project, it is awesome.
boudyka – Visual programming IS programming; allowing the developer to focus on the logic, rather than syntax.
Functional programming (reactive, dataflow, …) is much different than typical imperative one. Tools like XOD will help young people to avoid being brain-damaged by imperative legacy (sorry for us who didn’t had this luck 30 years ago and had to start with basic/assembly…) Thinking in flows allow different level of abstraction and helps separate functional logic (algoritm) from data structures and dependencies. Nothing against C# or C++ – in recent standard revisions C++ gained “functional programming” support. Still it does not force this style but this has some positive aspects too. I will definitely check the tool (XOD) when it… Read more »
@gicho XOD programs are stored in regular JSON files. And each module is stored in its own file. The JSONs are pretty-printed. So XOD project source files are quite diff/git-friendly. It’s quite hard to understand what the program do if you’d look at the JSON alone, but it’s suitable to perform mass-refactoring. We used to sed -i from time to time when data structure had to change. Furthermore, there is a CLI that lets you perform some actions (transpile, publish, install) from the terminal without even running visual IDE. It should make XOD suitable for server environments. Interop is done… Read more »
Probably 80% of the code written for microcontrollers is amenable to this type of development tool. For the remaining 20% if XOD supports creation of custom nodes, 80% of the remaining 20% is probably amenable.
Visual programming is not new and has been used in the real world for decades so solve real production problems. I’ve seen LabView used to build very complicated control systems.
@Occam
Right, so we never claimed to be the first. We just trying to realize in XOD good balance of modern developer’s tools and concepts, but still provide it with easy going learning curve.
My response was intended for the nay sayers poo pooing VD out of hand.
No sure if it’s already in XOD, but a very useful module would be a code block with inputs and output(s) where developer could write code using a scripting language, like a subset of JavaScript, when needed.
I currently use a very powerful visual development environment called Boomi to create very complex system integrations.
@Occam
Yes, we are going to provide this feature
Great I signed up for alpha.
Did anyone received this “private alpha”? I signed last month but got nothing. On their site it is written “private alpha in progress”. I am wondering if I have to sign again?
I’m waiting for this alpha, it’s a great idea for boost our programming productivity and for do it a little more fun. Congratulations and thanks for give us your work open source.
@boudyka Hi I do a lot of projects and have three companies. I do not have the time nor the interest in learning another language, I just want to get some projects done fast without the whole “start at the bottom of all things” – thing! Bin there – done that – to often to count. If we want to produce a versatile product we`ll hire programmers like you wo love to mess with code. We love to do things fast and simple, but this will never effect the programmers market, cause they will always be essential when doing serious… Read more »