Вот какой-то странный вопрос. Я в процессе написания книги по обучению программированию с использованием формальных методов, и я собираюсь настроить ее на людей с некоторым опытом программирования. Идея состоит в том, чтобы научить их быть качественными программистами.Преподавание программирования и формальных методов
Основные нотации: от Discipline of Programming от Dijkstra, а также некоторые параллельные и коммуникационные расширения.
В отличие от EWD, я хочу, чтобы мои ученики в конечном итоге написали реальные исполняемые программы. Это означает, что в какой-то момент переводится с обозначения EWD на какой-то другой язык. Когда я впервые начал выполнять формальное программирование, я нацелился на C, но вы в конечном итоге пишете много сантехники, плюс есть все сложности в обработке указателей и т. Д. Ruby - очевидная возможная цель, как и Scheme или Lisp. Но существуют также различные языки функций; поскольку я особенно заинтересован в параллелизме, Эрланг кажется такой возможностью.
Итак, вот мой вопрос: на каком языке (ых) я должен учить своих читателей ориентироваться на их формально разработанные программы?
Звучит как действительно интересная книга! – Uri
Спасибо, я буду размещать главы для комментариев, вероятно, связанных с chasrmartin.com. Когда у меня есть главы. –
«Все лучшее» для вашей книги Марти, я просто искал и нашел смысл «формальных методов». – Alphaneo