Programação funcional ou orientada a objetos? Qual é melhor? Quando usar cada paradigma? O que equipes de desenvolvimento de software e projetistas devem evitar ao máximo ao projetar e desenvolver software? Vamos de 🧵e de conhecimento. 1/n #programação #dev
Um pouco sobre programação funcional: A programação funcional (também chamada de FP) é uma forma de pensar sobre a construção de software criando funções puras. Isso evita conceitos de estado compartilhado e dados mutáveis ​​observados na Programação Orientada a Objetos. 2/n
Linguagens funcionais enfatizam expressões e declarações ao invés da execução de sentenças. Portanto, ao contrário de outros procedimentos que dependem de um estado local ou global, a saída de valor em FP depende apenas dos argumentos passados ​​para a função. 3/n
Do ponto de vista de manutenção, lógico e estrutural, a programação funcional se destaca quando não há histórias para lidar. Funciona particularmente bem quando não há limites necessários ou quando esses limites já estão predefinidos.4/n
A programação funcional vai bem em situações em que o estado não é um fator e há muito pouco ou nenhum envolvimento com dados mutáveis.
Recentemente, a programação funcional ganhou popularidade por meio do React. 5/n
A biblioteca funciona bem sob o paradigma de programação funcional porque fornece um ambiente onde não é necessário rastrear manualmente os estados. 6/n
Um pouco sobre orientação a objetos: Uma das principais vantagens de OO é a capacidade de encapsular dados. Encapsulamento é a capacidade de ocultar variáveis ​​dentro da classe não permitindo acesso externo.7/n
O que é ótimo por motivos de segurança, junto com uso com vazamento, indesejado ou acidental. É mais interessante e desejável usar esse paradigma no backend. Ajuda a gerenciar ideias em módulos e de certa forma, OOP é como uma cerca em torno de métodos e módulos. 8/n
OOP força a modularidade dividindo o código em um tamanho mentalmente digerível e oferece a capacidade de lidar com estados. Os métodos tornam-se pontos de acesso ao estado e processam a instância do objeto conforme necessário. 9/n
PF e OOP são paradigmas e métodos de codificação válidos. No entanto, cada uma irá desempenhar e trabalhar melhor para um projeto com base no ambiente e nos requisitos - mas nenhuma das soluções funciona melhor em todas as situações. 10/n
A PF vai bem quando a complexidade é contida. Ela vai bem no frontend porque o backends costumam fornecer objetos para que os frontends processem. O cliente não se preocupa em manter os estados do objeto. Já foi fornecido a eles, provavelmente na forma de um objeto JSON. 11/n
O pensamento OO funciona bem no backend porque, na maioria das vezes, você precisa construir algo para dar à um próximo nível desenvolvimento. Ele precisa ser embalado antes de ser lançado para outras camadas do sistema. 12/n
Ambos os paradigmas têm seus próprios problemas que os desenvolvedores enfrentam. A programação funcional tem código espaguete por meio de muitas injeções de dependência e OOP tem código lasanha por meio de muitas camadas. 13/n
A pergunta que você deve fazer não é qual é melhor do q o outro, mas sim qual paradigma resolverá seu problema específico com mais eficiência. O tamanho e o tipo de problema são definidos por você, o desenvolvedor, e não por meio de métodos funcionais ou orientados a objetos.14/n
Os paradigmas de programação existem para resolver seus problemas e não o contrário.
O que você mais quer evitar quando está criando um software que vai evoluir ao longo do tempo?
A resposta é: Complexidade. 15/n
Fred Brooks já disse no seu artigo: Sem bala de prata - essência e acidente em engenharia de software.
Nesse artigo ele fala das complexidades essenciais e acidentais em projetos de software. 16/n
A complexidade de todos os tipos é o que temos que evitar ao máximo em projetos de software e nunca existiu e talvez nunca irá existir uma bala de prata na computação. 17/n
Não importa qual linguagem você usa ou quais paradigmas você impõe, todos os sistemas eventualmente desmoronam quando ele entra em colapso sob sua própria complexidade. 18/18

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Adriano Santos

Adriano Santos Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @adrianolcp

28 Sep
Bora trazer assunto bom para esse Twitter e menos tretas? Você tá querendo fazer projetos pessoais ou até mesmo o seu TCC e está sem ideias? Bora falar sobre algumas ideias na Computação para projetos interessantes? Eu acredito na computação como auxílio para outras áreas. 🧵
1 - Vou começar por machine learning e áreas correlatas como análise de sentimentos e etc. São áreas em franca expansão e com a grande quantidade de dados livres e disponíveis na internet é possível fazer bons projetos analisando esses dados.
2 - Redes definidas por software (Software Defined Networks). É um assunto que está no topo de pesquisas em relação a internet das coisas e há muito espaço para fazer trabalhos nesse tópico.
Read 7 tweets
27 Sep
Gente... Não estressa com isso de web 3.0. O Twitter é atrasado para tudo. Esse termo já existe na academia há um bom tempo e diz respeito a web em que a IA vai desempenhar um papel tão grande quanto os usuários no papel de análise de dados. Como hoje temos muitos dados o humano+
Vai interagir com IA e outros algoritmos para análise de dadosm outro ponto sobre web 3.0 é a questão da iot ou ubiquidade que diz respeito a web em todos os dispositivos e que coletam dados. Smarthouses, smartphones, etc+
Por fim os os DApps - apps descentralizados que permitem criar novas aplicações em um novo modelo de segurança e arquitetura de transações na blockchain. É só isso. É simples. Não caiam no papo do povo que quer complicar.
Read 5 tweets
16 Jul
1 - Você sabe como as linguagens de programação são formadas? E como elas são compiladas e as etapas de do processo de compilação?

Segue o 🧵
2- Uma linguagem de programação é formada por um alfabeto que é o conjunto de todos os caracteres que podem ser aceitos naquela linguagem. Inclui letras, números e caracteres especiais. Quando você faz um programa na linguagem C por exemplo, você está escrevendo uma palavra +
3- da linguagem C. O número de palavras(programas) que eu posso gerar na linguagem C é infinito. Então linguagem de programação é o conjunto de programas que podem ser gerados por aquela linguagem. +
Read 15 tweets
8 Jul
--Parte 2--
Thread sobre a carreira de professor, benefícios, plano de carreira, vantagens e desvantagens da profissão. (Essa é a parte final, ufa!). Espero que a leitura pelo twitter seja possível. Depois vou compilar em um blog. Segue o 🧵. 1/23
Nas universidades privadas de nome como PUC, FGV e outras universidades católicas e outras universidades de renome o salário do professor + benefícios é compatível com o plano de carreira das universidades públicas. 2/23
Os salários e benefícios são muito parecidos, isso se não for maior.
Entrentanto é bom ressaltar que existe pouca rotatividade nas universidades particulares. Isso porque o ambiente de trabalho acadêmico é bem mais tranquilo que outros ramos de atuação. 3/23
Read 23 tweets
8 Jul
Você ama ensinar algo na área de computação? E também ama aprender? Se sente realizado quando ensina programação para alguém? Então você pode ter uma carreira de professor na área de computação. Parte 1 (porque ficou grande essa thread).
Segue o🧵 1/17
Creio que antes de entrar em detalhes de quais passos seguir para se tornar um professor universitário é interessante conhecer os benefícios da carreira. Primeiro vamos falar da carreira no Brasil. 2/17
Tanto nas universidades públicas quanto as universidades privadas há bons salários (Compatíveis com o mercado). 3/17
Read 18 tweets
8 Jul
Eu entendo a mente dos devs de sp e sul do país em relação a desprezarem o ensino superior. Ora, uma vez que moram em regiões historicamente favorecidas. Esses devs antes da pandemia conseguiam empregos fácil sem faculdade, pq moravam em regiões com muito emprego e poucos +
Profissionais. Então fica fácil ganhar oportunidades.

O dev paulista e paulistano aqui no twitter não representa o Brasil. O Twitter tem 15 no máximo 20 mil profissionais de TI, entre devs e estagiários, gerentes, etc. Isso não é a quantidade de profissionais do Brasil +
São Paulo e o sul tem realidade muito melhores que o Brasil. Os IDHs são muito diferentes. Só a capital de SP tem metade da população de MG inteira.

Em cidades pequenas e capitais menores a universidade é a chance que uma pessoa tem de chegar na empresa para estágio e evoluir.+
Read 4 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(