<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivo para Programação Funcional - Bóson Treinamentos em Ciência e Tecnologia</title>
	<atom:link href="https://www.bosontreinamentos.com.br/tag/programacao-funcional/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bosontreinamentos.com.br/tag/programacao-funcional/</link>
	<description>Artigos e Tutoriais sobre Desenvolvimento de Software, Bancos de Dados SQL, Linux, Lógica de Programação, Inteligência Artificial, Hardware, Eletrônica, Arduino, Técnicas e Teorias de Estudo e Aprendizagem, Carreira em TI, Ciências Cognitivas, e muito mais!</description>
	<lastBuildDate>Thu, 20 Apr 2023 14:39:09 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>O que são Funções Lambda em Python ou Funções Anônimas</title>
		<link>https://www.bosontreinamentos.com.br/php-programming/o-que-sao-funcoes-lambda-em-python-ou-funcoes-anonimas/</link>
					<comments>https://www.bosontreinamentos.com.br/php-programming/o-que-sao-funcoes-lambda-em-python-ou-funcoes-anonimas/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 20 Apr 2023 14:39:09 +0000</pubDate>
				<category><![CDATA[Programação em PHP]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Programação Funcional]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=19218</guid>

					<description><![CDATA[<p>Funções lambda em Python (anônimas) As funções lambda em Python (ou expressões lambda) são funções anônimas, ou seja, são funções sem nome que podem ser criadas e usadas no mesmo momento. Essas funções são definidas com a palavra-chave lambda, seguida de um ou mais argumentos separados por vírgula, um sinal de dois pontos e uma expressão que define o comportamento da função. Essas funções são chamadas de lambda por conta de sua semelhança com uma ferramenta disponível na linguagem de programação LISP. Da mesma forma que a instrução def, a expressão lambda cria uma função e a retorna, sem atribuir um nome a ela &#8211; daí o nome função anônima (sem nome). Lambda é uma expressão única, e não uma instrução, e por isso pode ser empregada em locais no código onde uma instrução def não poderia ser utilizada, como como dentro de uma lista ou na chamada de uma função. Qual a utilidade das expressões lambda? As expressões lambda são úteis na forma de um &#8220;atalho&#8221; de função, permitindo inserir uma definição de função diretamente no código que faz uso dessa função. São expressões opcionais, mas podem simplificar determinados cenários de codificação, por exemplo quando precisamos apenas executar funções [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/php-programming/o-que-sao-funcoes-lambda-em-python-ou-funcoes-anonimas/">O que são Funções Lambda em Python ou Funções Anônimas</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Funções lambda em Python (anônimas)</h2>
<p>As <strong>funções lambda</strong> em Python (ou <em><strong>expressões lambda</strong></em>) são <em>funções anônimas</em>, ou seja, são funções sem nome que podem ser criadas e usadas no mesmo momento. Essas funções são definidas com a palavra-chave <em><strong>lambda</strong></em>, seguida de um ou mais argumentos separados por vírgula, um sinal de dois pontos e uma expressão que define o comportamento da função.</p>
<p>Essas funções são chamadas de lambda por conta de sua semelhança com uma ferramenta disponível na linguagem de programação LISP.</p>
<p>Da mesma forma que a instrução def, a expressão lambda cria uma função e a retorna, sem atribuir um nome a ela &#8211; daí o nome função anônima (sem nome).</p>
<p><strong>Lambda</strong> é uma expressão única, e não uma instrução, e por isso pode ser empregada em locais no código onde uma instrução def não poderia ser utilizada, como como dentro de uma lista ou na chamada de uma função.</p>
<h3>Qual a utilidade das expressões lambda?</h3>
<p>As expressões lambda são úteis na forma de um &#8220;atalho&#8221; de função, permitindo inserir uma definição de função diretamente no código que faz uso dessa função.</p>
<p>São expressões opcionais, mas podem simplificar determinados cenários de codificação, por exemplo quando precisamos apenas executar funções simples em trechos do código.</p>
<h3>Sintaxe de Expressões Lambda</h3>
<p>A sintaxe geral de uma função lambda é a seguinte:</p>
<pre><span style="color: #800080;"><strong>lambda argumentos: expressão</strong></span></pre>
<p>Por exemplo, para criar uma função lambda que calcula o quadrado de um número, podemos escrever:</p>
<pre><strong>quadrado = lambda x: x**2</strong></pre>
<p>Isso equivale a definir uma função comum da seguinte forma:</p>
<pre><strong>def quadrado(x):</strong>
<strong>    return x**2</strong></pre>
<p>As funções lambda são úteis em situações em que precisamos de uma função simples que seja usada apenas uma vez ou em que precisamos passar uma função como argumento para outra função.</p>
<p>Por exemplo, podemos usar uma função lambda para ordenar uma lista de dicionários pelo valor de uma determinada chave:</p>
<pre><strong>pessoas = [ {'nome': 'João', 'idade': 20}, {'nome': 'Maria', 'idade': 25}, {'nome': 'Pedro', 'idade': 18}]</strong>
<strong>pessoas_ordenadas = sorted(pessoas, key=lambda x: x['idade'])</strong>
<strong>print(pessoas_ordenadas)</strong></pre>
<p>Resultado:</p>
<pre><span style="color: #800000;"><strong>[{'nome': 'Pedro', 'idade': 18}, {'nome': 'João', 'idade': 20}, {'nome': 'Maria', 'idade': 25}]</strong></span></pre>
<p>Neste exemplo, a função lambda é usada como argumento da <a href="http://www.bosontreinamentos.com.br/programacao-em-python/17-python-dicionarios-parte-3-ordenacao-por-chaves-metodo-keys-e-funcao-sorted/">função sorted()</a> para definir que a lista de dicionários deve ser ordenada pelo valor da chave &#8216;idade&#8217;.</p>
<p>Outra aplicação comum das funções lambda é em conjunto com as funções <strong>map()</strong>, <strong>filter()</strong> e <strong>reduce()</strong>, que são funções de ordem superior que permitem aplicar uma função a cada elemento de uma sequência, filtrar elementos de uma sequência com base em uma condição ou reduzir uma sequência a um único valor.</p>
<p>Por exemplo, podemos usar uma função lambda combinada com a <a href="http://www.bosontreinamentos.com.br/programacao-em-python/como-usar-a-funcao-map-em-python/">função <strong>map()</strong></a> para calcular o cubo de cada número em uma lista:</p>
<pre><strong>numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]</strong>
<strong>cubos = list(map(lambda x: x**3, numeros))</strong>
<strong>print(cubos)</strong></pre>
<p>Resultado:</p>
<pre><span style="color: #800000;"><strong>[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]</strong></span></pre>
<p>Neste exemplo, a função lambda é aplicada a cada elemento da lista <em>numeros</em> e o resultado é uma nova lista com os cubos dos números.</p>
<p>Em resumo, as funções lambda são uma forma prática e concisa de definir funções anônimas em Python. Elas são úteis em situações em que precisamos de uma função simples que seja usada apenas uma vez ou em que precisamos passar uma função como argumento para outra função.</p>
<p>Além disso, as funções lambda podem ser usadas em conjunto com outras funções de ordem superior para manipular sequências de dados de forma eficiente.</p>
<h3>O que é uma função de ordem superior?</h3>
<p>Em Python, uma função de ordem superior (ou <em>high-order function</em>) é uma função que pode receber outras funções como argumento e/ou retornar funções como resultado.</p>
<p>Isso significa que as funções de ordem superior tratam as funções como objetos de primeira classe, permitindo que elas sejam manipuladas e usadas de forma flexível em combinação com outras funções.</p>
<p>Uma das principais vantagens das funções de ordem superior é a sua capacidade de tornar o código mais genérico e reutilizável. Ao receber funções como argumentos, uma função de ordem superior pode ser usada com diferentes funções de entrada para realizar diferentes tarefas, sem a necessidade de reescrever a mesma lógica várias vezes.</p>
<p>Um exemplo comum de função de ordem superior em Python é justamente a <a href="http://www.bosontreinamentos.com.br/programacao-em-python/como-usar-a-funcao-map-em-python/">função built-in <strong>map()</strong></a>. Como vimos, essa função recebe uma função e um iterável como argumentos e aplica a função a cada elemento do iterável, retornando um novo iterável com os resultados.</p>
<p>Outros exemplos de funções de ordem superior em Python incluem filter(), reduce(), sorted(), any(), all(), entre outras.</p>
<p>A <a href="http://www.bosontreinamentos.com.br/analise-de-sistemas/7-linguagens-de-programacao-funcional-para-aprender-em-2022/">programação funcional</a> é um paradigma que faz uso intensivo de funções de ordem superior. Nesse paradigma, as funções são tratadas como cidadãs de primeira classe, permitindo a criação de programas mais concisos, legíveis e flexíveis.</p>
<p>O Python também suporta a programação funcional, embora não seja uma linguagem funcional pura, permitindo que os desenvolvedores tirem proveito das funções de ordem superior para escrever código mais eficiente e elegante.</p>
<h3>E <em>objeto de primeira classe</em>? O que é isso?</h3>
<p>Em Python, <em>objetos de primeira classe</em> são aqueles que podem ser tratados como qualquer outra variável, ou seja, podem ser passados como argumentos para funções, retornados como resultados de funções e atribuídos a variáveis.</p>
<p>Isso significa que, em Python, as funções também são objetos de primeira classe, o que permite a criação de funções de ordem superior. Essas funções podem receber outras funções como argumentos ou retornar funções como resultado.</p>
<p>Por exemplo, uma função de ordem superior em Python pode receber uma função como argumento e aplicar essa função a um conjunto de dados. Outra possibilidade é que a função de ordem superior possa retornar uma função, que pode ser armazenada em uma variável e usada posteriormente.</p>
<p>Essa característica é uma das razões pelas quais Python é uma linguagem tão poderosa e flexível, permitindo uma grande variedade de abordagens para solucionar problemas de programação.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/php-programming/o-que-sao-funcoes-lambda-em-python-ou-funcoes-anonimas/">O que são Funções Lambda em Python ou Funções Anônimas</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/php-programming/o-que-sao-funcoes-lambda-em-python-ou-funcoes-anonimas/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>7 Linguagens de Programação Funcional para aprender em 2022</title>
		<link>https://www.bosontreinamentos.com.br/analise-de-sistemas/7-linguagens-de-programacao-funcional-para-aprender-em-2022/</link>
					<comments>https://www.bosontreinamentos.com.br/analise-de-sistemas/7-linguagens-de-programacao-funcional-para-aprender-em-2022/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Tue, 07 Jun 2022 14:37:00 +0000</pubDate>
				<category><![CDATA[Análise de Sistemas]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Programação Funcional]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=18208</guid>

					<description><![CDATA[<p>7 Linguagens de Programação Funcional para aprender em 2022 Aprender novas linguagens de programação é uma tarefa comum na carreira de um desenvolvedor de software. Comumente precisamos usar linguagens diferentes em novos projetos, e algumas áreas da tecnologia se beneficiam do emprego de linguagens específicas, que possuem recursos mais adaptados a determinadas tarefas, como Ciência de Dados, Computação em Nuvem, Automação de Tarefa e outras. Vamos falar neste artigo sobre uma categoria de linguagens muito especial- as linguagens de programação funcional, que são muito empregadas nas áreas supracitadas, entre outras. Mas antes, vamos entender oque é programação funcional. O que é Programação Funcional? Programação funcional é um paradigma na programação no qual podemos executar toda a codificação de uma aplicação usando apenas funções (matemáticas). Ao contrário de paradigmas como a programação orientada a objetos, na programação funcional nos preocupamos apenas com &#8220;o que é&#8221; em vez de &#8220;como&#8221; resolver um problema. Com a programação funcional, aprender novas ferramentas, paradigmas e perspectivas é um processo mais suave e simples e geralmente resulta em um código mais limpo e organizado. Assim, podemos dizer que linguagens de programação funcional oferecem uma forma &#8220;compacta&#8221; de programação. Alguns dos recursos oferecidos por essas linguagens incluem o [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/analise-de-sistemas/7-linguagens-de-programacao-funcional-para-aprender-em-2022/">7 Linguagens de Programação Funcional para aprender em 2022</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>7 Linguagens de Programação Funcional para aprender em 2022</h2>
<p>Aprender novas linguagens de programação é uma tarefa comum na carreira de um desenvolvedor de software. Comumente precisamos usar linguagens diferentes em novos projetos, e algumas áreas da tecnologia se beneficiam do emprego de linguagens específicas, que possuem recursos mais adaptados a determinadas tarefas, como Ciência de Dados, Computação em Nuvem, Automação de Tarefa e outras.</p>
<p>Vamos falar neste artigo sobre uma categoria de linguagens muito especial- as linguagens de programação funcional, que são muito empregadas nas áreas supracitadas, entre outras. Mas antes, vamos entender oque é programação funcional.</p>
<p><img decoding="async" class="aligncenter wp-image-18218 size-medium" title="O que é Linguagem de Programação Funcional" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2022/06/linguagem-programacao-funcional-420x416.png" alt="O que é Linguagem de Programação Funcional" width="420" height="416" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2022/06/linguagem-programacao-funcional-420x416.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/06/linguagem-programacao-funcional-768x760.png 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/06/linguagem-programacao-funcional-1024x1013.png 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2022/06/linguagem-programacao-funcional.png 1035w" sizes="(max-width: 420px) 100vw, 420px" /></p>
<h3>O que é Programação Funcional?</h3>
<p>Programação funcional é um paradigma na programação no qual podemos executar toda a codificação de uma aplicação usando apenas funções (matemáticas). Ao contrário de paradigmas como a <a href="http://www.bosontreinamentos.com.br/analise-de-sistemas/conceitos-gerais-de-programacao-orientada-a-objetos/">programação orientada a objetos</a>, na programação funcional nos preocupamos apenas com &#8220;o que é&#8221; em vez de &#8220;como&#8221; resolver um problema.</p>
<p>Com a programação funcional, aprender novas ferramentas, paradigmas e perspectivas é um processo mais suave e simples e geralmente resulta em um código mais limpo e organizado.</p>
<p>Assim, podemos dizer que linguagens de programação funcional oferecem uma forma &#8220;compacta&#8221; de programação. Alguns dos recursos oferecidos por essas linguagens incluem o reuso de código e as melhorias de eficiência resultantes, uma legibilidade comparativamente melhor e uma sintaxe bastante simples de depurar.</p>
<p>Além disso, a maioria das linguagens de programação funcionais se integram e trabalham muito bem em tarefas voltadas à ciência de dados.</p>
<p>Vamos às 7 linguagens de programação funcional recomendadas que podem ser úteis em sua carreira como programador, e que valem a pena aprender neste ano.</p>
<h3>7 Linguagens de Programação Funcional</h3>
<h4>1. Clojure</h4>
<p>Linguagem de programação de uso geral, compatível com Java Virtual Machine (JVM) e que evita duplicação durante chamadas ao <a href="http://www.bosontreinamentos.com.br/category/java/">Java</a>. É altamente acessível e interativa para um estilo de programação multithread. Apesar de ser uma linguagem compilada, oferece vários recursos importantes que são suportados em tempo de execução.</p>
<p>Site oficial: <a href="https://clojure.org/" target="_blank" rel="noopener">https://clojure.org/</a></p>
<h4>2. Elixir</h4>
<p>Uma linguagem de programação que suporta concorrência elevada e com baixa latência, é comumente empregada na construção de aplicativos escaláveis ​​e versáteis, com suporte adicional para baixa latência e tolerância a falhas.</p>
<p>Caso você precise projetar um aplicativo para atender a uma grande quantidade de solicitações, Elixir é uma linguagem altamente recomendada, por combinar os melhores recursos e características de linguagens como Clojure, Erlang e Ruby, oferecendo suporte a aplicações com threads múltiplas (multithread).</p>
<p>Site oficial: <a href="https://elixir-lang.org/" target="_blank" rel="noopener">https://elixir-lang.org/</a></p>
<h4>3. Haskell</h4>
<p>O Haskell é uma linguagem de programação funcional avançada, com uma sintaxe declarativa e que pode ser digitada estaticamente. Isso significa que se trata de uma linguagem do tipo de compilação, e essa linguagem fornece mensagens de erro quando a sintaxe está errada, auxiliando muito o processo de debugging do código.</p>
<p>No geral, é empregada na criação de programas de alto desempenho, pois é excelente no quesito otimização. A avaliação dos argumentos facilita a composição abrangente e um melhor controle dos construtos.</p>
<p>Site oficial: <a href="https://www.haskell.org/" target="_blank" rel="noopener">https://www.haskell.org/</a></p>
<h4>4. Scala</h4>
<p>A linguagem Scala combina recursos tanto de linguagens estáticas quanto de linguagens dinâmicas, sendo usada para criar pipelines de dados e projetos de Big Data. Possuindo um ecossistema gigante de bibliotecas, seus tipos estáticos ajudam a evitar bugs em aplicações complexas.</p>
<p>Muito compatível com Java e a JVM, fornece programação totalmente funcional com funções classificadas como objetos de primeira classe.</p>
<p>Site oficial: <a href="https://www.scala-lang.org/" target="_blank" rel="noopener">https://www.scala-lang.org/</a></p>
<h4>5. Elm</h4>
<p>A linguagem Elm, não tão conhecida quanto as outras nessa lista, é mais adequada para a criação de aplicativos Web e também apps <a href="http://www.bosontreinamentos.com.br/category/html/">HTML</a>, e possui características interessantes como refatoração bastante simplificada, pois ela possui um compilador muito inteligente.</p>
<p>Alimentados por uma estrutura bem arquitetada, os aplicativos em Elm são renderizados muito rapidamente.</p>
<p>A linguagem possui alta interoperabilidade com <a href="http://www.bosontreinamentos.com.br/category/programacao-em-javascript/">JavaScript</a> e permite leitura fácil de seu código, podendo ser aplicada a diferentes projetos sem a necessidade de refazer o padrão que o código possuía anteriormente.</p>
<p>Site oficial: <a href="https://elm-lang.org/" target="_blank" rel="noopener">https://elm-lang.org/</a></p>
<h4>6. F#</h4>
<p>O F# (&#8220;<em>F sharp</em>&#8220;) é uma linguagem de programação de código aberto e multiplataforma, usada principalmente para escrever código robusto. Trata-se de uma versão funcional da <a href="http://www.bosontreinamentos.com.br/category/csharp/">linguagem C#</a> (da Microsoft) e possui uma sintaxe fácil de entender. Possui suporte a correspondência de padrões e programação assíncrona com um conjunto diversificado de tipos de dados.</p>
<p>O F# pode realizar transformação de dados com a ajuda de funções porque segue um paradigma de programação funcional orientado a dados.</p>
<p>Site oficial: <a href="https://fsharp.org/" target="_blank" rel="noopener">https://fsharp.org/</a></p>
<h4>7. Erlang</h4>
<p>O Erlang é uma linguagem de programação orientada a processos que emprega usa processos leves. A beleza desta linguagem está em sua capacidade de criar funções que se comunicam entre si.<br />
É considerada a melhor linguagem de programação para aplicações baseadas em mensagens, como por exemplo aplicativos de bate-papo (chat apps), filas de mensagens e aplicativos da blockchain.</p>
<p>Os programas escritos em Erlang acabam sendo altamente responsivos devido ao gerenciamento automatizado de armazenamento e coleta de lixo (garbage collection) da linguagem implementados por processo.</p>
<p>Site oficial: <a href="https://www.erlang.org/" target="_blank" rel="noopener">https://www.erlang.org/</a></p>
<h3>Referências</h3>
<p>Adaptado de <a href="https://www.analyticsinsight.net/top-10-functional-programming-languages-to-know-in-2022/" target="_blank" rel="noopener">https://www.analyticsinsight.net/top-10-functional-programming-languages-to-know-in-2022/</a></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/analise-de-sistemas/7-linguagens-de-programacao-funcional-para-aprender-em-2022/">7 Linguagens de Programação Funcional para aprender em 2022</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/analise-de-sistemas/7-linguagens-de-programacao-funcional-para-aprender-em-2022/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
