Pesquisa do CEO da KPMG: Mercados de Trabalho, Semanas de Trabalho de 4 Dias e GenAI
16 de maio de 2024Como os dados de código aberto e de série temporal se encaixam
16 de maio de 2024Olá. Você é um desenvolvedor JavaScript, certo? Eu também estaria certo ao presumir que você não conhece SQL e não quer aprender SQL?
Neste artigo, gostaria de apresentar o Outerbase que, entre outras coisas, permite criar, editar, visualizar e explorar os dados do seu banco de dados — tudo sem precisar escrever SQL. Mais sobre isso daqui a pouco, mas primeiro, vamos abordar o elefante na sala (trocadilho intencional)
Os desenvolvedores de JavaScript estão ficando sem desculpas para não aprender SQL.
Muitos desenvolvedores de JavaScript farão literalmente qualquer coisa para evitar o aprendizado de SQL e, depois de um pouco de pesquisa, resumi isso em três motivos principais:
- Não tenho tempo para aprender SQL.
- Eu não quero aprender SQL.
- SQL não é seguro para tipos.
Em um artigo anterior: Gerar tipos automaticamente para seu banco de dados PostgreSQL, abordei o ponto 3, então agora é hora de voltar e abordar os pontos 1 e 2.
Você não quer aprender SQL?
Não posso e nunca vou entender por que você não tem tempo para investir em si mesmo, então vamos pular o ponto 1.
O ponto 2, entretanto, é algo que gostaria de abordar. Os limites entre frontend e backend estão se tornando cada vez mais confusos no mundo do JavaScript, e eu acho isso muito legal. Os desenvolvedores de front-end agora podem fazer coisas que antes exigiriam profundo conhecimento de back-end. No entanto, isso não significa que você deva pular os fundamentos.
SQL é a linguagem dos bancos de dados e se você é um desenvolvedor JavaScript usando PostgreSQL, é benéfico ter pelo menos um conhecimento básico de SQL, mesmo que você acabe usando um cliente JavaScript para consultar seu banco de dados.
O caminho para aprender SQL pode ser um pouco difícil, mas felizmente com a ascensão da IA e das empresas de ferramentas para desenvolvedores que a utilizam, aprender SQL pode ter se tornado muito mais fácil.
Introdução ao Outerbase
Vá em frente e inscreva-se e conecte o Outerbase ao seu banco de dados. Uma vez conectado, você pode começar a escrever consultas usando linguagem natural e o Outerbase AI converterá sua “conversa” em uma consulta SQL.
Conectei o Outerbase ao meu banco de dados PostgreSQL, que uso para capturar visitas ao site e exibi-las no painel do meu site. Eu armazeno dados de geolocalização dos visitantes do site em uma tabela chamada analytics
. O esquema da tabela é assim:
Veja o código no Gist.
Na “conversa” abaixo pedi ao Outerbase para contar o número de visitas de cada país no analytics
mesa.
E sem nenhum incômodo, o Outerbase escreveu a seguinte consulta SQL, que executei ali mesmo no navegador para ver os resultados.
A partir daqui, eu poderia facilmente copiar e colar essa consulta em meu código e, et voilà, teria dados para exibir da maneira que quiser em meu frontend.
Escreva SQL sem aprender SQL
Ao usar o Outerbase AI, você pode descrever os dados que deseja consultar usando linguagem natural, e o Outerbase AI escreverá a consulta SQL para você. Parece um bom meio-termo para desenvolvedores que desejam mergulhar no pool do PostgreSQL (novamente, trocadilho intencional), mas sem se prender a uma sintaxe desconhecida.
Se você vem do JavaScript, o SQL a princípio pode parecer uma linguagem alienígena, mas na verdade não é. Por exemplo, você pode ler isso?
Veja o código no Gist.
Eu imagino que você provavelmente pode, e isso é intencional.
Dê uma olhada neste vídeo de Don Chamberlin, um dos principais designers do SQL. No vídeo, Don explica os objetivos fundamentais que orientam o design da linguagem SQL. As metas 2, 3 e 4 são particularmente pertinentes.
- Queríamos usar o termo tabelas em vez de relações…
- Queríamos basear o idioma em palavras comuns do inglês, como select.
- O idioma não deve ter símbolos especiais e deve ser fácil de digitar no teclado.
- Queríamos que tivesse algo que chamamos de propriedade walk-up and read. Ou seja, em casos simples, um usuário sem treinamento especial deve ser capaz de entender uma consulta apenas lendo-a.
Acho que você concordará que o simples SELECT
declaração acima atende a esses requisitos. Até mesmo a simples leitura no contexto de uma frase comum faz sentido. Por exemplo, selecione o nome, o país e o e-mail dos usuários.
Curiosidade: SQL não precisa ser escrito em letras maiúsculas.
Na terra do JavaScript, as coisas são um pouco, bem, estranhas. Por exemplo, aqui está a mesma consulta usada acima, mas escrita em sintaxe JavaScript específica do Supabase e do Xata.
Dezessete
Veja o código no Gist.
Xata
Veja o código no Gist.
É importante notar que tanto o Supabase quanto o Xata também podem ser consultados usando SQL “comum”, para sua informação!
Embora existam vantagens em usar a sintaxe JavaScript para consultar um banco de dados (a segurança de tipo não está entre elas), ainda me pergunto por que os desenvolvedores de JavaScript são tão relutantes em aprender SQL.
Na maioria dos casos, o SQL expresso em JavaScript requer conhecimentos especiais e não pode ser lido como uma frase comum (em inglês). E mais do que isso, aprender como estou chamando SamQL-Jackson (sintaxe JavaScript específica do provedor) é míope. Por que gastar tempo aprendendo algo que só pode ser usado com um fornecedor, quando você poderia investir a mesma quantidade de tempo desenvolvendo habilidades que são muito mais utilizadas e que melhorarão muito sua compreensão da tecnologia que você está usando e provavelmente seu chances de ser contratado.
No entanto, há um ponto restante que considero uma justificativa razoável para o uso do SamQL-Jackson, e é autocompletar. Por exemplo, se você digitasse supabase.
Em seu editor de código, você verá uma lista contendo diversas opções para escolher para construir sua consulta.
Porém, pode-se argumentar que, se você já conhece SQL, não precisa do preenchimento automático. Você pode facilmente escrever consultas com a mesma rapidez ou aproveitar as vantagens dos cerca de 40 anos de história da Internet que o ajudarão a entender o SQL; ou, melhor ainda, algo como ChatGPT, que também tem cerca de 40 anos de história da Internet para referência. Se ambos falharem, agora existe o Outerbase AI, que escreverá SQL para você!
Isso pode ser um pouco picante, mas os desenvolvedores de JavaScript estão realmente ficando sem desculpas para não aprender SQL.
Pensamentos finais
Pode parecer que eu tenho um machado para trabalhar com provedores de JavaScript e SaaS PostgreSQL, mas não tenho. No entanto, tenho interesse na educação de desenvolvedores. O barulho de “melhores práticas” que você ouve em torno da “cultura de envio” não se aplica a você quando você está aprendendo. A velocidade não influencia quando você investe em si mesmo. Se você levar um ano para aprender SQL, que assim seja. SQL é uma habilidade fundamental. Aprendê-lo, e talvez até mesmo lutar com ele, acabará por ajudá-lo a entender por que existem abstrações. A partir daí você pode tomar suas próprias decisões sobre se eles atendem ou não às suas necessidades.
Começar com abstrações, entretanto, significa perder a história de fundo. Isso seria como assistir a um filme e pular direto para os últimos cinco minutos, só para poder dizer que chegou ao fim – ou: “Olha o que eu enviei”. Claro, leva mais tempo para assistir a coisa toda, mas durante esse tempo você entenderá os personagens, o enredo e (se a história for bem contada) você estará envolvido o tempo todo.
Para mim, aprender é quase a mesma coisa. Não quero pular para o final, quero vivenciar a história toda. Não sei se terei mudado sua opinião sobre SQL, mas acho que usando Outerbase AI você pode começar a ver que não é tão assustador e detalhado quanto você pensava. Dê uma chance!
A postagem Desculpas externas: por que os desenvolvedores de JavaScript devem aprender SQL apareceu pela primeira vez em The New Stack.