Arthur Profile picture
Mar 30 35 tweets 6 min read Twitter logo Read on Twitter
Fala #dev tentando ajudar a comunidade e conseguir o máximo de pessoas me xingando numa thread do twitter, decidi pegar minha exp profissional com mais de 20 linguagens para listar os principais prós e contras de cada linguagem para quem está iniciando, segue o 🧵👇 Image
🟨 JavaScript (prós):

✅ Popular e versátil, ótimo para frontend e backend (Node.js)
✅ Ecossistema gigante com muitas bibliotecas e ferramentas
✅ Grande comunidade e demanda no mercado de trabalho
✅ Event Loop permite lidar bem com operações assíncronas
🟨 JavaScript (contras):

❌ Tipagem fraca e conversões implícitas podem gerar bugs
❌ Assincronia pode ser confusa para iniciantes
❌ Muitas maneiras de fazer a mesma coisa, exigindo boas práticas
❌ Algumas APIs do navegador podem ser inconsistentes
🟨 JavaScript (dicas):

💡 Aprenda a versão moderna (ES6+) e domine conceitos de assincronia (callbacks, promises, async/await)
💡 Use frameworks e bibliotecas populares, como React, Vue.js, Express e Axios
💡 Conheça o gerenciamento de pacotes (npm, yarn) e bundlers como Webpack
🐍 Python (prós):

✅ Sintaxe fácil e legível, ótimo para iniciantes
✅ Versátil: web, ciência de dados, IA, automação
✅ Grande comunidade e vasta gama de bibliotecas
✅ Aplicação em diversas áreas fora de Desenvolvimento de Software
🐍 Python (contras):

❌ Velocidade inferior a linguagens compiladas
❌ Gerenciamento de pacotes e ambientes pode ser confuso
❌ Diferenças entre as versões 2.x e 3.x podem causar problemas
❌ GIL (Global Interpreter Lock) limita a concorrência nativa
🐍 Python (dicas):

💡 Siga o PEP 8
💡 Aprenda bibliotecas populares como NumPy, Pandas, TensorFlow, Keras, Django e Flask
💡 Use ambientes virtuais (virtualenv, conda) para gerenciar dependências de projeto
💡 Aprofunde-se em list comprehensions e decorators
🥽 GO (prós):

✅ Rápido e eficiente, ótimo para servidores, microservices e CLIs
✅ Fácil concorrência com goroutines e channels
✅ Boa biblioteca padrão e suporte a documentação
✅ Criado pelo Google, garantindo estabilidade, atualizações e mercado
🥽 GO (contras):

❌ Menos popular para desenvolvimento web comparado a outras linguagens
❌ Comunidade menor que JavaScript e Python
❌ Menor quantidade de guias em português
❌ Menos bibliotecas disponíveis que outras linguagens populares
🥽 GO (dicas):

💡 Domine goroutines e channels para lidar com concorrência eficiente
💡 Aprenda a usar a biblioteca padrão e siga as melhores práticas
💡 Sempre tente resolver seus problemas da maneira mais simples, não recorra diretamente à libraries e frameworks
☕ Java (prós):

✅ Portabilidade e maturidade, ótimo para sistemas corporativos e desenvolvimento Android
✅ Grande comunidade e vasto ecossistema
✅ Orientação a objetos e gerenciamento automático de memória
✅ Boa performance e suporte a multithreading
☕ Java (contras):

❌ Verbosidade na sintaxe
❌ Velocidade de inicialização e consumo de memória podem ser altos
❌ Atualizações frequentes e licenciamento Oracle podem causar confusão
❌ Menos popular em áreas como ciência de dados e IA
☕ Java (dicas):

💡 Aprenda Orientação a Objetos e padrões de projeto (ex: Singleton, Factory)
💡 Explore frameworks e bibliotecas populares como Spring, Hibernate, JavaFX e Android SDK
💡 Use ferramentas de build e gerenciamento de dependências como Maven ou Gradle
🐘 PHP (prós):

✅ Popular para desenvolvimento web, especialmente com CMS (WordPress)
✅ Curva de aprendizado suave para iniciantes
✅ Grande comunidade e vasta quantidade de recursos disponíveis
✅ Melhorias recentes na linguagem (PHP 7+)
🐘 PHP (contras):

❌ Reputação prejudicada por práticas antigas e inseguras
❌ Menos demanda no mercado comparado a outras linguagens modernas
❌ Performance inferior em comparação com linguagens compiladas
❌ Organização e estrutura de projetos podem ser confusas
🐘 PHP (dicas):

💡 Aprenda a usar o PHP moderno (7+) e siga boas práticas (PSR)
💡 Explore frameworks populares como Laravel, Symfony e CodeIgniter
💡 Use o Composer para gerenciar dependências e pacotes
♯ C# (prós):

✅ Desenvolvimento em Windows e jogos com Unity
✅ Sintaxe similar ao Java, facilitando a transição entre as linguagens
✅ Suporte da Microsoft e integração com Azure
✅ Boa performance e recursos modernos
♯ C# (contras):

❌ Menos popular fora do ecossistema Microsoft
❌ Limitações em plataformas não Windows, embora .NET Core esteja melhorando isso
❌ Curva de aprendizado maior para iniciantes em comparação com Python e JavaScript
❌ Licenciamento e custos podem ser um problema
♯ C# (dicas):

💡 Aprenda .NET Core e .NET 5+ para desenvolvimento multiplataforma
💡 Explore frameworks como ASP.NET, Entity Framework e Xamarin
💡 Domine o uso de LINQ e async/await para lidar com coleções e assincronia
🔩 C++ (prós):

✅ Alta performance e controle preciso sobre a memória
✅ Uso em sistemas críticos, jogos e aplicações gráficas
✅ Padrão em bibliotecas gráficas e APIs como OpenGL e Vulkan
✅ Evolução contínua da linguagem (C++11, C++14, C++17, C++20)
🔩 C++ (contras):

❌ Curva de aprendizado íngreme, especialmente para iniciantes
❌ Gerenciamento manual de memória pode causar bugs e vazamentos
❌ Menos popular em áreas como desenvolvimento web e ciência de dados
❌ Sintaxe e recursos avançados podem ser complexos
🔩 C++ (dicas):

💡 Domine ponteiros, alocação de memória e gerenciamento de recursos
💡 Aprenda a usar a STL (Standard Template Library) e bibliotecas gráficas
💡 Mantenha-se atualizado sobre as versões recentes do C++ e suas melhorias
💎 Ruby (prós):

✅ Sintaxe elegante e fácil de ler, ótimo para iniciantes
✅ Ruby on Rails impulsionou sua popularidade no desenvolvimento web
✅ Comunidade amigável e forte foco em testes
✅ Metaprogramação facilita a criação de código dinâmico
💎 Ruby (contras):

❌ Performance inferior a linguagens compiladas
❌ Menos popular e demanda no mercado em comparação com JavaScript e Python
❌ Curva de aprendizado íngreme para metaprogramação
❌ Ruby on Rails pode ser opressor para desenvolvedores novatos
💎 Ruby (dicas):

💡 Domine o uso de blocos, lambdas e procs
💡 Aprenda Ruby on Rails e outros frameworks como Sinatra
💡 Utilize testes unitários e TDD com RSpec e Minitest
🦀 Rust (prós):

✅ Alta performance e segurança de memória, ótimo para sistemas e aplicações críticas
✅ Sem vazamentos de memória graças ao sistema de ownership e borrowing
✅ Adotado por grandes empresas, como Mozilla e Microsoft
✅ Comunidade amigável e em rápido crescimento
🦀 Rust (contras):

❌ Curva de aprendizado íngreme, especialmente para iniciantes
❌ Ecossistema e bibliotecas ainda em desenvolvimento
❌ Menos popular em áreas como desenvolvimento web e ciência de dados
❌ Compilador rigoroso pode ser frustrante no início
🦀 Rust (dicas):

💡 Entenda o sistema de ownership, borrowing e lifetimes
💡 Aprenda a usar as ferramentas de desenvolvimento, como Cargo e rustfmt
💡 Explore a documentação e recursos disponíveis para se familiarizar com o ecossistema
🦉 Swift (prós):

✅ Linguagem oficial para desenvolvimento iOS e macOS
✅ Sintaxe moderna e fácil de aprender, ótimo para iniciantes
✅ Interoperabilidade com Objective-C e bibliotecas Apple
✅ Open-source e em constante evolução
🦉 Swift (contras):

❌ Principalmente limitado ao ecossistema Apple
❌ Menos popular e demanda no mercado fora do desenvolvimento Apple
❌ Ferramentas e recursos para plataformas não Apple ainda estão em desenvolvimento
❌ Curva de aprendizado para frameworks e APIs da Apple
🦉 Swift (dicas):

💡 Domine o uso de optionals, closures e enums
💡 Aprenda frameworks e bibliotecas Apple, como UIKit, SwiftUI e Cocoa
💡 Explore a criação de testes unitários e UI com XCTest e XCUITest
Não tem como falar de todas as linguagens aqui, mas acho que as mais comuns puderam ser abordadas, se tem alguma linguagem que você quer saber sobre, deixa aí nos comentários! Pra quem quiser ver o vídeo sobre esse assunto:



Lembra de deixar o like! <3
⚗️ Elixir (prós):

✅ Baseado na linguagem Erlang e BEAM VM
✅ Excelente para sistemas distribuídos, escaláveis e tolerantes a falhas
✅ Suporte nativo para concorrência e comunicação entre processos
✅ Phoenix Framework para desenvolvimento web
⚗️ Elixir (contras):

❌ Comunidade menor e menos demanda no mercado em comparação com outras linguagens
❌ Paradigma funcional pode ser difícil para iniciantes
❌ Ecossistema e bibliotecas ainda em crescimento
⚗️ Elixir (dicas):

💡 Domine conceitos de programação funcional e processos em Elixir
💡 Aprenda o Phoenix Framework para desenvolvimento web
💡 Explore o uso de OTP (Open Telecom Platform) para criar sistemas resilientes

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Arthur

Arthur Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @arthur404dev

Mar 10
Layoffs e muita gente nesse processo de transicao na carreira #tech achei importante trazer alguns pontos que o pessoal da mentoria acabou perguntando com certa frequência, segue o 🧵aí #dev:
🔴 - O melhor momento pra conseguir aumento salarial é na troca de empresas, seja num momento favorável ou numa recolocacão.

Tenha isso em mente na hora de negociar seu salário com a nova empresa, uma boa métrica é aumentos entre 10 a 35% do salário anterior.
🔴 - A etapa da negociacao de salários é extremamente importante. Sei que muita gente tem receio de jogar o rate pra cima, mas lembrem que o ônus de processos seletivos é enorme, a empresa já te selecionou e nao vai deixar de te contratar por pedir um salário maior...
Read 19 tweets
Mar 8
A empresa que quer contratar como FAANG pagando subsalário no presencial é infinitamente mais problemática que o "sênior de 2 anos".

Se o dev passou no processo é porque ele atende à demanda da empresa... Se a empresa não sabe o que precisa pro próprio negócio são outros 500...
É bem chato ver a comunidade sempre batendo no elo fraco da história.

O que mais tem aí fora é empresa querendo contratar estagiário com experiência prévia.

Contratando front pra fazer trabalho de UI/UX.

Contratando uma área inteira no dev full stack.

+
Porque só o sênior de 2 anos que incomoda? Porque é quem meteu a cara, estudou, correu o risco, peitou responsabilidade e conseguiu passar.

Senioridade é uma palavra bonitinha pra colocar na frente da sua headline do LinkedIn.

+
Read 7 tweets
Nov 1, 2022
Hábitos que te tornam um Desenvolvedor melhor.

Trazendo aqui para você #dev uma série de hábitos que adquiri durante toda minha carreira e tento passar para vários mentorandos

(A maioria ajudou bastante gente a progredir na carreira!)

Segue o 🧶
0⃣1⃣ - Independente de estar empregado ou não, sempre tire um tempo da sua semana para cuidar de seu portfolio / linkedin / currículo.

É infinitamente mais fácil colocar sua carreira em ordem sem ter urgência pra fazer isso, use seu tempo com sabedoria e se prepare pro pior...
0⃣2⃣ - Pare de quantificar principalmente seu tempo de estudo de maneira objetiva, utilizando horas:

Sei que muita gente aderiu ao método pomodoro para conseguir estudar, mas pensar menos em "vou estudar x minutos" e mais em "vou estudar este tópico, e depois parar" pode ser bom
Read 21 tweets
Oct 20, 2022
Segredos da Área Tech.

#dev não quero que você seja passado pra trás, então vem comigo pra te contar algumas práticas obscuras que rolam por aí.

(Várias coisas que ninguém te fala ou não quer que você descubra)

Segue o 🧶
1⃣ - Layoffs geralmente são discutidos pela direção e coordenação com 1 quarter de diferença pro executado.

(Seu chefe recebe a notícia com 3 meses para te fazer organizar o máximo possível a casa antes de te comunicar)
2⃣ - Várias empresas de tecnologia utilizam uma técnica de ascensão vertical direcionada ao "business" pra tirar os cargos de Desenvolvedor dos funcionários, afim de impedir propostas de competidores.

A "promoção" pra "Gerente xyz" é pra tirar o Desenvolvedor do seu linkedin
Read 20 tweets
Oct 19, 2022
Coisas que todo #dev (principalmente Iniciante) PRECISA escutar

Já que eu falei sobre o que todo mundo devia saber, vai aqui uma lista que eu acho que muita gente precisa escutar.

Segue o 🧶
1 - Você sempre vai se cobrar mais do que precisa.

Não se preocupe, você está indo bem... O importante é continuar...
2 - Seu colega não é mais inteligente porque entregou um projeto antes do prazo ou porque resolveu um problema que você não conseguiu.

Não é uma questão de inteligência, é uma questão de costume!
Read 17 tweets
Oct 19, 2022
Por causa do bafafá da regulamentação da área vi muita gente reclamando de empresa picareta, salários baixos...

Sinto muito dar um choque de realidade, mas a empresa que contrata dev a 400 vai continuar contratando auxiliar a 400...

Não resolve regulando, se resolve evitando...
A área tá numa situação de altíssima demanda pra pouca oferta.

Qualquer tipo de regulamentação é negativa (economicamente falando).

É uma das poucas proporções em que o funcionário tem controle na negociação, usem o controle poxa...
Todo tipo de regulamentação artificial na economia gera um vácuo econômico, um descolamento artificial de demanda e oferta.

É interessante regulamentar areas onde a balança de poder é altamente enviesada pro contratante. O que não é o caso da nossa área hoje em dia...
Read 4 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(