Kaleidoscope-CMake

Nope, the term module is very old and modular programming has been around for ages. At least slightly longer than the term Arduino Library. It is right, though, that future C++ will have a new concept that might be called modules. Mr. Stroustrup and friends have to deal with the same problems as we do, i.e. finding appropriate terms for wug.

Using the term Arduino Library too excessively does not seem to be a good idea. Even though the Model 01 currently uses Arduino as a platform, nobody can tell what is going to last longer, Kaleidoscope or Arduino. Quite often software outlives its initial platform and it is wise to anticipate that.

To me it seems that Kaleidoscope is defined more by its core structure and plugins than by the fact that it currently uses Arduino under the hood. Soon there might be ports to teensy or other hardware. The bottom line is, it is just a C++ program. It can be ported to and build everywhere where a C++ compiler is available. It already runs on x86 without Arduino.

Let’s return to the proposed categories.

How would you categorize Kaleidoscope-Hardware-Virtual? It is not a pure Arduino library as it cannot be build without creating symbolic links manually.

And to which category does Kaleidoscope-Ranges belong? A library commonly consists of functions or at least binary code. But there are none, see https://github.com/keyboardio/Kaleidoscope-Ranges/blob/master/src/Kaleidoscope-Ranges.h.

1 Like