Blog centrado en la asignatura de Lenguajes de Programación impartida en la ESEI de la Universidad de Vigo. Grupo 21 Compuesto por: jCoast y Tron Alga

Thursday, January 11, 2007

Diferencias

  • Pascal incorpora tanto funciones como procedimientos especificándolos mediante palabras reservadas mientras que en Java solo se utiliza el void para los procedimientos.

  • En pascal los parametros se pueden pasar por valor o referencia mientras que en Java los tipos primitivos siempre se pasan por valor y los objetos siempre por referencia.

  • En Java no se permiten parámetros formales con valores por defecto mientras que en pascal si.

  • Pascal solo proporciona abstracción de procesos mientras que java proporciona abstracción de procesos y abstracción de datos.

Similitudes

  • Los dos utilizan paso de parámetros posicional.

  • Los parámetros han de coincidir en número y tipo.

  • Los dos soportan la sobrecarga.

Wednesday, January 10, 2007

La abstracción funcional en java

El lenguaje Java nos proporciona abstracción de procesos y abstracción de datos. El paso de parámetros es posicional, es decir, la vinculación que existe entre parámetros actuales y formales se realiza por posición. También nos obliga a que coincidan el número, tipo y orden de parámetros actuales y formales. Además no nos permite usar parámetros formales con valores por defecto. Java sólo proporciona funciones (llamadas métodos) aunque estas pueden comportarse como procedimientos, si se indica que no devuelven valor alguno mediante el tipo "void".

El paso de parámetros se realiza en modo de entrada. Los tipos primitivos siempre se pasan por valor y los objetos siempre por referencia. Al contrario que en otros lenguajes, no se puede pasar un método a un método Java. Pero si se podría pasar un objeto a un método y luego llamar a los métodos de ese objeto.

Java soporta la sobrecarga, es decir, permite definir métodos con el mismo nombre siempre que difieran en los argumentos de entrada.

Por ultimo destacar que Java permite subprogramas polimórficos o genéricos a través de su JGL ("Java Generic Library").