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?
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.
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.
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).
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.
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.
Concordo que você deveria se isolar, como você citou na sua última frase.
Provavelmente será melhor para você e seus colegas.
isolamento é gostoso, mas perigoso, um dos dessfios no nosso meio, é se comunicar e se reunir com quem quer contribjir de fato, sinceramente.
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.
Python não escala, e não falou nada sobre Javascript uheaueahueahuhea
pra mim trabalho de faculdade tem que ser em python, a nao ser que seja mobile, mas python simplifica muito as coisas.
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.
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.
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 .
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
Programação nao é sobre escolher a linguafem mais rápida, mais escalável ou mais moderna. É sobre resolver problemas. 👏🏼👏🏼👏🏼 Apenas isso!
Pelo que entendi, vc está mais desabafando do que se importando realmente com a linguagem a ser utilizada. Desabafando sobre as pessoas querendo usar frases feitas como se entendessem do que estao falando, acontece com todos nos, inclusive me lembrou uma cena de the big bang theory: https://youtube.com/shorts/Lmyu-DeyXRs?si=sU8izIOTDG8cA9wB
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.
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.
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.
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.