Como desisti do Ruby em favor do Python enquanto trabalhava em um back-end



Traduzimos um artigo para você por Benoit Zen, desenvolvedor de software da Sqreen. Benoit está trabalhando em um serviço web back-end e recentemente mudou de Ruby para Python.

Em 2008, quando eu ainda estudava como desenvolvedor de software, dois de meus amigos decidiram fundar uma empresa, denominando Feedbooks. Seu objetivo era criar livros eletrônicos de alta qualidade que qualquer pessoa pudesse encontrar e baixar rapidamente (se desejado, compartilhar com os amigos). O projeto foi apresentado a eles como uma biblioteca digital samizdat.

O site, que se tornaria a face do serviço, precisava ser rápido, eficiente e fácil de gerenciar. Naquela época, apareceu um vídeo de demonstração do Ruby on Rails "Como criar um blog em 15 minutos", após o qual os fundadores decidiram trabalhar com ele.

A Skillbox recomenda: um curso prático de dois anos, "Sou um desenvolvedor Web PRO" .

Lembramos que: para todos os leitores de "Habr" - um desconto de 10.000 rublos ao se inscrever em qualquer curso Skillbox usando o código promocional "Habr".


Algumas semanas depois, eles precisavam de ajuda e se voltaram para mim.

Como muitos desenvolvedores da minha geração, trabalhei com PHP e Mysql, às vezes até adicionando meu compartilhamento ao CMS de código aberto. Tudo era muito familiar para mim na tarefa, exceto, de fato, Ruby. Eu nunca ouvi falar dele (não se esqueça, estamos falando de 2008, nota do tradutor). Em geral, comecei a trabalhar com Ruby e passei os dez anos seguintes com ele.

Por que Ruby?


O fato é que essa é uma linguagem muito expressiva. Seu principal criador decidiu fazer os programadores felizes ao trabalhar com Ruby. E ele conseguiu o que queria. Quase qualquer elemento aqui é um objeto. A máquina virtual Ruby converte a sintaxe em uma declaração real. Está constantemente melhorando, para que o código gerado melhore a cada nova versão. Ruby é fácil de analisar, modificar ou até criar interfaces especializadas.

Na sua essência, o Ruby on Rails é uma suíte e infraestrutura DSL para criar facilmente aplicativos da Web orientados a modelos. Hoje, ele é especialmente adaptado e bom para criar aplicativos nos quais a lógica e a modelagem de negócios terão um papel importante.

Na minha empresa Sqreen, trabalhei com Ruby no back-end. Mas então, muito rapidamente, a decisão veio usar o Python.

Adoro Ruby, mas mude para Python, por quê?


Em primeiro lugar, nosso back-end é um monte de vários serviços, alguns dos quais abertos ao mundo, outros não. A primeira coisa que um cliente vê é um site estático corporativo que é gerado usando o Jekyll. Em seguida, a barra de ferramentas é aberta - esse é um aplicativo React dinâmico. O painel trabalha com uma API dedicada, denominada "back-end para a interface externa". Ele é o nosso principal.

Inicialmente, foi decidido que não escreveríamos a API em diferentes idiomas, pois gostaríamos que todos correspondessem a determinadas lógicas e modelos de negócios. Além disso, no início da jornada, percebemos que pelo menos o back-end para agentes deveria ser facilmente escalável para suportar uma base de clientes em expansão.

Infelizmente, o Rails estava muito lento. Claro, ele não é o único; existem muitos microframes para Ruby, incluindo o famoso Sinatra.

Mas ainda decidimos escolher o Python. Existem duas razões principais. Primeiro, nosso guia estava familiarizado com ele, pois muitos produtos foram desenvolvidos anteriormente em Python. Em segundo lugar, precisávamos de uma análise profunda dos dados, com a qual Ruby não se sai muito bem. E a escolha foi óbvia.

Introdução ao Python


Nesse estágio, eu quase não tinha experiência com o Python - anteriormente escrevi nele apenas pequenos scripts que ajudavam a implementação geral do projeto. Eu tive que dominar e acelerar rapidamente tudo no desenvolvimento da API em que trabalhamos. Felizmente, os componentes básicos não dependem de qual idioma você usa: HTTP / HTML / JSON / REST - todos permanecem os mesmos. A capacidade dos aplicativos de se comunicar com a web em um nível inferior é implementada no Ruby usando o Rack . Como se viu, muito Rack foi retirado do Python, então não foi muito difícil trabalhar.

Mas e a linguagem? Ruby é uma linguagem orientada a objetos, Python também é orientada a objetos. Mas ainda assim, a diferença entre os dois idiomas é significativa. Portanto, Ruby descreve blocos usando palavras-chave; no Python, os espaços são usados ​​para isso. Eu precisava me acostumar com isso e prefiro o caminho do Ruby com o seu começo / resgate / fim. No entanto, o Python permite que você escreva um código mais eficiente que funcione rapidamente.

O que eu fiz pessoalmente para entender rapidamente a sintaxe do Python? A principal coisa - comecei a praticar com o Python Koans , é um projeto de código aberto que permite aprender Python, fornecendo testes de unidade cada vez mais complexos.

O Python Koans apresenta os vários recursos da linguagem, a documentação aqui é muito detalhada.

Além disso, estudo a documentação do Python também - é extremamente abrangente nesta linguagem. O idioma é dividido em módulos, cada um dos quais é fornecido com uma explicação detalhada. Ele inclui a resposta por que o módulo existe, qual problema ele está tentando resolver e como implementar tudo isso.

Conselhos para quem deseja mudar para Python


Se você é um desenvolvedor Ruby que está pensando em mudar para Python, basta fazê-lo. É verdade que você deve se lembrar de que, antes de começar a abrir novas oportunidades, terá que dominar muitos recursos do idioma. Um bom ponto de partida é o tutorial e a documentação interativos. Além disso, o treinamento deve ser apoiado pela prática; vale a pena começar imediatamente a implementar um aplicativo real.
A Skillbox recomenda:

Source: https://habr.com/ru/post/pt438960/


All Articles