Estaba estudiando el libro Estructura e interpretación de programas informáticos y en la sección 1.1.5 Modelo de sustitución para la aplicación de procedimientos, el autor explica los conceptos de orden normal y orden de aplicación , que creo que he entendido bien.
Ahora, estoy tomando un curso sobre Coursera llamado Principios de programación de funciones en Scala y allí el profesor Martin Odersky (quien basó gran parte de su curso en el libro citado anteriormente) explica los mismos conceptos bajo los nombres de llamada por nombre y llamada- por valor .
En su curso, el profesor Odersky dice que el modelo de sustitución se basa en el cálculo de Lambda, por lo que consulté un libro en mi biblioteca Una introducción a la programación funcional Aunque el cálculo de Lambda y en la página 22, el autor define los términos como orden aplicativo y orden normal . Curiosamente, en su definición, dice que el orden aplicativo es como la llamada por valor de Pascal, mientras que el orden normal es como la llamada por nombre de Algol.
El uso de las palabras "es como" en su explicación es lo que me hizo dudar. Así mis preguntas:
- ¿Son equivalentes estos dos términos o hay diferencias sutiles?
- ¿Puedo usar uno u otro indistintamente sin arriesgarme a cometer un error en el significado que transmiten?
- ¿Hay alguna razón que conozca que justifique la existencia de una terminología diferente para referirse a la misma cosa?