Há muitos anos era esse dilema qual é o melhor??? C#, Java, VB, Delphi, C, C++... Agora temos o RUST e Python.
Quando o MonoSDK e o MonoDevelop deixaram de ser suportados pela comunidade nós programadores Linux ficamos órfãos de uma boa solução para programar C# no Linux. Existe o Jetbrains RIDER é ótimo, porém o preço da licença é realmente para quem usa C# como a linguagem de seus projetos e trabalha exclusivamente nela.
No meu caso como iniciei minha carreira em 1977 como Administrador e Operador de sistemas UNIX não tinhamos como fugir do C e se quiser trabalhar com OOP usar o C++ que ambos estão em sua versão C23 publicada em 2024, ou seja a linguagem tem seus já seus 50 anos, eu estou com 58 (nasci em 1967).
Eu vi a maioria das linguagens hypes dos anos 80 e 90 nascerem e muitas cairem em desuso ficando vivas apenas graças ao Legacy Code. Atualmente estou muito positivo com a RUST e GOlang tem uma sintaxe e conceitos elegantes, resolvem e previnem os memory leaqs, andei dando uma estudada no Q# (proposta pela Microsoft para Computação Quântica) porém é emulada (afinal não dá para termos um computador quântico para estudos) supercomputação hoje é fácil graças as Raspberry Pis e as Nvidias JET Nano ORIN (que permitem você trabalhar com desenvolvimento de I.A. Generativa).
Em 1990 sai a primeira versão do Linux (embora eu já tivesse acompanhado o livro do Andrew Tannenbaum de Sistemas Operacional onde vinha um passo a passo para construir do zero um sistema operacional UNIX LIKE chamado MINIX totalmente em C, recomendo a todos que pelo menos uma vez na vida façam essa experiência e digitar o código fonte em C, debugar e compilar, isso vale a experiência que nenhuma faculdade federal ou particular de Engenharia de Software e Computação irá te oferecer, Botar a mão na massa e escovar alguns bits, temos também a vantagem do Linux, Unix e o Raspbian serem Opensource e você pode fazer um fork do github a vontade.)https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.amazon.co.uk%2FOperating-Systems-Design-Implementation-MINIX%2Fdp%2F8120329554&psig=AOvVaw3KFMovNLJWlSmbdZ4Mg1OF&ust=1740062616506000&source=images&cd=vfe&opi=89978449&ved=0CBAQjRxqFwoTCJjjt8X8z4sDFQAAAAAdAAAAABAE
Então diante de tudo isso e meu histórico profissional de 48 anos na área! ah isso não te faz um milionário mas estou tentando ainda vou chegar lá. O que aprendi e vou transmitir para vocês jovens developers:
- Não existe linguagem melhor ou pior! o fato reside se ela é adequada para implementar a solução ou não! e neste caso o conhecimento de várias linguagens de programação irá te dar o expertise para determinar qual a linguagem é apropriada para resolver o problema.
- Não fique focado na linguagem em si mas sim focado na SOLUÇÃO do problema e no ALGORITMO(S) e na Lógica (Use fluxograma para essa parte, esqueça aquelas baboseiras gráficas de UML) e para documentar os Objetos (Diagrama de Objeto é ideal para visualizar e documentar, porém a lógica dos métodos use o bom e velho fluxograma para documentar que daqui uns 20 anos quanto tiver que dar manutenção tu vai me agradecer essa dica). Veja isso é como se fosse a planta baixa de uma velha construção, ajuda muito mesmo se o objetivo é fazer uma expansão de features sem precisar fazer toda uma reengenharia num legacy code que FUNCIONA
- Não EXISTE PROGRAMADOR RUIM o que existe é PROGRAMADOR SEM EXPERIÊNCIA E VIVÊNCIA por isso antes de ficar chamando aquele senhor de 58 anos de vovô papai noel e ficar oferecendo fralda geriátrica e comidinha de bêbe para trollar. Cola no Gandalf da Computação e aprenda com ele os verdadeiros Hacks de desenvolvimento.Lembre-se que a humildade te leva longe! O valor de uma pessoa não está na juventude e sim NO CÉREBRO DELA E SUAS EXPERIÊNCIAS DE VIDA é aí que está o verdadeiro respeito: RESPEITE A SABEDORIA DE VIDA! Sim eu também tive meu Gandalf e tive muita sorte aquele senhor me ensinou Assembly e C com maestria, lição para toda vida! E nós eramos responsáveis pela manutenção dos sistemas de uma grande multinacional americana, corrigiamos as cagadas do dream team da TI e salvavamos a bunda deles quando as coisas davam errado!
- A melhor linguagem de programação é AQUELA QUE VOCÊ DOMINA COM MAESTRIA
- O DIFERENCIAL DE UM DEV É O DOMÍNIO DE ALGORITMOS E ESTRUTURAS DE DADOS é isso mesmo aquela matéria chata, massante, teórica, etc.. etc... SIM ELA É A DIFERENÇA DE SER UM SENIOR OU UM ETERNO JUNIOR. USE, REVISE, RECICLE E APLIQUE A EXAUSTÃO em seus projetos. Eu aprendi isso quando precisei CRIAR UM DATABASE RELACIONAL DO ZERO para um projeto que não poderia usar Banco de Dados comerciais por uma questão de SEGURANÇA NACIONAL então já entenderam para que tipo de cliente eu tive que desenvolver e ficar rezando para os caras não resolverem me eliminar para não deixar pontas soltas por isso use a filosofia do grande e eterno GALEN WALTON ERSO: "TORNE-SE ESSÊNCIAL E INSUBISTITUÍVEL". AH isso tem um nome bonitinho hoje chama-se LEETCODE e é usado nos atuais processos seletivos das empresas techs do mercado.
Minha escolha atualmente é usar o C/C++23 que é compatível com C17 e C20 e implementa novas features interessantes e o RUST inclusive para ficar FODÃO NELA vou reescrever o código do MINIX inteiramente em RUST e deixar opensource no GITHUB para quem quiser ver como fica em RUST a implementação do MINIX o que poderá motivar que iniciativas de projetos de Linux reescrito em RUST e acabar com o conflito que atualmente existe no Projeto, deixa o LINUX com C e parte para um RLinux ou GLinux (pra quem curte GOlang).
No meu caso é que preciso de um código que execute rápido.
Inclusive para projetos de I.A em Python eu optei para usar compilações de Cpython e Cython pois geram código C e podem ser compiladas e desta forma termos Executáveis baseados em código fonte Python ultra rápidos e compactos.
Outra razão é minha paixão por Desenvolvimento de Jogos, e neste caso poderei usar o GODOT/REDOT e UNREAL para projetos de Metaverso, Realidade Virtual, Realidade Aumentada, Realidade Mixada, e XR. Pois não parece mas o Metaverso só esta hibernando porém quando a tecnologia gráfica, inteligência Artificial e de processamento estiverem no ponto de maturação certa, vai ser um BOOM e não um Hype Marketing da META, e tenho a desconfiança de quem vai liderar essa revolução seja a NVIDIA.
DICA FINAL: O JAVA para quem quer trabalhar na Gringa e na Europa abre portas de emprego, falo por experiência própria. Quando estive na Itália de 2000 a 2004 minha tia queria que fosse trabalhar de garçon no restaurante onde ela era cozinheira(uma pessoa com curso superior em Design Industrial e Artes Plásticas) eu não concordei pois acreditava que poderia trabalhar na minha área de software inclusive porque os caras estavam muito defasados em relação a nós no Brasil no quesito Web. Fui a uma entrevista em Milão e consegui o trabalho, inclusive era para ensinar Engenharia de Software em JAVA, e na minha entrevista com o Diretor e CEO ele me perguntou sobre CORBA, que estratégias usaria para manutenção de Legacy code, e falei com sinceridade e isso me valeu uma vaga. Na Europa o que domina é IBM AIX e Linux como S.O de datacenter. Salário de 7.000 EUROS. Voltei pro Brasil em 2004 pois minha avó estava com câncer e precisei estar ao lado dela, afinal foi ela que me criou e educou! Sim tem horas que você tem que tomar duras decisões e sacrificar futuro e carreira por um bem maior, mesmo que seja um paciente terminal! não me arrependo! Isso me tornou mais humano e ciente de como nossa vida é passageira.
PYTHON + DATA SCIENCE + I.A. é uma boa combinação porém é possivel combinar com C/C++ C# JAVA GO RUST o importante fazer um portfólio de códigos de exemplo no Github e deixar isso público no Linkedin assim quem estiver de olho pode conferir suas SKILLS de programação, Padrões de Design, CLEAN CODE (cuidado nem tudo é aplicável inclusive vai depender se é implementável na linguagem que você utiliza falo pela experiência em GO nem tudo que tá lá vale para este caso).
NÃO SEJA XIÍTA E MILITANTE DE TECNOLOGIA você perde tempo, energia, numa luta de evangelização que é fútil! TECNOLOGIA É COMO MULHER ELAS VEM E VÃO (ISSO VALE PARA OS HOMENS TAMBÉM) quem já passou por pelo menos 2 divórcios sabem do que estou falando.
Se for militar e advogar faça isso por muita grana! Mas aviso isso pode queimar sua reputação tipo Felipe Neto, A grana pode ser boa mas vender a alma pro diabo nunca é um bom negócio!
TRABALHE REMOTO(EMPRESAS QUE EXIGEM PRESENCIAL GERALMENTE SÃO TÓXICAS E NUNCA CUMPREM O QUE PROMETEM: POR FORA BELA VIOLA POR DENTRO PÃO MODORRENTO E DEMONSTRAM QUE SÃO RETROGRADAS INCLUSIVE CERTAS BIG TECHS)! SE PUDER SEJA UM NÔMADE DIGITAL CURTA A VIDA, FAÇA VIAGENS CONHEÇA NOVAS CULTURAS. E PRATIQUE A REGRA 80/20 = 80% DE ADIANTAMENTO e 20% NA ENTREGA FINAL se houver calote pelo menos você já recebeu 80%.