Sei sulla pagina 1di 4

COMPARACIN LENGUAJE FUNCIONAL E IMPERATIVO

ANDREA MARCELA ORTIZ SAMBONI JORGE ADRIAN MUOZ VELASCO EDWARD ALEXIS MOLINA RIVERA

Presentado en la materia de Estructuras de Lenguajes.

UNIVERSIDAD DEL CAUCA FACULTAD DE INGENIERA ELECTRNICA Y DE TELECOMUNICACIONES DEPARTAMENTO DE SISTEMAS POPAYN 2013

COMPARACIN LENGUAJE FUNCIONAL E IMPERATIVO

Teniendo en cuenta el aspecto de la sintaxis, el lenguaje funcional es mucho ms simple que el lenguaje imperativo, esto trae como consecuencia que tenga mayor facilidad de aprendizaje para el usuario. Por otro lado, teniendo en cuenta la semntica, el lenguaje funcional a su vez tambin es ms sencillo debido a la diferencia de constructos que se deben entender en cada uno de los lenguajes. Una diferencia clave es la forma de resolver un problema. En el lenguaje imperativo se tiende a utilizar procesos iterativos, en cambio en el lenguaje funcional las operaciones y los recorridos se manejan por medio de la recursin. Esto puede ser una desventaja para la persona que siempre ha manejado un estilo iterativo, sin embargo la diferencia en el tamao del programa seria considerable. Por esta razn, el lenguaje funcional lleva la delantera en cuanto a lneas de cdigo y tamao de un programa se refiere. Sin embargo, el tamao del cdigo no determina la productividad de un programa. Basndose en la eficiencia de ejecucin, el tiempo de interpretacin de un lenguaje funcional es mayor que el tiempo de compilacin de un imperativo. Sin embargo, existen compiladores para lenguajes funcionales que hacen que la diferencia de tiempo no sea tan grande. Ahora bien, teniendo en cuenta la eficiencia relativa se puede afirmar que un programa promedio en lenguaje funcional consume el doble de tiempo que su contraparte imperativa, sin embargo este factor solo se tiene en cuenta cuando sea de vital importancia la velocidad de ejecucin. Un factor influyente en la eficacia de ejecucin es el hecho de que los lenguajes imperativos fueron diseados para que se ejecutaran eficientemente sobre la arquitectura Von Neumann, mientras que los lenguajes funcionales se basan en funciones matemticas. Los programas en lenguaje funcional se dividen en funciones, como consecuencia a esto, no se dan efectos secundarios ya que no existen variables globales, las cuales podran afectar algo en todo el programa como ocurre en los lenguajes imperativos. En otras palabras, las variables en un lenguaje imperativo pueden ir cambiando durante todo el programa haciendo que el mismo tenga un seguimiento ms complicado para el programador; por el contrario los lenguajes funcionales no tienen ese problema debido a que no tienen estado.

ELECCIN DE UN LENGUAJE DE PROGRAMACIN

En el texto puede verse el esfuerzo que hace el autor del libro para hacerle ver al lector que los lenguajes de programacin funcionales son mejores que los imperativos, argumentando entre otras las siguientes razones: La sintaxis de los lenguajes imperativos es mucho ms compleja que la de los lenguajes funcionales, lo que los hace ms difciles de aprender y usar. Los lenguajes imperativos requieren el aprendizaje de manejo de variables (tipos de dato, operaciones de cada tipo, tamao mximo de cada tipo), lo que no se hace en algunos lenguajes funcionales. En los lenguajes funcionales las funciones son independientes, es decir, no crean efectos colaterales ni sus operaciones dependen de variables externas; lo que no pasa con la mayora de las programadas en lenguajes imperativos. No se le debi haber hecho publicidad a los lenguajes funcionales argumentando razones parecidas a las anteriores, y si se iba a hacer, no debi tomar el desarrollo central de la temtica. Hubiese sido ms provechoso para el lector si el autor del libro mencionara su punto de vista personal pero dedicara ms contenido a exponer las diferencias entre los dos paradigmas en cuanto a la aplicacin real y particular de cada uno; pues esto en ltimas es lo que determina la eleccin de un lenguaje de programacin. Al momento de realizar una implementacin software cualquiera se escoger un lenguaje de programacin que facilite la creacin del mismo y que provea los mecanismos necesarios para la solucin del problema, sabiendo que unos lenguajes pueden ser ms aptos que otros para algunos propsitos. As como algunos de los lenguajes dominantes en el rea de la IA son funcionales, los imperativos son dominantes en el rea del desarrollo de videojuegos, por ejemplo. Ms que el proclamar un paradigma de programacin como mejor que otro, es el mostrar en qu tipos de aplicacin pueden dar mejor resultado. En conclusin, la eleccin de un lenguaje de programacin es relativa al mbito del problema a solucionar por lo que se hace necesario conocer cules son las reas fuerte en que se especializan o que trabajan eficientemente los paradigmas de programacin, y ms concretamente, los lenguajes de programacin.

BIBLIOGRAFA.

SEBESTA, Robert W. Concepts of Programming Languages (Tenth Edition), Editorial Pearson. Pgs. 717 719.

Potrebbero piacerti anche