基本符号将来自Dijkstra的Discipline of Programming,还包括一些并发和通信扩展。
与EWD不同,我希望我的学生最终能够编写实际可执行的程序。这意味着在某个时候需要从EWD符号转换到其他语言。当我开始进行形式化编程时,我将目标指向了C,但你最终会写很多管道代码,加上处理指针等复杂性。Ruby是一个明显的可能目标,Scheme或Lisp也是如此。但也有各种函数语言;由于我特别关注并发,Erlang似乎是一个可能的选择。
因此,最后,我的问题是:我应该教我的读者使用哪种语言来针对他们开发的正式程序?