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

@maniero, pelos seus conhecimentos, você acha que possa existir uma tendência das pessoas de voltarem mais para a base das linguagens (C, C++ e etc)? Ou talvez elas prefiram "simplesmente" melhorar linguagens atuais para que possam ter uma eficiência melhor e mais ecológica?

Ou nenhuma das duas opções kkkk

Talvez uma terceira hipótese quem sabe, seria a de focar na construção de linguagens ecológicas, eficientes e fáceis de utilizar.

De todo jeito, nosso conhecimento em computação precisa estar mais avançado do que nunca, agora que a IA consegue nos trazer a facilidade para fazer certas coisas em computação, acho que daqui para frente a especialização é cada vez mais crescente e essencial.

Carregando publicação patrocinada...
1

Se eu entendi o que quer dizer, acho que não. Quem precisa vai continuar usando C, C++ ou vão para Rust ou vão aderir à Carbon, mas o grosso das pessoas não farão isso, e não tem porque fazer. Inclusive C# agora está se posicionando cada vez mais como uma opção mais fácil e simples para chegar perto dessas linguagens sem perder oque sempre foi. Go tem um pouco disso também, mas claro que o GC a complica estarem no mesmo nível. Atá Swift procura mais eficiência (pena que algo falha e não entrega tanto quanto parece que eles querem).

Então parece que vai ser mais melhoria do que existe para atender mais demandas de eficiência.

O que mais acho é que as pessoas cada vez mais terão poucas preocupações com eficiência, o que é um erro, mas entrega o resultado, o que já é o que as pessoas querem e não vejo isso mudando.

Não é muito fácil criar algo que atenda a todos esses requisitos. Para ser mais eficiente precisamos criar um fardo para o programador. E por enquanto nem IA pode ajudar muito (um pouco sim, se alguém construir uma ferramenta específica - existem algumas que não são IA mas ajudam).

Uma das ideias que eu tenho para gerenciamento de memória em uma linguagem é algo que nunca vi em linguagem alguma e é muito bom. Mas não é perfeito. E claro que consegue a mesma eficiência com C. Rust ou C++, mas com muito trabalho e que não conversa bem com outros códigos que não adotem a mesma técnica. O problema é que o mecanismo que eu bolei não atende 100% dos cenários, e os raros que não atende, terá que ser ineficiente e dará uma dor de cabeça enorme para o programador (pode ser mais fácil quando abre mão da robustez, como ocorre em Rust, boa parte do tempo em C++ e 100% em C). No normal o programador terá alguma facilidade, mas não é tanto quanto alocar objetos em linguagem de script. Terá eficiência de processamento, mas desperdiçará um pouco de memória. Não tenho uma avaliação boa ainda da complexidade que seria o compilador, mas não seria simples. Boa parte da eficiência está ligada ao gerenciamento de memória.

Se ler tudo o que eu posto, cuidado com IA. Ela não é o que as pessoas acham que é.

1

O que mais acho é que as pessoas cada vez mais terão poucas preocupações com eficiência, o que é um erro, mas entrega o resultado, o que já é o que as pessoas querem e não vejo isso mudando.

Isso está relacionado também a questão de que as linguagens mais "fáceis" de aprender também são as que são menos eficientes? E por conta da popularidade, e talvez a falta de aprofundamento, pode levar pessoas a não se importarem com conhecimentos mais complexos como eficiência energética?

Além é claro da nossa capacidade tecnológica atual que já produz celulares e computadores milhares de vezes mais potentes do que o de décadas atrás, quando foram criadas as linguagens como Assembly e C.

Não é muito fácil criar algo que atenda a todos esses requisitos. Para ser mais eficiente precisamos criar um fardo para o programador.

Aqui mencionasse sobre o fardo sobre o programador, e é por isso que mencionei a questão da IA.

Ela me parecer estar quebrando um pouco essa visão de "O que é ser um programador?", porque com tantas tecnologias hoje e acesso a conhecimento, é muito fácil uma pessoa criar um código, conseguir a explicação de como ele funciona e como fazer ele ir para o ar.

Agora, coisas mais complexas, vão demandar mais tempo e um melhor uso da tecnologia, mas não apenas isso, é necessário que existam pessoas capazes de manter as tecnologias atuais e desenvolver tecnologias ainda mais avançadas, o que acredito que a maioria dos programadores atuais não está preparada, eu inclusive.

Por isso menciono que talvez esse "fardo", seja algo que irá ser necessário para que consigamos progredir ainda mais na área de computação e tecnologia.

Acredito que a IA hoje, apesar de ser incrível em muitos aspectos, não é atualmente algo tão "milagroso" como o Surgimento da Internet, porém, acredito que ela está servindo muito mais para anunciar um novo futuro e presente e trazendo um choque de realidade.

É quase como o prelúdio de uma nova Revolução Industrial, que vem claro com diversos outros conflitos sociais.

E daí podemos até ter outra perspectiva, mais sociológica, será que o nosso entendimento da Inteligência Artificial no Capitalismo é o que ela deveria ser? Esse é o máximo da Inteligência Artificial? Acredito que ainda vamos estar sempre voltando a assuntos ainda mais filosóficos para também entender onde a tecnologia precisa avançar, e as motivaçõe para isso, além de Quem irá fazer isso?

Uma das ideias que eu tenho para gerenciamento de memória em uma linguagem é algo que nunca vi em linguagem alguma e é muito bom. Mas não é perfeito. [...] O problema é que o mecanismo que eu bolei não atende 100% dos cenários, e os raros que não atende, terá que ser ineficiente e dará uma dor de cabeça enorme para o programador [...] Não tenho uma avaliação boa ainda da complexidade que seria o compilador, mas não seria simples.

Não sei se já estás colocando em prática essa ideia de projeto, mas acredito que conseguiria diversas pessoas para apoiarem, e talvez até investimentos de empresas para produzir algo do tipo.

Acredito que para onde estamos indo no momento, ideias cada vez mais complexas serão necessárias para resolver problemas ainda mais complexos.

2

Acho que as pessoas procuram o que é mais fácil de usar. Até mesmo os melhores programadores, e até porque faz sentido. Os piores procuram as mais fáceis de aprender, e isso não faz sentido, a não ser que a pessoa use programação pontualmente, mas eu falo de engenheiros, o resto tanto faz. Nenhum problema em usar o mais fácil, eu faço isso, é o correto, desde que atenda bem. E a maioria dos problemas são bem atendidos para linguagens mais fáceis.

Ainda que esse fácil muitas vezes é ilusão. Tem caso que começa fácil mas em projetos grandes, que duram, o fácil pode se tornar difícil. Eu tenho bastante experiência nisso. A maioria das pessoas não trabalham em projetos grandes por anos, quase todo mundo pula de um projeto para o outro. Quase todos os projetos que eu peguei eram alguns que começaram bem e foram deteriorando com o tempo por usar algo que parecia fácil. Tentar entregar o mais rápido possível não vale a pena no longo prazo. Tem gente que trabalha em um 1 ano, em mais projetos que eu trabalhei na vida, obviamente que esses projetos são pequenos e simples ou são largados no meio do caminho.

Mas isso pouco importa quando falamos das linguagens de nível um pouco mais baixo. A questão do gerenciamento de memória é que pega. è o que mais faz diferença e muda completamente o panorama. Há quem diga que só existem 3 balas de prata na computação: a linguagem de alto nível (qualquer uma que não é Assembly e binário), a modularização (principalmente funções), e o gerenciamento automático de memória. Ninguém deve optar por uma linguagem que não tenha essas 3 coisas (no caso é mais o gerenciamento que falta em algumas) sem ter um motivo muito forte.

Eu acho que a questão energética não é tão importante mesmo, mas deveria ser mais. E claro que em alguns casos faz mais sentido que outros. Não é para economizar em tudo. Mas todo engenheiro deveria saber fazer e ter consciência disso. Se a pessoa nem pensa na questão e sabe como fazer se for necessário, no mínimo ela não é sênior. Para alguns trabalhos é importante. Curiosamente muitas vezes quando se coloca na nuvem, algo que eu tendo a evitar, mas se colocar, então faça direito, para o bem do projeto em todos os aspectos.

Só porque tem não quer dizer que devemos desperdiçar. É melhor o celular ter a bateria durando mais sempre. É melhor pagarmos menos por servidores. É melhor certas aplicações rodarem mais rápido e serem mais econômicas. Porque a eficiência de energia sempre entrega mais velocidade de execução, em alguns casos mais que outros.

E é o que eu falo sempre, a IA não vai programar para você, ela não é inteligente (nem artificial), ela não é capaz de resolver quaisquer problemas, principalmente os não computacionais. E em alguns casos, mesmo que faça, custa caro. A IA é muito falha para confiar nele. Vai melhorar, mas não fará os milagres que as pessoas estão esperando. E até onde eu sei ninguém está pesquisando uma IA para achar erros de gerenciamento de memória em código. A IA que usam hoje é um gerador de lero lero avançado. Ela ajuda no que é mais bobo, e só porque brilha a pessoa acha que é algo mágico

O gerenciamento de memória é muito complexo, para um ser humano, e pode ser para uma máquina. A IA ajuda muito em achar positivos, que podem ser falsos, e um humano precisa verificar, mas ela deixa passar negativos, e se um humano não verificar é um enorme problema, e o trabalho para verificar isso é tão grande quanto não usar a IA. Até pode dar algum ganho, mas também a falsa impressão de segurança. Não quero transformar isso em discussão da IA, já está bom até aqui.

O fardo existe onde precisa mesmo, não tem como escapar, no máximo dá para minimizar.

Não devo colocar em prática, realmente é um investimento alto e meu momento na área é outro. Na verdade eu não acho que haverá interesse. O ganho é interessante, mas tem um custo alto. Quem está acostumado com performance, não vai embarcar nisso, quem não liga para ela não verá vantagens, só as desvantagens. Algumas pessoas podem até gostar, Rust está aí pra provar isso. E justamente está aí mostrando que ela não resolve tudo e muita gente que usa C ou C++ nem cogita ir para Rust. Algumas pessoas sabem que ela não é tudo o que as pessoas dizem, apesar de ser bem boa.

Para algo se tornar popular não poderá ser complexo. Por isso a ideia de chat é muito boa... para a popularidade.