<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Felipe Bs</title>
    <description>The latest articles on DEV Community by Felipe Bs (@7felipebs).</description>
    <link>https://dev.to/7felipebs</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1503058%2Fae5bc732-bc2e-4394-8686-8a8df874ab3c.jpeg</url>
      <title>DEV Community: Felipe Bs</title>
      <link>https://dev.to/7felipebs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/7felipebs"/>
    <language>en</language>
    <item>
      <title>Programação Orientada a Objetos e Programação Funcional</title>
      <dc:creator>Felipe Bs</dc:creator>
      <pubDate>Tue, 21 May 2024 02:17:06 +0000</pubDate>
      <link>https://dev.to/7felipebs/programacao-orientada-a-objetos-e-programacao-funcional-28b2</link>
      <guid>https://dev.to/7felipebs/programacao-orientada-a-objetos-e-programacao-funcional-28b2</guid>
      <description>&lt;p&gt;Todo estudante de lógica de programação e estruturas de dados inevitavelmente se depara com a dúvida: o que são paradigmas?&lt;/p&gt;

&lt;p&gt;Paradigmas são modelos ou estilos de programação que definem como uma linguagem estrutura e executa código. Não existe um paradigma "melhor" que o outro; a escolha depende do problema que você está tentando resolver e da linguagem que está utilizando.&lt;/p&gt;

&lt;h2&gt;
  
  
  Programação Orientada a Objetos
&lt;/h2&gt;

&lt;p&gt;Java, por exemplo, é uma linguagem que segue o paradigma de Programação Orientada a Objetos. Em POO, a ênfase está em como as coisas são feitas, com foco em objetos, classes, herança, polimorfismo, abstração e encapsulamento no qual chamamos de imperativo.&lt;/p&gt;

&lt;p&gt;Exemplo disso em Java é assim:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public class Animal {
    private String nome;

    public Animal(String nome) {
       this.nome = nome;
    }

    public String getNome() {
        return this.nome;
    }
}
public static void main(String[] args) {
     Animal animal = new Animal("Leão");
     System.out.println("O nome do animal é: " + animal.getNome());
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Neste exemplo, criamos um objeto Animal com um atributo nome. O método main instância um Animal e imprime seu nome.&lt;/p&gt;

&lt;h2&gt;
  
  
  Programação Funcional
&lt;/h2&gt;

&lt;p&gt;JavaScript é frequentemente usado no paradigma de Programação Funcional, onde a ênfase está no que deve ser feito,utilizando funções como cidadãos de primeira classe e evitando mutações de estado no que chamamos de Funcional.&lt;/p&gt;

&lt;p&gt;Exemplo disso em Javascript é assim:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function procurarAnimal(animais) {
    return animais.filter(x =&amp;gt; x === "Leão");
}

let animais = ["Leão", "Pato", "Gato"];

console.log(procurarAnimal(animais));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Diferença entre Programação Orientada a Objetos e Funcional
&lt;/h2&gt;

&lt;p&gt;A principal diferença entre POO e PF não é apenas a tipagem, mas também como cada paradigma estrutura a lógica do programa. POO se concentra em objetos e suas interações, enquanto PF enfatiza funções e transformações de dados.&lt;br&gt;
POO utiliza conceitos como herança, polimorfismo, abstração e encapsulamento para organizar o código. Já o PF valoriza funções puras, imutabilidade e composição de funções.&lt;/p&gt;

&lt;p&gt;Dito tudo isso, eu quero apenas que você iniciante entenda que independente de tudo, a linguagem ela é uma ferramenta feita para ti servir e entender como ela funciona vai facilitar muito sua evolução como programador.&lt;/p&gt;

&lt;p&gt;Para mais informações sobre paradigmas de programação, recomendo o canal do Código Fonte TV, que oferece uma visão clara e direta sobre o assunto ou procurar em sites como StackOverFlow que as pessoas abordam e trazem discussões sobre esses tópicos que citei e suas particularidades.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Simplificando O Sistema Binário</title>
      <dc:creator>Felipe Bs</dc:creator>
      <pubDate>Tue, 21 May 2024 02:01:54 +0000</pubDate>
      <link>https://dev.to/7felipebs/simplificando-o-sistema-binario-3144</link>
      <guid>https://dev.to/7felipebs/simplificando-o-sistema-binario-3144</guid>
      <description>&lt;p&gt;Olá a todos, todos já ouvimos falar sobre números binários, e quero trazer uma luz sobre isso, mas antes de entrarmos no que é o número binário, vou trazer explicações para facilitar o entendimento de como utilizamos os números binários e o que eles são.&lt;/p&gt;

&lt;h2&gt;
  
  
  Origem dos Números Binários
&lt;/h2&gt;

&lt;p&gt;Os números binários foram formalizados pelo filósofo alemão Gottfried Wilhelm Leibniz, que buscava uma forma mais simplificada de representar conceitos matemáticos. Embora o sistema binário tenha sido formalizado no século XVIII pelo Leibniz, foi apenas no século XX que ele evoluiu significativamente. O cientista Claude Shannon, em sua tese de mestrado de 1937, demonstrou como a lógica booleana poderia ser aplicada a circuitos elétricos e lógicos, usando o sistema binário para representar estados de "ligado" (1) e "desligado" (0).&lt;/p&gt;

&lt;h2&gt;
  
  
  Notação Unária
&lt;/h2&gt;

&lt;p&gt;Para explicar como isso funciona, vamos falar sobre uma notação chamada Notação Unária. Ela tem um conceito diferente do binário, mas ajuda a entender a representação numérica. A notação Unária usa apenas um operador, que é 1.&lt;br&gt;
Exemplo de notação unária:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1 (Notação Unária) = 1 (decimal)&lt;/li&gt;
&lt;li&gt;11 (Notação Unária) = 2 (decimal)&lt;/li&gt;
&lt;li&gt;111 (Notação Unária) = 3 (decimal)&lt;/li&gt;
&lt;li&gt;1111 (Notação Unária) = 4 (decimal)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Notação Binária
&lt;/h2&gt;

&lt;p&gt;Agora, entendendo como a notação Unária representa números decimais, vamos ver como fazemos isso com números binários.&lt;br&gt;
Exemplos de números binários:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1 (binário) = 1 (decimal)&lt;/li&gt;
&lt;li&gt;10 (binário) = 2 (decimal)&lt;/li&gt;
&lt;li&gt;11 (binário) = 3 (decimal)&lt;/li&gt;
&lt;li&gt;100 (binário) = 4 (decimal)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Os números binários podem parecer confusos inicialmente, mas quero mostrar como é fácil entendê-los. Começando pelo primeiro bit (dígito binário), que é 1, entendemos que, para representar o número 1 em base 10 (decimal), primeiro precisamos preencher o 0 "desligado" para 1 "ligado".&lt;/p&gt;

&lt;h2&gt;
  
  
  Complexidade dos Números Binários
&lt;/h2&gt;

&lt;p&gt;A complexidade inicial dos binários surge quando esgotamos todos os zeros disponíveis. Quando isso acontece, precisamos adicionar mais uma casa na memória. Por exemplo, sempre que precisamos alocar mais espaço, desligamos todos os bits à direita e acendemos apenas um bit à esquerda. Por exemplo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;11 (binário) = 3 (decimal)&lt;/li&gt;
&lt;li&gt;100 (binário) = 4 (decimal)&lt;/li&gt;
&lt;li&gt;111 (binário) = 7 (decimal)&lt;/li&gt;
&lt;li&gt;1000 (binário) = 8 (decimal)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Entender isso é importante, pois você nunca irá alocar mais espaço, como 101 ou 110 sem antes ter ligado todos os bit anteriores.&lt;/p&gt;

&lt;h2&gt;
  
  
  Representação de Letras com ASCII
&lt;/h2&gt;

&lt;p&gt;O ASCII (American Standard Code for Information Interchange) é um padrão de codificação que surgiu inicialmente que utiliza 8 bits para representar caracteres do alfabeto americano. Cada letra do alfabeto é representada por um número decimal que está ligado a uma quantidade específica de bit. Por exemplo, o alfabeto começa a ser representado pelo número decimal 65 com a letra A, que em binário é 01000001.&lt;/p&gt;

&lt;p&gt;Essa é uma tabela mostrando melhor essas informações:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdtge49sdv05t8gjkj7i.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhdtge49sdv05t8gjkj7i.jpg" alt="ascii table" width="320" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Exemplo: "Hello World" em ASCII binário:&lt;br&gt;
&lt;code&gt;"Hello World" = 01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitações do ASCII e o Unicode
&lt;/h2&gt;

&lt;p&gt;O problema do ASCII é que ele é limitado a 1 byte, o que é insuficiente para representar todos os caracteres de alfabetos complexos, como o chinês, grego ou russo. Para resolver isso, foi criado o Unicode que tem em sua base o ASCII Extended, que pode utilizar 16, 24, 32 bits para representar um caractere, permitindo a codificação de mais de 4 bilhões de caracteres diferentes.&lt;/p&gt;

&lt;p&gt;O Unicode também permite a representação de emojis. Por exemplo, o emoji de risada 😂 tem a representação Unicode U+1F602.&lt;/p&gt;

&lt;p&gt;Inclusive para sabermos quanto caracteres queremos utilizar em quesito de alocar espaço em bytes, é onde surge o UTF(Unicode Transformation Format) com as variações como UTF-8, UTF-16 e UTF-32 que vemos muito em bancos de dados ou programando em alguma linguagem que faz uso de especificar eles quando necessário, são através deles que sabemos como o Unicode são representados e armazenado bytes na memória do computador ou em arquivos.&lt;/p&gt;

&lt;p&gt;Não vou entrar em detalhe sobre a explicação de cada letra e número que pode ou não significar no Unicode mas uma breve explicação é que o "1F602" desse emoji é uma representação em hexadecimal.&lt;br&gt;
Eu queria abordar muito mais sobre tudo o que foi falado, mas números binários até no que eu disse dava para ser mais detalhado, mas seria cansativo a leitura e muito mais técnica, isso por sí só já deve te dar uma boa margem para começar entender números binários e como eles impactam tanto todo o nosso desenvolvimento.&lt;/p&gt;

&lt;p&gt;Com isso finalizo esse artigo sobre o que são os binários e como eles estão ligado a tudo quando se trata do nosso sistema.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
