Escolha Python como sua próxima linguagem de programação

Se você está numa encruzilhada para escolher uma linguagem de computador para aprender a programar, escolha Python.

Python é espetacular para desenvolvimento web com seus frameworks Django, Flask, Web2py e muitos outros. Python é A linguagem para trabalhar com dados, graças ao Pandas, Jupyter, SciKit e todo o trabalho que a comunidade de machine learning continua investindo nele. É uma linguagem de uso genérico, é moderna, é elegante, é fácil, é o trend.

Node (JavaScript) não vai tão longe, tem seu escopo muito fundamentado só na web e sua história (nasceu no browser) lhe conferiu características técnicas bizarras. Mesmo assim, se você está no mundo web, não poderá fugir de JavaScript (Node).

Perl é consolidadíssima, tem bibliotecas poderosíssimas e estabelecidas, foi revolucionária, mas já passou seu tempo. É uma linguagem confusa e suas características interessantes (como regular expressions) já foram copiadas para todas as outras linguagens modernas.

C++ (com orientação a objetos, por favor) é ainda inevitável se você precisa de performance máxima. Mas arregace as mangas e respire fundo, pois é difícil.

Java é o novo Cobol. Ainda muito popular e com muitos legados. Era promissor, mas seu proprietário nos fez o favor de torná-la uma plataforma de muitos riscos de propriedade intelectual. Basicamente, você pode ser processado se ficar inventando muito em torno da plataforma Java. Então creio que o índice de inovações diminuirá bastante em torno de Java. Em outras palavras, acho que não veremos no mundo Java a criação da nova geração de algo tão importante como foi o J2EE.

As linguagens proprietárias da suite .NET da Microsoft são muito comuns em ambientes corporativos devido ao trabalho comercial global de seu dono e por terem IDEs fáceis de usar. Por serem proprietárias, essas linguagens apresentam 3 características estratégicas que exigem sua reflexão, desenvolvedor: ➊ nunca serão foco de inovação da comunidade, ➋ elas te ancoram em somente uma plataforma cara e também proprietária (Windows), e ➌ ser um programador dependente de IDEs tende a enfraquecer sua “musculatura” para lidar com coisas mais brutas. Na minha modesta opinião, você deve focar seus esforços de aprendizado de longo prazo em linguagens e plataformas livres pois elas são mais perenes, abrangentes e existem em abundância. Além de que inovação hoje em dia acontece sempre em plataformas e linguagens livres, nunca nas proprietárias, então tenha familiaridade com coisas que te mantenham próximo de onde a inovação acontece.

Ruby (e Rails) foi uma moda. Não ouço mais falar nisso.

PHP também tem muitos legados. Era um horror, melhoraram muito a linguagem recentemente e os excelentes frameworks e plataformas como Symfony, Laravel, WordPress, Drupal, Magento e inúmeros outros a mantém muito viva. PHP vale conhecer, mas eu não escolheria começar algo novo aqui. A não ser que seu requisito absoluto fosse compatibilidade com Internet Service Providers (DreamHost, GoDaddy etc) a moda antiga, sendo que mesmo eles suportam Python também.

Em Ciência de Dados, R é livre e muito famosa. Só que é muito específica e todas as suas qualidades já foram transferidas para bibliotecas incríveis do Python, que é mais genérica e tem base de usuários maior. Não consigo encontrar um bom motivo para optar por R ao invés de Python, pois investir tempo em R é adquirir conhecimento sobre uma ferramenta otimizada para somente um tipo de problema.

Se você vive próximo do sistema operacional, Shell é inevitável e te abre portas muito poderosas. Indispensável para especialistas de infra-estrutura, talvez até mais importante que Python, mas bem menos performática e flexível.

Menção honrosa para SQL, se é que podemos chamar esta tecnologia de linguagem. Porque há coisas que só se faz com eficiência com SQL, caso seus dados estejam num banco de dados relacional. Só SQL permite grandes cruzamentos de dados. Mas não se engane: programas ou queries SQL ligeiramente mais complexos são ilegíveis e incompreensíveis depois de um tempo, até para quem os escreveu. Mas é praticamente inevitável conhecer SQL se você for trabalhar com dados.

Python é também uma linguagem absolutamente estratégica no mundo da infra-estrutura. OpenStack e a maioria do framework administrativo do Linux é desenvolvido em Python. Então se você está envolvido com Software Defined Networks, Software Defined Storage ou qualquer tipo de virtualização, Python é obrigatório.

Infra-estrutura, web e ciencia de dados: Python é linguagem estratégica em todos esses domínios.

I'm an experienced hacker focusing lately on Data Science and Data Engineering. I've also done a lot of customer-facing IT activities, programming, teaching etc

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store