4 ms·
Beads follows the State-Action-Model pattern (SAM, see sam.js.org) very closely. Beads is targeting web apps, mobile and desktop graphical applications. You d
by magicmouse 5y ago
Beads follows the State-Action-Model pattern (SAM, see sam.js.org) very closely.
Beads is targeting web apps, mobile and desktop graphical applications.
You didn't mention time travel debugging, even on software running on remote customer machines. That's a neat idea.
I would describe the syntax as a mixture of Python and Modula2, which both contributed major features. But has deductive elements as well, which can be traced back to PROLOG.
There are also physical units of measurement such as 3 Newtons * 4 seconds / 3 meter * 2 ergs / 12 kg. I followed the spec from Van Snyder at JPL, who asked the FORTRAN committee to add it decades ago. Only Frink has a stronger unit system.
There are about 70 new things in Beads all told.
I hope that people take it for a spin. If people aren't willing to try new things, how are we going to move forward? You can learn the entire Beads product from soup to nuts in less time than to get half way through a CSS book. Simplicity is a virtue, and thankfully Beads has zero category theory, with no Functors and Monads or Java method factories, etc.
- GianFabien 5y agoReading through Beads author's blog reveals him to be a person with decades of experience. To me it appears that Beads is a well thought out attempt to address the multitude of issues that the author has experienced over the years. NASA lost the Mars Climate Orbiter due to a confusion of values being in feet or meters. https://www.simscale.com/blog/2017/12/nasa-mars-climate-orbiter-metric/ https://www.simscale.com/blog/2017/12/nasa-mars-climate-orbi... That is exactly the sort of mistake that the support for physical measurements mitigates. There probably never will be a programming language that pleases all the syntax camps and all the semantics camps. Why not just use macro-assembler? It is the purest language that isn't binary machine code.
- magicmouse 5y agogee thanks for the kind words. You wrote one of the best comments i read.
- bawolff 5y agoBut that's exactly it - if the goal of this language is to prevent the type of failures that lead to the mars orbiter issue, then its an obvious failure. There's no possible way an interpreted language only usable on windows or mac would be controlling a mars orbiter - it just doesn't have the features neccesary for that usecase. Mars orbiters don't run Windows (nor should they). That's ok of course, no language can be all things for all people and its ok to have a niche. But when the primary example justification for the language is a problem that the language couldn't possibly address, it suggests that it is hardly a well thought out language. Almost none of the criticism here has been about the language itself, it has been about the blatent disconnect between what the language is and what it claims to try and do. Maybe its a good language in and of itself, hard to tell. At a glance it doesn't seem particularly groundbreaking, but it doesn't seem terrible either. However, I stand by it being an abject failure in terms of the stated goals of its marketing material.