The QED roadmap for 2025
QED as of now is a proof of concept. The core principles are solid and the current implementation works although it is not robust yet. I see many things to fix and improve and these are my focus now and in 2025.
These days, I am in the middle of implementing the first optimizations to the compiler and library. I made some foray into refreshing only the changed parts of the UI, which relies on the model differentiation occurring upon event execution. The progress is good but is still not complete… I shall resume this work soon.
The other optimization, which I am starting right now, is a much better code generation process. The currently generated JS code is complex and, above all, hard to process efficiently for the Javascript V8 engine (and other engines too). The V8 engine requires previsibility to optimize its JIT compiling and throughput. So what I am working on is a refacto of the code generation to make the emitted JS code more palatable to the modern JS engines.
Completing this first level of optimization shall enable the generation, from a QED source, of a JS code on par with, in terms of speed and clarity, a JS code done natively.
Then, most of 2025 will be devoted to cementing the robustness of the QED compiler (work on bug fixes, parsing more errors, etc.). Also, I intend to improve the toolkit (LSP, debugger, vscode extension?) to make it ready for prod.
Regarding documentation and learning material, I’ll keep adding posts like this one, from time to time, on the progress made. Also I am planning to release articles when building a standard library of UI components (combo, menu, dialog, check box, list box, tree view, table, etc.) to show how they work internally (most probably simpler than you may think). I am also planning a video showing the end-to-end coding of the Flappy bird game. All of this to better communicate the QED mindset and simplicity.
My wish is, with all of this coming, that the QED community will grow along as well!
The goal is to deliver a QED 1.0 compiler, with clear documentation, in 2025!