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

O mais importante pra um trabalho bem feito é você gostar do que faz. Não adianta eu dizer pra você programar em Rust se sua paixão é Python. Essa paixão pode ser mais decisiva para o sucesso do que escolher uma tecnologia apenas por suas vantagens técnicas.

Pra quem gosta de programar em Python, tem experiência na área e não tem vontade de aprender outras linguagens, o Kivy pode ser uma excelente opção para você desenvolver para desktop e mobile.

Acho que "aprenda Dart", ou "aprenda html+css+typescript+react", ou "aprenda Rust", são boas dicas se eu quiser focar em apenas um critério: qual a ferramenta mais eficiente possível para realizar X?

Mas no mundo real, as pessoas não têm tempo nem interesse para aprender todas as tecnologias, linguagens e frameworks disponíveis, que mudam constantemente a cada semana. Eu mesmo, apesar de ter experiência com typescript e react, não me divirto tanto quanto quando estou programando na minha linguagem favorita: Python.

Carregando publicação patrocinada...
1

Mas meu ponto é eficiencia, pode dizer o que for, nao vai mudar o fato de que as "queridinhas" sao as "queridinhas" por conta de sua eficiencia na resoluçao de tais problemas, é muito facil falar "vai, programa com o que ama, use um python na web, um golang pra desktop, um c pra mobile", agora quero ver ter a maturidade tecnica de dizer o que é e o que nao é eficiente pra problema x e y, esse é o meu ponto. Como eu disse, vai resolver seu problema, mas vai correr o risco de enfrentar inumeros problemas no desenvolvimento e na escalabilidade do projeto.

A questao é deixar o saudosismo de lado e passar a entender que sao no fim ferramentas. Eu trabalho com front end, meu main, mas fui designado a criar um app offline para a empresa, corri atras e to terminando o aplicativo com quase 2 meses de desenvolvimento, eu gosto do mobile? nem de longe, mas eu o faço, afinal, nao sou um programador front end, sou um solucionador de problemas...

E eu nao gosto da area por tecnologia x ou y, eu amo a area por conta desse mundo diverso, com inumeras possibilidades de fazer o que quiser, como quiser e quando quiser, ser literalmente um "mago" do mundo moderno, isso que me fascina nessa area, nao uma "tszin com rééct", isso é bobagem, eu nao estudo ferramenta x ou y, eu estudo PROGRAMAÇAO e o seu vasto mundo, é assim que penso, espero que tenha entendido meu ponto.

1

Entendo sim, perfeitamente, e concordo com você.
O ideal é você usar a melhor ferramenta para cada tipo de problema, isso não há dúvidas.

Mas tem um ponto na questão da 'eficiência', se você estiver se referindo à velocidade de execução, é uma coisa, mas velocidade de desenvolvimento é outra!

Rust pode ser a melhor linguagem do mundo, mas se você leva dois meses pra terminar o "Hello World" que pediram na empresa, você está demitido! Não importa se seu "Hello World" roda em 8 nanossegundos mais rápido que o meu. Não adianta você fazer algo 2x mais eficiente mas levar 30x mais tempo!

Uma coisa é você estar trabalhando pra Google e está tentando fazer um app pra escalar para bilhões (não é realidade pra maior parte das pessoas simples, como eu).

Outra é você trabalhar pra padaria da esquina, e quer fazer apenas um controle de estoque simples pra entregar no mês que vem.

Garanto que você começa hoje em Python e no mês que vem você entrega um app excelente que faz o que precisa. Sem firulas.

Agora se você tiver que parar pra aprender uma nova linguagem do zero, ou ainda passar um prazo de desenvolvimento de 6 meses, você vai acabar ficando sem pão. Então acredito que depende muito do contexto: qual a complexidade da aplicação a ser desenvolvida, qual o prazo de desenvolvimento, quem vai desenvolver (quais suas experiências com cada uma das tecnologias que você pode utilizar pra criar o app), para quem vai ser desenvolvido, qual o tamanho do público da aplicação, e assim por diante... cada um deve avaliar conforme sua própria realidade.

Se você for começar do zero alguma coisa, nesse caso o melhor seria você já começar com a melhor ferramenta. Mas até isso é muito volátil, a melhor ferramenta hoje pode ser a pior amanhã. O cara pode ser o maior manjador de Dart da Sibéria, mas se depois de amanhã o Flutter for descontinuado, provavelmente é um conhecimento que você não vai poder fazer muita coisa usando apenas Dart. Quem usa Dart pra qualquer coisa além de Flutter? Eu nunca vi.

Mas se você aprender uma framework em Python, seja ela qual for, e amanhã tiver outra melhor, provavelmente você vai continuar programando em Python, porque a linguagem em si é sólida. Enfim, tentando enxergar um equilíbrio nesses pontos todos que você trouxe.

2

Penso exatamente como você, às vezes ficamos muito noiados em relação ao desempenho da aplicação, mas esquece que muitas das vezes a diferença é inútil...

O resultado disso é: todas as ferramentas são importantes e devem ser trabalhadas para serem melhores em todos os sentidos, assim, qualquer problema pode ser resolvido.