(comments)

原始链接: https://news.ycombinator.com/item?id=44013201

The Hacker News thread discusses the Dezyne programming language, a contract/behavior-oriented language suitable for control systems and state machines. A user sought a "hello world" example, which was linked in the thread. Users recommend using the VS Code extension for graphical tools. Dezyne's key feature is built-in formal verification (model checking), ensuring all possible code states are checked and requirement violations are identified. This eliminates the need for manual unit tests, as the target code is generated directly from the model. The language is suitable for systems with a significant number of potential states (100+). Some users see similarities to Eiffel, while others compare it to Swift due to its contract-like nature. Users suggest writing state machines in Dezyne and using the generated C++ code in a traditional setup. One user argues that every application is, in fact, a state machine and that Dezyne would be applicable to many use cases.

相关文章
  • (评论) 2025-05-16
  • 2025-05-19
  • (评论) 2025-05-17
  • (评论) 2025-05-14
  • Dezyne编程语言 2025-05-18

  • 原文
    Hacker News new | past | comments | ask | show | jobs | submit login
    Dezyne Programming Language (dezyne.org)
    52 points by aulisius 1 day ago | hide | past | favorite | 11 comments










    Is there a hello world somewhere? The home page just has release announcements, and I'm not quite interested enough to read the manual.




    That's only the language, I strongly recommend using dedicated VS Code extension that supports graphical tools VS code extension: https://marketplace.visualstudio.com/items?itemName=verum.de... Verum Dezyne binary: https://verum.com/download/ It's a bit confusing but Dezyne - language, command-line version. Verum Dezyne - same + graphical tools

    If you need a working example, you can find a simple Cmake/C++ implementation: https://forum.verum.com/t/automatic-lights-a-complex-system-...

    If you are stubborn enough you can model even the smallest detail of logic in Dezyne and then use single lines of C++ hand-written code to manipulate IOs: https://bitbucket.org/j0ran/alarmsystem/src/alarmsystem-no-m...



    This language reminds me of Eiffel programming language, but more contract/behaviour oriented.


    Smells like Swift to me; too much specialization, everything reads like a contract.


    > everything reads like a contract.

    Sounds like plan! Sign me up.



    It's a general-purpose language, it starts to make sense as soon as you rich ~100 possible states in your code, which actually is a small number


    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.






    Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact



    Search:
    联系我们 contact @ memedata.com