Comment by gotoeleven
19 hours ago
Can anyone proficient with this kind of language comment on how useful it is compared to a more vanilla imperative language? It seems like it's designed for control systems, which is largely about correctly implementing large state machines. Are there problems that are incredibly difficult to manage without a language like dezyne? Outside of control and state machines, are there other domains it excels in?
Sounds like formal verification is built into the language, which sounds nice for people who care!
Given this is spitting out C++ code, it could be that the ideal way of using this is to write your state machines with this, then use the output in a more traditional setup.
https://dezyne.org/dezyne/manual/dezyne/dezyne.html#Formal-V...
Dezyne runs formal verification under the hood (Model checking), which basically means checking all possible situations that might happen in your code. You can create a requirements/constraint like statements and Dezyne will check is there a scenario where you violate them. Also it makes sure that every single has a correct handler, so no more unexpected timer interrupts.
It short words - you don't need to write unit tests and target code generates directly from the model
every app is big hierarchical state machine. from app using mechanical enginering devices to cenralized perpertual trading orderbook to networked game world state management middleware.