Performance as a 2ļøā£nd-class citizen
The tagline for calculang āa language for calculationsā can attract high expectations.
Iāve become acustomed to reset those by attaching ānaiveā to the execution model. Self-deprecating yes, but strictly this is a current- and problem-dependent adjective that I add.
So Iāve leaned in anyways and hopefully given some hint here and there that it can be helpful for some things - adjectives aside.
And thatās besides theoretical/structural details that I think are much more important (beginning with: separation of concerns, structure).
simplify ādramaticallyā
My first advice to anyone wishing to model with calculang now is normally to simplify dramatically.
Sometimes this feels like an old modelling artform where itās useful to draw inspiration from decades-old techniques.
Besides to leap into maths of a generation ago or more, āsimplify dramaticallyā isnāt the most terrible direction where the goal is in education or to be informative, fun or artistic.
But Iām under no illusion: intense boundaries is not a feature.
āimportant thingsā
Here are the aims or āimportant thingsā I include in the calculang frontpage. To be:
- shareable, communicable š¬ š
- transparent, verifiable šµļøāāļø
- understandable, concise š
- flexible, reusable ā»ļø
Performance is not on the list. This isnāt a bug. But it doesnāt mean I wonāt accept PRs that improve the execution model.
It just means performance shouldnāt come at the expense of the āimportant thingsā.
calculang is declarative
calculang is declarative: calculations are described by formulas - not by step-by-step programming instructions. This creates a freedom about the execution model, so that itās a particularly interesting space to experiment. But that comes with challenges to maintain deliberate, meaningful and flexible expression in formulas.
Hereās another declarative language: Structured Query Language
SQL is 50 years old, still going strong, and on-going research to produce the step-by-step may be more interesting than ever.
Throughout these 50 years, the language remained a relative constant while the things around it could freely move.
Permitted, research pushed and continues to do so.
leaning in continues
For now. And continues along threads of portability and interoperability.
š