Aquí hay una especie de pregunta extraña. Estoy en el proceso de escribir un libro sobre cómo aprender a programar usando métodos formales, y lo enfocaré hacia personas con alguna experiencia en programación. La idea es enseñarles a ser programadores de alta calidad.Programación de enseñanza y métodos formales
La notación básica va a ser de Dijkstra's Discipline of Programming, junto con algunas extensiones de concurrencia y comunicaciones.
A diferencia de EWD, quiero que mis alumnos escriban programas ejecutables reales. Eso significa en algún momento traducir la notación EWD a algún otro idioma. Cuando comencé a hacer programación formal apunté a C, pero terminaste escribiendo muchas plomería, además de todas las complejidades del tratamiento de punteros, etc. Ruby es un objetivo obvio posible, como lo es Scheme o Lisp. Pero también hay varios lenguajes de funciones; ya que estoy especialmente interesado en la concurrencia, Erlang parece una posibilidad.
Así que, finalmente, aquí está mi pregunta: ¿Qué idioma (s) debo enseñar a mis lectores a enfocar sus programas formalmente desarrollados?
¡Parece un libro realmente interesante! – Uri
Gracias, pondré capítulos para comentar, probablemente vinculados desde chasrmartin.com. Cuando tengo capítulos –
"Todo lo mejor" para su libro Marty, acabo de buscar y encontré el significado de "métodos formales". – Alphaneo