Executando verificação de segurança...
14

Python não escala, Java é melhor e IA vai revolucionar tudo.

Eu faço faculdade EAD por comodidade. O problema não é o ensino, nem os professores. O problema são os alunos. Tem momentos que me dá vontade de caçar cada integrante da minha turma e ter uma conversa firme com cada um (no sentido filosófico, claro).

O motivo? A quantidade absurda de gente que não entende o básico, mas já se acha o próximo Linus Torvalds. O cara não consegue escrever um for sem Stack Overflow, mas quer revolucionar o mercado com inteligência artificial. Pergunta sobre testes automatizados, padrões de arquitetura, eficiência de código? Silêncio absoluto. Mas fala de IA e pronto: "mano, vou criar um sistema que usa machine learning e GPT pra automatizar tudo!"

Não sabe modelar um banco de dados, mas acha que vai criar um algoritmo que aprende sozinho e otimiza processos.

Agora, pega essa: estou num projeto acadêmico em grupo. A proposta? Criar um simples sistema de biblioteca. Algo trivial, um CRUD com algumas regras de negócio. Então, como um ser humano normal, eu tentei puxar o básico da conversa técnica:

"E aí, pessoal, que tecnologia a gente vai usar?"

  • Um falou Java. Ok, robusto, confiável.
  • Outro soltou Ruby (estranho, mas vida que segue).
  • O terceiro sugeriu JavaScript (porque sempre tem alguém que quer resolver tudo no front).
  • Aí eu falei bora de Python, porque é simples, direto ao ponto e resolve o problema sem firula.

Eis que vem o quarto integrante, o iluminado, e solta:

"Python não é rápido e não escala."

Aí eu respiro fundo. Amigo, sério? Um sistema de biblioteca acadêmico, rodando num servidor capenga, e o cara preocupado com escalabilidade? Será que ele acha que estamos criando o backend da Amazon?

Se eu perguntasse sobre GIL, concorrência, load balancing, estratégias de caching ou arquitetura de microserviços, tenho certeza de que ele ia travar. Mas ele leu num blog qualquer que "Python não escala", e agora acha que sabe algo que eu não sei.

Isso é o que me irrita. Não é a escolha da linguagem. É a falta de noção de contexto.

Programação não é sobre escolher a linguagem "mais rápida", "mais escalável" ou "mais moderna". É sobre resolver problemas. Não existe ferramenta perfeita. Existe ferramenta adequada para o problema em questão.

E, sinceramente, para um trabalho acadêmico, Python é mais do que suficiente. Provavelmente qualquer linguagem seria. Mas não, bora entrar numa discussão teórica sobre escalabilidade, como se estivéssemos gerenciando milhões de requisições por segundo.

O que me preocupa não é a ignorância. Todo mundo começa do zero. O problema é o cara que não sabe, mas acha que sabe. Aquele que nunca configurou um balanceador de carga, nunca trabalhou com um sistema de alta disponibilidade, nunca precisou lidar com concorrência de verdade, mas repete frase de efeito sem entender o porquê.

No fim das contas, o projeto vai sair? Vai. Mas minha paciência está saindo primeiro.

E vocês, já passaram por algo assim? Ou sou só eu que tô prestes a pedir isolamento digital definitivo?

Carregando publicação patrocinada...
13

Você só comete o mesmo erro que vc diz que seus colegas cometeram, o problema é o cara que não sabe, mas acha que sabe, e esse cara é você. Ninguém disse que vc ia decidir algo, aparentemente ninguém no seu grupo é senior o suficiente pra dizer que python é o melhor e ponto, e vc se mostra insuficientemente imaturo pra trabalhar em grupo/equipe. Discussões fazem parte do processo, ninguém está totalmente certo ou errado, vc simplesmente ignora o processo, e não é só pelo resolver problema e sim por tudo que envolve isso. Saiba ouvir, falar, se expor e entender que não é só pq tem boas justificativas, todo mundo tem que aceitar, e principamente, saiba que isso é um grupo e não é só vc. No mercado vc não vai chegar batendo no peito e falando o que é o melhor e todo mundo vai ter que aceitar, por mais que sua solução seja a melhor vc poderá estar errado maioria das vezes, vc nunca vai saber tudo sobre tudo pra decidir sem uma bela discussão. Então aproveite pra aprender, não para impor como se vc fosse o sabe tudo.

1

Entendo seu ponto sobre trabalho em equipe e a importância da discussão. Nunca foi minha intenção ignorar o processo ou impor algo. Meu objetivo sempre foi apresentar argumentos e buscar a melhor solução. Se a forma como expressei isso passou uma imagem diferente, certamente posso melhorar nisso. Obrigado pelo feedback.

1

Eu também entendo mano. As vezes a gente tem noção de como algo poderia ser feito. Trabalho em grupo é foda, pois quando td mundo é burro, só um carrega, e qnd td mundo tá levando a sério, gera desequilíbrio, conflitos do saber, e não sintoniza.
Mas o lance é deixar seguir, faça um ótimo trabalho, e nas oportunidades que tiver, proponha algo que pode ser interessante. Se não rolar, deixe seguir; todavia, faça que a sua parte seja a melhor, a mais excelente.
Isso vai render la na frente.

5

Honestamente nos tempos atuais em nem converso mais sobre TI, linguagem, framework, tecnologia por que virou igual futebol, nada contra futebol, mas os argumentos não valem manda nada apenas paixões e ponto.

Lembro que há uns 3 anos quem não colocasse Meta Verso numa frase era considerado desatualizado, hoje vivemos o mesmo com AI, Machine Learn, Microserviços, Escalar, Performance e similares.

Meu professor de lógica de programação tinha um jargão, "Não antecipem complexidade" De que adianta reduzir em 3 milisegundos um processo para um cliente que usa uma conexão 4G?

Sem criticar sua reação, mas apenas apresentando meu contexto de um cara que trabalha com TI desde os 15 e está atualmente com 47, não tente forçar ninguém a nada, apresente seus argumentos e pronto, se a maioria aceitar ótimo se dicordar ótimo também.

Se o ambiente não está lhe trazendo tranquilidade mude de ambiente, isso não é questão de não saber viver em sociedade é justamente o contrário, se você não concorda com a opinião da maioria e pudar mudar de ambiente mude, caso contrário não leve para o lado pessoal, afinal de contas na hora de dormir tanto faz ser Python, Java, Cobol, Fortan ou Rust.

Agora, se quiser continuar com a "peleja" pergunte a quem falou que Python não é rápido e não escala se ele conhece:

  • TensorFlow
  • Keras
  • PyTorch
  • NumPy
  • Pandas
  • NLTK

Provavelmente tanto ele como o cara que falou da AI vão entender o recado.

Bom domingo à todos.

3

Parabéns por fazer um EAD que você pode se comunicar com outros alunos, boa parte não tem isso, quase não tem comunicação com os tutores (se tiver mais que um) e nunca com os professores.

Python escala e qualquer linguagem real escala, depende de como foi arquitetado e implementado. A questão é o quão trabalhoso é isso e o quão caro pode ficar para criar a aplicação e/ou pagar pela infraestrutura que claramente será maior do que se fosse feito em outras linguagem pelos custos próprios.

Uma das críticas que faço aos desenvolvedores de Python, o que exclui os scripteiros já que eles usam Python no que ela foi concebida, é que eles ficam tentando criar execução concorrente e Python tem (ou tinha, posso estar desatualizado) problema cvom o GIL. Pois bem, se você quer, provavelmente, ter uma performance 4x mais rápida com concorrência em uma linguagem que não foi pensada para isso, então claramente você escolheu a linguagem errada, já que tem algumas que dão em torno disso de melhora de performance se desenvolver bem também, algumas coisas um pouco menos outras um pouco ou bem mais.

De fato, existe uma ilusão da maioria das pessoas que o sistema dela precisará de muito mais escala do que a realidade, e não é um erro marginal, costuma ser várias ordens de magnitude de desvio. E é um dos motivos que muita gente adota microsserviços, achando que só assim vai escalar, e é uma ideia extremamente presente entre programadores.

Para grande parte dos sistemas, Python dá conta do recado, mesmo que não seja a linguagem ideal. Em sistemas que durarão muitos anos, trocará de equipe, que precisa de robustez, que seja fácil dar manutenção porque terá manutenção real em muitos pontos, então ela funciona, mas tem opções melhores. Aí vem a questão de ser um sistema da faculdade, está fazendo só para pegar o diploma ou está fazendo para aprender como se faz na vida real? Claramente o autor está só querendo o diploma e provavelmente não precisa desse "exercício", mas os outros não, então o autor fez uma escolha boa para ele, mas não necessariamente para a equipe (não posso cravar porque eu não vi o contexto concreto para avaliar). Claro que Python ainda poderia ser uma opção adequada, mas olhando todos os parêmetros, inclusie os políticos, pode ser que não. Um bom professor que não costumamos achar em EAD, perceberia isso e faria algo para tornar a experiência de todos mais adequada, tanto para o autor quanto para para os demais.

Existem diversas ilusõses, inclusive que a pessoa um dia precisará trocar de banco de dados no futuro, então precisa colocar um monte de penduricalho para facilitar a troca que nunca é fácil, não tem como ser plug and play nem de perto. É mais um exemplo de seguidores de influencers.

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).

1

Obrigado pelo comentário! Você trouxe pontos interessantes sobre escalabilidade, custos e a escolha da linguagem para diferentes contextos. Concordo que muitas vezes há um exagero na preocupação com escalabilidade em projetos que nem precisarão disso, e que a escolha da tecnologia deve considerar mais do que apenas performance bruta. No caso de projetos acadêmicos, acredito que o aprendizado e a colaboração são fatores essenciais, e às vezes isso pesa mais do que a escolha ideal de tecnologia. De qualquer forma, é sempre bom refletir sobre esses pontos, e sua perspectiva acrescenta bastante à discussão!

Maniero você é sensacional.

2

isolamento é gostoso, mas perigoso, um dos dessfios no nosso meio, é se comunicar e se reunir com quem quer contribjir de fato, sinceramente.

2
2

Aproveita a oportunidade pra se desafiar, mano. Tipo, ao invés de aprender a fazer o sistema da forma mais eficiente (no sentido de "esforço de desenvolvimento"), aproveita pra tentar expandir a zona de conforto. Tipo, o cara do grupo quer fazer em JavaScript (que pode ou não ser o mais apropriado nesse contexto), então faz em JavaScript. É um bom desafio, fraga? Tipo, um limite, fora do que a gente tá acostumado.
Cê já manja mais que os mlk mesmo, então tira proveito pra se desafiar, fraga? Senão fica simples demais, e aí é uma oportunidade de aprendizado perdida.
Tô dizendo isso pq tipo, a gente não pode controlar os outros, mas dá pra controlar nosso pensamento.
Cê pode tentar explicar pra eles seu raciocínio, e tal. Se te ouvirem, ótimo. Senão, tenta pelo menos ter esse mindset de "é um desafio, vou aprender".
...
A não ser que proponham usar um trem nada a ver, que não tem futuro nem perspectiva nenhuma, e que vc não tem interesse. Tipo, sei lá, um Pascal, da vida. Aí tem que bater o pé mesmo.
Aprender a convencer a galera e lidar com conflitos e diferenças é tão importante quanto aprender a programar e os príncipios de engnharia de software que vc mencionou.

Tô dando exemplo no contexto de escolher linguagem de programação, mas isso vale pra qualquer coisa que vc imaginar, em qualquer área.

2

Terminei a faculdade em 2012, e vou te dizer: sair de lá sem saber programar era como estar perdido no jogo.

Sempre fui esforçado e soube destacar minhas qualidades. E, como tudo na vida envolve um pouco de politicagem, montei uma parceria estratégica com um colega que já trabalhava como programador. A dinâmica era simples: eu me encarregava dos trabalhos teóricos e organizacionais, enquanto ele cuidava da parte de código. Isso me permitiu passar pela faculdade sem dificuldades, sem precisar pegar DP e ainda com boas notas — afinal, sabemos que provas não testam conhecimento real, apenas memorização.

Em 2013, já no mercado de trabalho, conheci um profissional que teve um impacto significativo na minha trajetória. A didática dele era excepcional e, graças a isso, conceitos de programação que antes pareciam impossíveis finalmente fizeram sentido para mim.

Não demorou muito para surgir uma oportunidade dentro da empresa, e foi aí que comecei a programar de verdade. A partir desse momento, minha carreira deslanchou.

O curioso é que, na faculdade, nunca passei por certos desafios que, no ambiente corporativo, se tornaram rotina. Em reuniões diárias (Daily Meetings), situações complicadas acontecem com frequência, e você precisa aprender a lidar com elas. Caso contrário, pode acabar se tornando aquela pessoa insuportável que ninguém quer por perto.

Acredite: um desenvolvedor bom, mas antipático, perde espaço para um desenvolvedor mediano que sabe jogar o jogo corporativo. Política interna pode ser frustrante, mas ignorá-la pode custar caro. Saber navegar nesse ambiente faz toda a diferença para crescer na carreira.

4

Seu relato traz uma realidade que muitos só percebem tarde demais. A faculdade, por si só, não forma programadores — ela apresenta conceitos e caminhos, mas a real aprendizagem acontece na prática, seja através de projetos pessoais, estágios ou contato com profissionais mais experientes.

Sua estratégia de parceria foi inteligente, mas o mais importante foi sua consciência de que, cedo ou tarde, precisaria encarar a programação de verdade. Muitos saem da faculdade achando que o diploma por si só garante conhecimento ou empregabilidade, e aí vem o choque de realidade no primeiro dia de trabalho.

E sobre a política interna, isso é um ponto que pouca gente gosta de admitir. Conhecimento técnico é essencial, mas não é tudo. A habilidade de se comunicar, de entender o ambiente e de construir relações é o que define quem cresce e quem fica para trás. Quem ignora isso pode ser brilhante no código, mas acaba se tornando uma peça isolada no time — e, no mercado, colaboração vale tanto quanto competência.

No fim das contas, a programação não é só sobre lógica e sintaxe, mas sobre adaptação, estratégia e, como você bem colocou, saber jogar o jogo corporativo. Ótima reflexão!

1

Ixi, eu fiquei uns 4 anos de suporte até consegui entrar na programação.

Geralmente eu até recomendo para as pessoas que estão fazendo faculdade dizendo:
"Cara, tem pouca oportunidade para quem está começando, tenta entrar no suporte e dentro da empresa faz contatos e mostra seu interesse, é a forma mais fácil de entrar na programação, pelo menos funcionou muito bem para mim".

Hoje vejo que se eu fosse focar em inciar a jornada em TI com programação, talvez tivesse fracassado.

1

Acho que existe um problema que o "influencer x" fala que python é lento temos outras pessoas que acompanham ele e acham que é verdade.

Sobre linguagem acho o mesmo, não importa a linguagem, se python fosse tão ruim não era tão usado, mas assim pode usar ruby, js, rust, perl não importa o importante é resolver o problema.

E é o que sempre falo o importante é ter uma base boa pra poder crescer na profissão. Acredito que é importante questionar os amigos, obviamente com educação para entender o por que existe essa crença as vezes a pessoa quer fazer na linguagem biluguinha por que ele gosta o importante é cada um entender os limites, mas sinceramente quando tava na faculdade eu achava que ia ser o próximo CEO de sucesso da próxima grande startup kkkk.

1

Muito legal esse assunto que voce trouxe, eu confesso que ja ouvi falar sobre essa questao de Pyhton nao ser escalável. Eu li quase todos os comentários aqui nessa postagem, mas gostaria de saber exatamente como que Python nao é escalável, em qual ponto ele vai perder para outras linguagens? Em resumo gostaria de saber onde está o gargalo do Python. Se alguem tiver um material que explique melhor e aprofunde mais tecnicamente esse problema de esclabilidade, por favor compartilhe conosco.

1

O problema :

  • ainda que seja na universidade ou faculdade , entendimento de ciclo básico de desenvolvimento de software geralmente chega a partir do sexto ou sétimo período .
  • tem graduados que nunca usaram um git , isso é prova clara que o ambiênte acadêmico esta em busca de pesquisadores e não de promover rotina tradicional de mercado de trabalho.
  • para analistas opinião e decisão são coisas sérias, e a banalização da opinião sem nenhum embasamento e análise esta separando o mercado e isso não tem nada a haver com ai e sim com competência.
  • frameworks muito modernos, no code profile, ides que faltam escrever o código inteiro em autocomplete sem trabalhar em nada a memória do desenvolvedor que cada vez mais sabe codar menos e usar mais copilots e ia.
  • a corrida por tecnologia nova exime a responsabilidade de criar no braço e entender no seco conceitos como get , set , crud , solid, orm de banco, design patterns, clena code, cluster até um bem css.
  • acredito que há duas fases libertadoras de paradigmas de sequencial e ou modular para orientado a objeto e de orientado a objeto para reativo, paralelo , orientado a evento, protocolo.
  • a maioria dos iniciantes não chegou a orientado a objetos
  • é improvável profissional nivel pleno não ter saido de oo

Curiosidade

  • se uma aplicação foi escrita em python com django e nginx, esta estrutura conta com webserver que atende os** 500 mil sites mais acessados do mundo ( ou seja 500k dos que mais escalaram usam isso )**

Solução

  • analistas são analistas, a resposta a muitas perguntas deve ser, devo analisar primeiro antes de dar uma resposta.
  • O profissional precisa criar algo, por mais simples que seja, usando da pior tecnologia, ou do pior algoritmo para então ter outra perceptibilidade na hora de dar uma opinião.
1

Com todo respeito e não dando carteirada, mas eu estou nessa área desde 2008,sempre trabalhei em grandes empresas, fui líder técnico no Bradesco e atualmente estou a 3 anos como engenheiro sênior no pagbank, sei programar em Java, Python, kotlin, Java script (node, react e angular). E sabe o que vi em comum em todas as empresas que passei? Java(back) . Python é muito bom, mas no fim do dia, Java é o que manda em grandes projetos, nesses que não podem falhar, que tem que ter escalabilidade.
Seus colegas podem até não saber muito o que falam, faz parte, eu já fui um estudante universitário, mas querer por Python a frente de Java em escalabilidade, aí não.

1
1

Programação nao é sobre escolher a linguafem mais rápida, mais escalável ou mais moderna. É sobre resolver problemas. 👏🏼👏🏼👏🏼 Apenas isso!

1

analise muito boa ! infelizmente é a esta Geração Z, quer tudo pronto, quer ir até Marte mas não sabe nem a Tabuada do 1 ! terminei meu curso de Engenharia em 2018 e não adiantava passar cola de cálculo avançado pros colegas pois não sabiam nem tabuada do 1, geração de analfabetos funcionais, só tristeza, como constatou na analise, ficam discutindo linguagens mas não sabem fazer um laço! Geração Terraplanista, pois o Universo é somente o que seus olhos podem ver

1

Eu tenho 16 anos, estudo python para desenvolvimento web com Django.

E respondendo a sua pergunta, sim, já passei por algo parecido, mas nunca foi com outras pessoas, mas sim comigo.

Eu sempre me perguntava se por acaso o Python for isso que as pessoas dizem eu poderia perder oportunidades no futuro. Com dúvidas, decidi pesquisar. E contar que encontrei o contrário.
Python escala e performa bem, tudo vai depender de como o sistema foi arquitetado, otimizações e tudo. Um sistema bem pensado, funciona certinho.

1

Resolva isso com python e js. FastAPI para o backend e no front usa (js, html, css).
Quem diz que python não escala é porque nunca trampou com python, fato.
Linguagens de programação são ferramentas e python é o canivete suiço das linguagens.
Os caras não conhecem Django, Django Ninja, Django REST framework ?
Cara, tem projeto grande do ONR (Operador Nacional do Sistema de Registro Eletrônico de Imóveis) que estão usando python (Django e FastAPI), e os caras preocupados com um sisteminha de faculdade, é cada coisa.

Tá aqui, tudo aqui... Akita já deixou tudo mastigadinho .

1

Obrigado pelo comentário! Concordo que Python pode escalar sim, desde que seja bem arquitetado e utilizado da forma correta. Ferramentas como FastAPI, Django e Django REST Framework tornam o desenvolvimento produtivo e flexível, e há muitos exemplos de aplicações robustas rodando com Python. Mas, ao mesmo tempo, é válido discutir trade-offs dependendo do contexto. No caso de um projeto acadêmico, o mais importante é a experiência de aprendizado e colaboração, e não apenas escolher a ferramenta mais poderosa. No fim das contas, toda linguagem tem seu lugar e seu propósito.

1

Desafio interessante e o espirito das pessoas em se mostrar adversárias ao que nós pensamos, pode proporcionar um ótimo momento de reflexão como nós estamos lidando com elas para alcançar os nossos objetivos.

Você fez o que tinha ser feito, mas ter paciência e manter-se focado no objetivo é essencial para conhecer melhor as pessoas e entender até onde ela aguenta aquela determinada personalidade, seja a sua ou a própria.

Entendo que o ponto essêncial a ser tocado é ter a relevância necessária para conduzir projetos maiores, afinal de contas o mundo que esta sendo projetado agora não é o mesmo que daqui 5 anos a frente, então entendo a preocupação.

1
1
0
1

Já vi acontecer muito, na minha época de faculdade (2007, faz tempo...) eu já tinha uma noção que isso poderia acontecer e tive a sorte que os trabalhos em grupos demoraram um pouco para acontecer, nesse tempo deu para conhecer bem a galera e sacar mais ou menos as habilidades técnicas, a maior parte das conversas eram nos corredores e no bar em frente a faculdade onde era normal a galera conversar sobre os projetos que estavam atuando, que tecnologias estavam usando e etc (praticamente meetups ocasionais, éramos um bando de nerds programadores).

Quando fomos montar os grupos, me preocupei em me juntar a pessoas com mais ou menos as mesmas habilidades que eu tinha, então não cheguei a viver a essa questão que você mencionou. Mas vi acontecer bastante nos outros grupos, principalmente daquele pessoal que não se juntava nesses pequenos grupos de "meetup" que comentei.

Mas em 2010 eu tranquei a faculdade e fiquei um ano fazendo cursos que a empresa pagou e aproveitei para fazer alguns outros também, quando voltei para a faculdade em 2011 cai em outra turma e percebi que o meu nível já não era mais compatível com a galera, então decidi fazer todos os trabalhos sozinho para evitar esse estresse que você passou.

5

Você basicamente desbloqueou o modo 'seleção natural dos grupos de projeto'. 😂 Mandou bem ao se cercar de gente com habilidades similares — isso evita muita dor de cabeça. Esses 'meetups de boteco' eram praticamente um filtro natural pra separar quem realmente se interessava de quem só estava ali pelo diploma.

Agora, a parte de trancar a faculdade, focar em cursos e depois voltar já em outro nível... eu imagino o choque. Deve ter sido tipo cair de paraquedas numa turma de iniciantes depois de um ano treinando no modo hard. Faz total sentido decidir tocar os projetos solo pra evitar o desgaste.

No fim, faculdade é muito sobre saber jogar o jogo e escolher as batalhas. Quem consegue se conectar com as pessoas certas e aprender fora da sala de aula sai muito mais preparado do que quem só segue o fluxo.

-3