Thiago Cantero

Tecnologia e Entretenimento

Estudolinguagem de programaçãoProgramação

Conhecer a Linguagem é mais importante do que usar um Framework?

Olá, mundo!Tudo bem?

Em algumas situações, problemas acontecem diante um projeto, seja ele em qual paradigma for, Web, Desktop, Mobile. O primordial, além de ter o conhecimento pleno sobre a arquitetura em que esteja desenvolvendo, é a própria linguagem!

E por que hoje vemos tantos erros de aplicação?Sejam eles uma consulta demasiadamente lenta, armazenamento desnecessário em funções/variáveis, entre outras minúcias faz com que a aplicação se torne instável, e das muitas vezes, o que era para ser uma ferramenta de automatização, torna-se algo desprezado.

Já falei aqui sobre algumas dicas de literatura para aprofundar, lembrando que o conhecimento nunca se esgota, a busca por ele, é sobretudo, sinal de humildade. Tenha sempre isto em sua vida. ; )

Há muitas literaturas bem enfáticas que nos dão o conhecimento, como também pode nos abrir a mente para outros problemas de nossos cotidianos. Por isso a leitura, e o tempo dedicado, resultam em

Vamos ao Trabalho\\

Irei usar o PHP como referência, mas é aplicável o conceito para qualquer linguagem.

Vamos imaginar o cenário de que estamos usando um ORM (caso não saiba o que é um leia este artigo aqui e aqui, em que demonstro dois padrões de projetos adotados por ele), o objeto está em memória e você quer transformá-lo em um array para manipular, como faria?

<?php
use App\Models\Cliente;
  
// Criar uma coleção
$colecao = Cliente::findAll();
  
/* Palavra reservada toArray() converterá
 coleções para array */
var_dump($colecao->toArray());

Modos de apresentação em que as informações são segmentadas em memória (outro artigo também que explico como eles se comportam aqui), existem em cada Linguagem, por isso antes mesmo de pegarmos projetos para fazer, interessante saber como é cada detalhe de organização em sua respectiva sintaxe da linguagem que está a frente do Framework.

Em C# ficaria mais ou menos assim:

using System;
using System.Collections;
using static System.Console;

  private static void ListToArray()
        {
            //cria  uma lista
            var lista = new List<int>() { 1, 2, 3, 4, 5 };

            //copia a lista para o array
            int[] array = lista.ToArray();
            //faz a leitura do array e o escreve
            foreach (int valor in array)
            {
                Write($" {valor} ");
            }
        }

Percebe que o conceito não difere muito de linguagem a linguagem, e sim a sintaxe. Isto estamos falando apenas de uma função que é usada de maneira corriqueira em um projeto. O que devo saber além da Linguagem? As estruturas de dados, as funções de manipulação de registros em memória (os exemplos acima), orientação a objetos, procedural (sim, existem linguagens modernas procedurais!), e muita, mas muita leitura!Obviamente que não se deve se frustrar por tanto conteúdo para estudar, afinal o conhecimento se constrói pouco a pouco.

E a pergunta que está no título é respondida intrinsecamente, pois como qualquer Ciência se faz necessário o devido estudo e prática. Recomendo a leitura destes livros:

Estruturas de Dados e Seus Algoritmos

Boa referência que abarca os conceitos de estrutura de dados e também os algoritmos que as engloba, com uma excelente redação e exemplos práticos que norteiam o leitor aprofundar para dominar qualquer linguagem que venha adotar como ferramenta de trabalho.

O TRIVIUM

Este livro foi um divisor de águas em minha vida, e olha que eu o li recentemente, por recomendação de um colega de trabalho!A obra trata sobre as Artes Liberais: Lógica, Gramática e Retórica, utilizadas para a construção do conhecimento, ele nos traz a reflexão sobre como edificar nossa compreensão do mundo, e principalmente da absorção do aprendizado. Um primor de leitura que lhe ajuda a otimizar a criatividade e a cognição.

Por hoje é só, obrigado pela visita! ; )

A mera transmissão de informação não merece ser chamada de educação”. Irmã Miriam Joseph.