Tcl/Tk and the Minimum Viable Product
Minimum Viable Product
A Minimum Viable Product is an application that exposes a sufficient level of features and functionality to be deemed practical and useable.
I have written more than my fair share of applications where the sole purpose was to alleviate repetitive and time-consuming tasks. Continued use of some applications eventually demanded changes to make them even easier for others to use.
Eventually, bells and whistles made these same applications more than anyone ever anticipated. I often wonder if I would've written these applications if I knew the amount of work required to finally finish them.
Thankfully, Tcl/Tk makes rapid application prototyping quick and easy, especially where high performance is only a consideration for future releases. Critical functions written in C or Fortran are easily called by Tcl/Tk and offer optimal speed of execution where required.
Writing highly performant code extends beyond the domain of a single language. Users learn to appreciate code written in low-level languages to alleviate the pain of slow code. When they eventually do click a button, the results can never come fast enough.
As for an application that scales well? Elixir is my go-to language of choice and this article, "What is an MVP and why Elixir is a perfect language for building a minimum viable app?," by Natalia Szydlowska explains why.