LPR grupo 25

Thursday, January 11, 2007

DIFERENCIAS Y SIMILITUDES

DIFERENCIAS:


  • Java sólo puede usar los parámetros formales por referencia.

  • En Java toda función es dependiente de una clase, está codificada en una clase, no se permiten funciones globales y datos globales como en Pascal.

  • La colisión de nombres en Java no existe si las funciones pertenecen a paquetes diferentes.

  • Java sólo dispone de funciones. No dispone de Procedimientos.

  • En Java todos los datos son de E/S. En Pascal existen de Salida, de Entrada y de Entrada/Salida.

  • Pascal no puede devolver datos complejos como arrays en las funciones. Para ello necesita un Procedimiento (Procedure). Java por el contrario sí que tiene esta posibilidad implementada.

  • En Java, para que dos funciones estén sobrecargadas, tienen que diferir en el tipo devuelto y en algo más (ya sea número de parámetros, orden de los mismos o su tipo). En pascal es suficiente con el tipo devuelto.

  • En Java no es necesario declarar la cabecera de un método porque la comprobación de tipos se hace en tiempo de ejecución.

  • Java no permite pasar métodos como argumentos de otros métodos. Pascal por el contrario sí, siempre que el resultado de la función sea del mismo tipo que el argumento introducido.

  • El orden de las funciones al ser llamadas por otro módulo en Java es irrelevante. Debido a esto podremos llamar a una función que no esté definida aún (definida a posteriori). En Pascal esto no se permite porque toda función llamada tiene que estar implementada antes.

  • Java posee polimorfismo dinámico y estático y herencia en el lenguaje debido a su orientación a objetos. Esta es la razón por la que muchas implementaciones resultan más fáciles y se utiliza menos código. Pascal solo permite la sobrecarga de funciones

  • La comprobación de tipos, en los métodos de java se realiza en tiempo de ejecución mientras que en pascal se hace en tiempo de compilación.


SIMILITUDES:


  • Tanto en Java como en Pascal, se pueden sobrecargar funciones.

  • Dos o más funciones se pueden declarar con el mismo nombre si se distinguen en el número de parámetros o tipo.

  • Los dos lenguajes usan la abstracción funcional, aunque con diferentes matices, ya que los módulos o acciones reciben los parámetros de diferente manera y están codificados en diferentes lugares del código.

  • La sobrecarga del operador suma se realiza de igual manera en Pascal y Java.

  • Tanto Java como Pascal permiten el paso de parámetros en las funciones.

0 Comments:

Post a Comment

<< Home