Robotics made simple for both hobbyists and professionals.

In a world where AI is making a bigger impact every day, we believe its physical counterpart should follow suit.

Robotics has traditionally been pigenholed to large manufacturing plants and science fiction, but we aim to ease the learning curve and make it possible for anyone to find utility and practicality in this exciting field.

Everything you need to write efficient routines.

Well, as far as the code is concerned.

An approach to robotics as unique as this one deserves a dedicated editor. A Major has context out-of-the-box for popular hardware libraries so you don't need to worry about importing everything to your local enviorment.

Frequently asked questions

More like predictable questions, but PQ isn't a thing.

    • Why is this framework named A Major?

      Inspiration can strike from the most unexpected places. In this case, it was a random word generator. Sorry, nothing to tell here. Just kidding! A mixed passion of technology and music led to an obvious conclusion. The A Major scale has three sharps: C#, F#, and G#. With C# and F# already being prominent .NET languages, G# had to be added...

    • Is A Major open source?

      We are very interested in the idea of public collaboration; but because of the complexity of the project, the open sourcing process will neeed to be methodical. As we approach our first Alpha release, we'll have opportunities for participants to become contributors.

    • Why robotics?

      A new framework for the sake of a new framework is an entirely pointless endeavor. Just as G# was designed to fill in some gaps between C# and F#, A Major was designed to put them to an entirely new use. Robotics is an interesting and challenging field with a dual nature. Its use cases are growing rapidly, but its population of viable prototypes and products is quite stagnant. It's very much in need of new talent and we believe the best way to do that is to flatten the learning curve a little bit.

    • So, what gaps does G# fill?

      A look at their paradigms reveals the simplest answer to this question. C# is an object-oriented language that is designed to be easy to pick up and be as general as possible. F# is a functional language that, while still designed to be general purpose, focuses on computational power and requires a different kind of thinking to use. G# is a rules-based language that balances ease of use and power. It sacrifices general purpose features to focus on concurrent features to enable routines.

    • What's this routine stuff?

      A routine can be thought of as a convenient packet of instructions. They are atomic actions that are carried out together (though still allow for interrupt signals) and different routines can be run in parallel.

    • Then why use all three languages?

      Each language has its own strengths and weaknesses. By combining them, we can create an ecosystem that is more powerful than any of them alone. Though we anticipate G# will be the most commonly used language, C# and F# will be available in the event your robot needs to accomplish addtional networking or computational tasks.

    • How else does G# stand out?

      The road to G#'s look and feel has been a long and winding one. Though its name comes from the G# note in the A Major scale, it just happened to also be a convenient nod to Google's Go language. Any new language must decide if its syntax will fall within the tradition of an existing language family or form something entirely new. After assessing various designs, it was determined the approach and features of Go were most intuitive for our puposes.

    • I get how their names relate to each other, but was there actually a good reason for joining these languages together?

      Symbolism not good enough for you, huh? Good, because you should always scrutinize potential tools for your utility belt. The answer is yes, there was a good reason. Much like how Java's ecosystem enables interoperability between any language that targets the JVM, .NET enables interoperability between any language that compiles to its Intermediate Language (IL) bytecode. Yes, the music aspect may be how this all got started, but it's another convenient coincidence that the .NET VM just happens to be better than the JVM. Heated statement, we know. Its justification will have to be covered elsewhere.

Development Blog Coming Soon

We're still early in our development, but we're excited to share our progress with you. Check back soon for updates and previews to Alpha and Beta releases!

Copyright © 2024 Danny Betancourt. All rights reserved.