![O desenvolvimento em nuvem mais rápido acontece localmente](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706225264_O-desenvolvimento-em-nuvem-mais-rapido-acontece-localmente-150x150.jpg)
O desenvolvimento em nuvem mais rápido acontece localmente
25 de janeiro de 2024![Sem servidor não significa DevOpsLess ou NoOps](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706227797_Sem-servidor-nao-significa-DevOpsLess-ou-NoOps-150x150.jpg)
Sem servidor não significa DevOpsLess ou NoOps
25 de janeiro de 2024Existem centenas de linguagens de programação hoje, abrangendo todos os tipos de categorias – frontend e backend, alto e baixo nível, interpretadas e compiladas. Para os desenvolvedores, pode ser fácil se concentrar apenas nas poucas linguagens que você usa no dia a dia. No entanto, é importante considerar como outras línguas, tanto emergentes como antigas, podem agregar valor de novas maneiras.
Aqui estão algumas coisas que você deve saber sobre três linguagens de programação importantes: uma é uma linguagem nova, outra ainda está em desenvolvimento ativo e a outra é um pilar de longa data.
Carbono é um sucessor, não um substituto para C++
No ano passado, o Google apresentou a nova linguagem de programação Carbon. Apesar da crença popular, Carbon não é um substituto estrito para C++. Em vez disso, foi concebido como um sucessor. Embora possa parecer a mesma coisa, a distinção importante é que ele se destina a ser usado junto com C++. A história de interoperabilidade é a parte mais importante. Você pode misturar C++ e Carbon no mesmo projeto – fazendo chamadas entre si perfeitamente.
Carbon aborda vários problemas significativos em C++. Esses problemas em C++ são o resultado de décadas de dívida técnica na linguagem que, devido às prioridades da evolução do C++, não pode ser abordada dentro do próprio C++.
Um problema é que C++ é notoriamente difícil de analisar — até mesmo para ferramentas — e muitas vezes requer muitas palavras-chave extras para obter o comportamento desejado por padrão. Sua abordagem original dos genéricos evoluiu para uma linguagem de metaprogramação completa, mas não conseguiu cumprir alguns de seus objetivos iniciais.
Carbon também pretende abordar o modelo de governança do C++. Favorece o modelo de ditadores benevolentes (ênfase no plural) com um processo de evolução aberto em ferramentas modernas, em vez de um padrão internacional (ISO) que é otimizado para representação por nações e corporações.
Em última análise, o projecto Carbon é absolutamente necessário, uma vez que o C++ atingiu uma barreira em várias áreas importantes da evolução que não pode abordar sem alterar as suas prioridades de uma forma que isola muitos (talvez a maioria) dos seus utilizadores. Foram feitas tentativas de introduzir sistemas de controle de versão na linguagem para contornar isso, mas elas falharam, derrotadas pelas próprias complexidades da linguagem que pretendiam abordar. C++ continuará a viver e evoluir por muito tempo e continuará sendo uma linguagem importante, mas suas limitações são reais e inevitáveis.
Para que o C++ tenha sucesso, ele precisa ser bem-sucedido. O Carbon foi projetado para fazer exatamente isso.
O Sonar capacita desenvolvedores e organizações para atingir sistematicamente um estado de Código Limpo, para que todo o código esteja adequado para desenvolvimento e produção. Com a confiança de mais de 500.000 organizações em todo o mundo para limpar mais de meio trilhão de linhas de código, o Sonar tornou-se parte integrante do fornecimento de software. Insight Partners é um investidor na SonarSource e na TNS.
Saber mais
As últimas novidades da SonarSource
$(document).ready(function() { $.ajax({ método: ‘POST’, url: ‘/no-cache/sponsors-rss-block/’, headers: { ‘Cache-Control’: ‘no- cache, no-store, must-revalidate’, ‘Pragma’: ‘no-cache’, ‘Expires’: ‘0’ }, dados: { patrocinadorSlug: ‘sonarsource’, numItems: 3 }, sucesso: função (dados) { if (data.startsWith(‘ERROR’)) { console.log(data); $(‘.sponsor-note-rss’).hide(); } else { $(‘.sponsor-note-rss-items -sonarsource’).html(dados); } } }); });
Hylo mostra o poder da semântica de valores mutáveis
Hylo, anteriormente conhecida como Val, é uma linguagem experimental projetada para programação de sistemas de alto nível centrada em um conceito chamado semântica de valores mutáveis. Ele prioriza a simplicidade e a facilidade de uso sem sacrificar o desempenho. Hylo ainda não recebeu muita atenção porque ainda está em desenvolvimento, mas assim que a versão 1.0 for lançada, poderá haver uma boa adoção. No entanto, a primeira versão provavelmente demorará algum tempo, talvez anos, para ficar pronta.
A semântica de valor é um modelo de objetos onde os dados são representados como valores distintos e independentes — em oposição à semântica de referência, onde a localização da memória do objeto subjacente é exposta e pode ser compartilhada. Quando dados com semântica de valor são atribuídos a outra variável ou passados para uma função, os valores originais e novos são isolados um do outro. As modificações em um não afetarão o outro, tornando o código mais fácil de raciocinar. Isso geralmente é conseguido copiando os objetos que representam os valores. Onde os valores são imutáveis, muitas vezes é possível compartilhar os objetos reais nos bastidores para minimizar a sobrecarga de cópia.
Com mutável semântica de valor, tal compartilhamento é normalmente proibido, mas com dicas suficientes da linguagem, que Hylo fornece, o compilador pode empregar técnicas como empréstimo de referência (à la Rust) ou cópia na gravação para ainda evitar ou minimizar essas cópias. Como resultado, você obtém a simplicidade de programação de valores puros, com mutabilidade e compartilhamento gerenciados com segurança pelo compilador.
Pitão e C++ – uma combinação feita para codificação
Python demonstrou seu valor com inúmeras aplicações ao longo das décadas. É provavelmente a linguagem mais direta de aprender, sendo simples de usar. Uma linguagem muito versátil, o Python pode cobrir muitos casos de uso, desde pequenas tarefas, como analisar rapidamente alguns dados em uma planilha, até vasculhar automaticamente a web em busca das manchetes de hoje, até coisas maiores, como criar aplicativos da web ou realizar algum trabalho sério de ciência de dados.
Embora seja uma linguagem popular por ser fácil de usar e por sua legibilidade, Python não tem alto desempenho por si só. É por isso que Python e C++ juntos formam um par tão bom – você obtém a facilidade do Python com o alto desempenho do C++.
O benefício de aproveitar essas duas linguagens juntas não é um conhecimento incomum, mas o uso das duas juntas ainda não é feito em grande parte fora da ciência de dados, da numérica e do aprendizado de máquina. Ao usar Python e C++, os desenvolvedores podem obter a simplicidade que o Python oferece sem ter que desistir do poder que o C++ oferece. Isso é especialmente benéfico com o surgimento do aprendizado de máquina e da IA nos últimos anos, já que os pontos fortes de ambas as linguagens podem ser bem executados em casos de computação numérica e aprendizado de máquina onde é necessário alto desempenho.
Python tem alguns wrappers excelentes em torno de bibliotecas C++, e é muito fácil chamar C++ a partir de Python ou usar várias bibliotecas de interoperabilidade amplamente utilizadas, como NumPy, Boost Python e PyBind11. Dessa forma, todo o trabalho pesado é feito em C++, e você pode simplesmente importar seu projeto Python.
Tanto Carbon quanto Hylo são muito promissores, mas provavelmente ainda levarão alguns anos antes que possam realmente ser usados. No entanto, você pode usar Python com C++ agora mesmo e obter muitos dos benefícios que os dois juntos oferecem.
Continue aprendendo sobre idiomas
Para que os desenvolvedores de software continuem crescendo, eles precisam continuar aprendendo. Isso significa não apenas conhecer novas linguagens de programação, mas também pensar em novas aplicações para linguagens familiares. É fácil manter-se atualizado: há muitos blogs excelentes de engenharia de software, publicações de desenvolvedores e eventos de codificação para ficar de olho. E claro, não deixe de conferir o blog do Sonar e acompanhar nossos posts aqui no The New Stack.
A postagem O que você precisa saber sobre Carbon, Python e Hylo apareceu pela primeira vez no The New Stack.