
De fato, FH, nao e' um conceito trivial de entender. A estoria toda gira em torno do fato de que "nosso metodo usual de programacao" depende basicamente em mudar dados de alguma forma... Por exemplo, no exemplo que dei, o primeiro caso sempre muda o acumulador 'produto'. Em funcional, os dados sao vistos como algo imutavel e, dai', loops como o for() que usei inicialmente sao substituidos por recursoes de *funcoes* (dai' o termo funcional - a unidade basica na programacao sao as funcoes e nao os dados). Eu estou bem desatualizado nisso, talvez o Pedro possa ser mais preciso nas definicoes. Mas acho que (pelo menos a maioria de) linguagens puramente funcionais tenham natureza de linguagens interpretadas, mas podem ser sempre compiladas em algum nivel (por exemplo, via byte-compilers). b 2012/2/26 FHRB Toledo <fernandohtoledo@gmail.com>:
Benilton,
Entendi em partes sua argumentação... !
Li seu código, mas também não testei.
Minha pergunta veio apenas no gancho da explicação do Pedro sobre as linguagens funcionais, não entendo o suficiente de programação, sou apenas curioso, vi no texto dele falando de linguagens como lisp que me classificaram como "interpretada", por isso, por "reflexo" perguntei se linguagem funcional era sinônimo de linguagem interpretada, talvés tenha sido mal interpretado!
OBS: ainda continuo com a dúvida e "um pouco" a deriva com sua explicação.
abraço, FH
2012/2/25 Benilton Carvalho <beniltoncarvalho@gmail.com>:
FH, a maioria de programas tem dados como argumento. Prof funcionais tem funções como argumentos. Por exemplo, em R:
factorial = funtion(x){ stopifnot(x>=0) produto=1 for (i in1:x) produto = i* produto produto }
Vs
f2 = funtion(x){ stopifnot(x>=0) If(x<=1){ 1 }else{ x*f2(x-1) } }
Resumindo, se em r vc pode fazer ambos, tem mesmo pq se preocupar?
b
Ps: códigos não testados
On Sunday, 26 February 2012, FHRB Toledo wrote:
Pedro,
Aproveitando o gancho da explicação:
Seria por acaso linguegem funcional sinônimo de linguegem interpretada?
att, FH
2012/2/25 Pedro Rafael <pedro.rafael.marinho@gmail.com>:
"Em ciência da computação, programação funcional é um paradigma de programação que trata a computação como uma avaliação de funções matemáticas e que evita estados ou dados mutáveis. Ela enfatiza a aplicação de funções, em contraste da programação imperativa, que enfatiza mudanças no estado do programa.
Uma função, neste sentido, pode ter ou não ter parâmetros e um simples valor de retorno. Os parâmetros são os valores de entrada da função, e o valor de retorno é o resultado da função. A definição de uma função descreve como a função será avaliada em termos de outras funções. Por exemplo, a função f(x) = x2 + 2 é definida em termos de funções de exponenciação e adição. Do mesmo modo, a linguagem deve oferecer funções básicas que não requerem definições adicionais.
Linguagens de programação funcionais, especialmente as puramente funcionais, tem sido mais usadas academicamente que no desenvolvimento comercial de software. Entretanto, algumas linguagens notáveis usadas na indústria e no comércio incluem Erlang (aplicações concorrentes)[2], R (estatística), Mathematica (matemática simbólica)[3] J, K (análise financeira) e XSLT.[4][5]Importantes influências na programação funcional foram o cálculo lambda, as linguagens de programação APL e Lisp, e mais recentemente ML, Haskell, OCaml e F#."
Um bom link sobre a linguagem funcional que mais me chama a atenção (Haskell): http://haskell.tailorfontela.com.br/chapters
Em 25 de fevereiro de 2012 20:03, Gilbert Queiroz [via R-br] <ml-node+s2285057n4421229h76@n4.nabble.com> escreveu:
linguagem de programação funcional? O q é isso?????
________________________________ De: Pedro Rafael <[hidden email]> Para: [hidden email] Enviadas: Sábado, 25 de Fevereiro de 2012 20:20 Assunto: [R-br] [Dúvida] Uso de linguagem funcional para estatística.
Alguem aqui domina alguma linguagem de programação funcional? Existe alguma vantagem de quem é da estatística ou matemática também aprender profundamente alguma linguagem funcional como é o caso de Haskell? Atualmente tudo que preciso consigo em R e C mas ultimamente venho lendo sobre linguagem funcional e cálculo lambda e me parece bem interessante para quem trabalha matemática....
-- Saudações, Pedro Rafael Diniz Marinho. Estatístico - Secretaria de Estado da Saúde - PB.
_______________________________________________ R-br mailing list [hidden email] https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________ R-br mailing list [hidden email] https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
________________________________ If you reply to this email, your message will be added to the discussion below:
http://r-br.2285057.n4.nabble.com/R-br-Duvida-Uso-de-linguagem-funcional-par... To unsubscribe from R-br, click here. NAML
-- Saudações, Pedro Rafael Diniz Marinho. Estatístico - Secretaria de Estado da Saúde - PB. _______________________________________________ R-br mailing list
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.