jdcarter
Joined 14 years ago
Joined 14 years ago
Danger was bought by Microsoft, however, right around the time the NetBSD phone was going to market. AFAIK the tech didn't continue much past the Microsoft acquisition. (Source: worked at Danger on the NetBSD project, but left shortly before the Microsoft deal.)
Because there's neither abstraction nor ways to combine things. Say you have a device that needs to do two things, and you look up some examples of how to do each thing. Each example is going to have its own loop() function--but how do you combine them? There's no notion of tasks or threads. There's no abstraction for device drivers. Arduino is a system that paints you straight into a corner.
[edit to add] Any reasonable software environment needs to provide three things, quoting "Structure and Interpretation of Computer Programs" here [1]:
* primitive expressions, which represent the simplest entities the language is concerned with,
* means of combination, by which compound elements are built from simpler ones, and
* means of abstraction, by which compound elements can be named and manipulated as units.
Arduino only provides the first.
[1]: https://mitpress.mit.edu/sites/default/files/sicp/full-text/...
Aside: when storing hashes, be sure to store the hash type as well so that you can change it later if needed, e.g. "xxh3-[hash value]". RFC-6920 also has things to say about storing hash types and values, although I haven't seen its format in common use.