Performance as a 2ļøāƒ£nd-class citizen

calculang
performance
Author
Published

April 4, 2024

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.

šŸ

|