Programación funcional

Na Galipedia, a Wikipedia en galego.

A Programación funcional é un paradigma de programación declarativa baseado na utilización de funcións matemáticas.

Historia[editar | editar a fonte]

As súas orixes remóntanse ao cálculo lambda (ou \lambda-cálculo), unha teoría matemática elaborada por Alonzo Church como apoio aos seus estudos sobre computabilidade. Un linguaxe funcional é, a grandes liñas, un sintax sugar do Cálculo Lambda.

Utilidade[editar | editar a fonte]

O obxectivo é conseguir linguaxes expresivas e matematicamente elegantes, nos que non sexa necesario baixar ao nivel da máquina para describir o proceso levado a cabo polo programa, e evitando o concepto de estado do cómputo. A secuencia de computaciones levadas a cabo polo programa rexeríase única e exclusivamente pola reescritura de definicións máis amplas a outras cada vez máis concretas e definidas, usando o que se denominan "definicións dirixidas".

Características[editar | editar a fonte]

Os programas escritos nunha linguaxe funcional están constituídos unicamente por definicións de funcións, entendendo estas non como subprogramas clásicos dunha linguaxe imperativa, senón como funcións puramente matemáticas, nas que se verifican certas propiedades como a transparencia referencial (o significado dunha expresión depende unicamente do significado dos seus subexpresiones), e xa que logo, a carencia total de efectos laterais.

Outras características propias destas linguaxes son a non existencia de asignacións de variables e a falta de construcións estruturadas como a secuencia ou a iteración (o que obriga na práctica a que todas as repeticións de instrucións leven a cabo por medio de funcións recursivas).

Existen dúas grandes categorías de linguaxes funcionais: os funcionais puros e os híbridos. A diferenza entre ambos estriba en que as linguaxes funcionais híbridos son menos dogmáticos que os puros, ao admitir conceptos tomados dos linguaxes imperativas, como as secuencias de instrucións ou a asignación de variables. En contraste, as linguaxes funcionais puros teñen unha maior potencia expresiva, conservando á vez a súa transparencia referencial, algo que non se cumpre sempre cunha linguaxe funcional híbrido.

Entre as linguaxes funcionais puros, cabe destacar a Haskell e Miranda. As linguaxes funcionais híbridos máis coñecidos son Scala, Lisp, Scheme, Ocaml e Standard ML (estes dous últimos, descendentes da linguaxe ML).

Véxase tamén[editar | editar a fonte]

Outros artigos[editar | editar a fonte]