News Article
ASTRID code rewrite for production started
ASTRID code rewrite for production started

Published: 2021-05-20 in Development

After finishing the technology selection process for production-level implementation, we have implemented the new development platform and processes, and we have started the rewrite of the ASTRID codebase.


The rewrite of the codebase has already shown incredible promise for ASTRID's execution speed, and maintainability of the codebase itself. This is predominantly the result of using Clojure as our primary programming language.

Execution speed is obviously an important target, as that was one of the main reasons to move to a new development platform for production. The original proof-of-concept implementation of ASTRID was never aimed at high processing speeds, as the main focus was on scientific (and real-world) proof of implementing a Symbolic System with Machine Learning capabilities.

For commercial applications, self-learning is of course also a primary requirement. But without useful processing speeds, it is impractical for implementing actual applications. At the end of the day, a product must be applicable to be useful, and that means it has to be fast enough.


The other main reason for the rewrite is to build the ASTRID technology to be capable of being implemented on any platform (software and hardware), for any possible application. The main promise in this regard lies in the fact that production-level ASTRID will run on the Java Virtual Machine (JVM).

The production system will be developed both as a SaaS (Software as a Service) system, and as an embeddable component for other systems (mainly robotics).

A nice bonus from selecting Clojure as our main development tool, is the fact that the new codebase is much more compact. We saw an incredible reduction in the number of lines of code, sometimes even a factor of ten to twenty times less. This amounts to a much cleaner codebase, and therefore greater maintainability of the code.


NOTE: This news-article is presented here for historical perspective only.

This article is more than two years old. Therefore, information in this article might have become changed, incomplete, or even completely invalid since its publication date. Included weblinks (if present in this article) might point to pages that no longer exist, have been moved over time, or now contain unrelated or insufficient information. No expectations or conclusions should be derived from this article or any forward-looking statements therein.

© 2021-2023 MIND|CONSTRUCT  
Other Articles in Development
  • 2012-04-20 - Selecting the database platform for ASTRID 
  • 2012-04-19 - Basic development tooling selected 

  • 2023-01-17 - How choosing Clojure made us come full circle - Hans Peter Willems - CEO MIND|CONSTRUCT