Os 10 principais relatórios da conferência C ++ Russia 2018: vídeos completos, slides e comentários

Neste artigo, você encontrará dez melhores relatórios de Andrei Alexandrescu, David Vandervoord, John Kalb e muitos outros.


Recursos do compilador C ++, assincronia, multithreading, simultaneidade, modelo de memória, algoritmos e STL, metaprogramação e reflexão, muitos tópicos.



Todas essas são as gravações da conferência C ++ Russia, a maior da história. Oitocentos participantes, um salão bastante grande, palestrantes mundialmente famosos. Um ano se passou, mas a maioria dos relatórios não perdeu sua relevância. No entanto, não é surpreendente - apenas esses relatórios chegam ao topo de acordo com os participantes.


O formato é o seguinte:


  • Vídeo obrigatório do YouTube
  • Slides, se houver
  • Uma descrição detalhada do relatório em russo
  • Breve biografia do orador

Além disso, você tem os comentários de Habr para discutir o que viu. A publicidade no YouTube está desativada, ninguém irá interferir. Há tudo para começar a assistir agora.


10. Dicas e truques de gerenciamento de memória


Alexey Salmin



Em 2017, a questão de escolher um alocador em C ++ não perde relevância. Eles adicionaram uma nova maneira ao padrão de escolher um alocador local para contêineres ( std::pmr ), tcmalloc global e jemalloc continuam a evoluir, bem como as interfaces do kernel nas quais eles dependem. Este relatório é dedicado ao "andar inferior" do design: os recursos do mmap e do madvise no kernel Linux e o impacto desses recursos no desempenho dos alocadores.


Sobre o palestrante


Alexey Salmin se formou na MMU NSU, estava envolvido em computação simbólica e análise estática, trabalhou na Intel em Novosibirsk. Desde 2016, ele trabalha no escritório da Yandex Moscow, desenvolvendo pesquisas de back-end em tempo real.




9. Práticas recomendadas para simultaneidade em C ++ moderno


Rainer Grimm



Slides


A padronização do C ++ 11 nos deu um modelo de memória e multithreading. Existem coisas padrão na biblioteca como atômicas, threads, tarefas, bloqueios, variáveis ​​condicionais. O modelo de memória fornece garantias para o uso multithread dessas unidades de base.


Sete anos se passaram, a prática do uso seguro de modelos multithreading e de memória. Neste relatório, aprendemos em detalhes sobre essas práticas: sobre as regras gerais de multithreading e regras especiais para primitivas de biblioteca e modelo de memória. As questões discutidas abrangem tópicos mais amplos do que apenas a linguagem C ++.


Sobre o palestrante


Rainer Grimm trabalhou como arquiteto, líder de equipe e instrutor por mais de 20 anos. Em seu tempo livre, ele gosta de escrever artigos sobre C ++, Python e Haskell e falar em conferências. Ele administra um blog chamado Modern C ++. Atualmente, ele é palestrante dos tópicos de C ++ e Python modernos. O'Reilly e Leanpub publicam vários de seus livros: "C ++ 11 para programadores", "C ++", "C ++ - Standardbiliothek", "The C ++ Standard Library".




8.2020: Uma odisséia void_t


Ivan Čukić



Slides


O C ++ sempre teve um poderoso subconjunto da linguagem de metaprogramação que permite que os desenvolvedores executem truques mágicos como introspecção estática para garantir a execução polimórfica sem herança. O problema é que essa sintaxe é muito pervertida e excessivamente detalhada - tudo isso faz da metaprogramação uma tarefa bastante impressionante.


As últimas melhorias no padrão, combinadas aos novos recursos do C ++ 20, facilitam a metaprogramação e os próprios metaprogramas mais legíveis e compreensíveis.


Nesta palestra, examinaremos as técnicas modernas de metaprogramação, com foco na void_t mágica void_t.


Aliás, no C ++ Russia 2019 em Moscou, Ivan fará uma apresentação sobre “Design C ++ somente para movimentação” e também realizará o treinamento “Programação funcional aplicada em C ++” : o STL está longe da programação funcional, o que são objetos funcionais, std :: invoke e monads , mônadas, mônadas. E mais algumas mônadas. O treinamento de Ivan não é para o nível básico, será adequado para intermediários que desejam abrir mais as portas da percepção.


Sobre o palestrante


Ivan trabalha no departamento de PhD Ciência da Computação da Faculdade de Matemática da Universidade de Belgrado, especializado no design de linguagens de programação. Um colaborador de longa data do KDE trabalhando em estruturas de plasma e de baixo nível para analisar e gerenciar ações do usuário. Manutenção de atividades, Contour e Lancelot.




7. Paralelismo moderno em C ++ da CPU à GPU


Marca Simon



Slides


A programação paralela pode ser usada para se beneficiar de arquiteturas multinúcleo e heterogênea, aumentando significativamente o desempenho do software. O C ++ moderno já percorreu um longo caminho na simplificação do processo de programação paralela, introduzindo abstrações de alto e baixo nível. O C ++ 17 avançou ainda mais e nos deu novos algoritmos paralelos de alto nível, e espera-se ainda mais do C ++ 20. Neste relatório, participaremos de uma revisão dos utilitários existentes para organizar o paralelismo e olhar para o futuro, onde GPUs e sistemas heterogêneos receberão suporte com novos recursos da biblioteca padrão e examinaremos novos padrões como o SYCL.


Sobre o palestrante


Simon é um desenvolvedor de cadeia de ferramentas GPGPU com foco em C ++. Insalubre adora a metaprogramação de modelos e os lados mais sombrios da linguagem. Você pode encontrá-lo facilmente nos comentários no canal StackOverflow, C ++ no Slack ou nos encontros da comunidade C ++ em Edimburgo, onde ele é um dos organizadores. Ele gosta de discutir questões de formalismo na linguagem, hacks de padrões, cerveja, uísque, cinema experimental e o trabalho de Carly Rae Jepsen.




6. Memória é a abstração perfeita


Fedor Short



Slides


 int* ptr = new int; *ptr = 42; delete ptr; 

O que realmente acontece quando essas três linhas de código são executadas? Examinaremos o alocador de memória, o sistema operacional e o hardware moderno para dar uma resposta exaustiva a esta pergunta.


Sobre o palestrante


Fedor, formado em Fiztekh, estava envolvido em negociações de alta frequência na bolsa de valores de Moscou. Ele trabalha na Yandex, desenvolve um sistema de armazenamento e processamento de dados YT. Ele ensina C ++ no primeiro ano da escola de análise de dados.




5.105 Algoritmos STL em menos de uma hora


Jonathan boccara


Slides



Todos sabemos que seria bom conhecer os algoritmos STL. Utilizando-os na construção da arquitetura, você pode torná-lo mais expressivo e confiável. Às vezes é muito significativo e espetacular.


Você chegou à realização de seus algoritmos?


Neste relatório, você verá todos os 105 algoritmos, incluindo os adicionados nos padrões 11 e 17. Mas isso não é apenas uma enumeração - a essência do relatório é mostrar a presença nesses algoritmos do sistema, grupos e padrões nos quais eles estão organizados e como eles se relacionam.


Esse quadro geral é a melhor maneira de lembrar de todos e compreendê-los como um conjunto completo de ferramentas e maneiras de tornar o código mais expressivo e mais confiável.


Sobre o palestrante


Jonathan Boccara ama C ++, e em particular - os problemas de escrever código expressivo compreensível. Em particular, é por isso que ele administra o blog Fluent C ++. Ele também trabalha como desenvolvedor sênior da Murex, onde lida com grandes bases de código C ++ para uso em finanças. Eles têm uma prática interessante na empresa todos os dias para fazer relatórios curtos no formato “diários” , que ele lidera.




4. Assincronia na programação


Ivan Puzyrevsky



No campo do desenvolvimento de aplicativos multithread ou distribuídos altamente carregados, é possível ouvir cada vez mais conversas sobre código assíncrono, incluindo especulações sobre a necessidade (falta de necessidade) de levar em consideração a assincronia no código, sobre a compreensibilidade (incompreensibilidade) do código assíncrono e sua eficiência (ineficiência). Neste relatório, tentaremos aprofundar a área de assunto: analisaremos o que é assincronia; quando surge; como isso afeta o código que escrevemos e a linguagem de programação que usamos. Vamos tentar descobrir o que os futuros e promessas têm a ver com isso, vamos falar um pouco sobre corotinas e atores. Iremos afetar o JavaScript e os sistemas operacionais. O objetivo do relatório é tornar mais explícitos os compromissos que surgem com uma ou outra abordagem para o desenvolvimento de software distribuído ou multithread.


Sobre o palestrante


Ivan começou a trabalhar na Yandex em 2009 no departamento de tecnologias lingüísticas em Search. Agora ele está envolvido no desenvolvimento de sistemas de armazenamento distribuído e processamento de dados. Graduado pelo Departamento de Lógica Matemática e Teoria dos Algoritmos da Faculdade de Mecânica e Matemática da Universidade Estadual de Moscou. Professor da ShAD.




3. C ++ hoje: a fera está de volta


Jon kalb



Slides


Este é um relatório baseado em parte no C ++ Today de O'Reilly: A besta está de volta. Neste relatório, especularemos um pouco por que os engenheiros que desejam escrever código produtivo escolhem C ++. John apresentará a perspectiva histórica de se concentrar em C ++, explicará como a comunidade C ++ vive agora e para onde a linguagem e seu público estão indo. Recentemente, todos se interessaram por códigos eficazes, desde fabricantes de telefones celulares a grandes datacenters, de modo que o C ++ com suas bibliotecas de código aberto tornou-se um tópico importante novamente. Este relatório explica claramente por que a maioria dos engenheiros escolhe C ++ para tudo isso. Há um esboço geral do C ++ em uma escala histórica, com explicações sobre os pontos de crescimento e declínio da popularidade.


Sobre o palestrante


John codifica em C ++ há mais de 20 anos. Durante esse período, ele conseguiu participar de projetos em C ++ da Amazon, Apple, Dow Chemical, Intuit, Lotus, Microsoft, Netscape, Sun, Yahoo! e em algumas empresas das quais ninguém ouvira falar. Ele é o presidente do Boost Steering Committee e também está envolvido no programa de trilhas C ++ no Silicon Valley Code Camp e é um dos diretores da C ++ Now (também conhecida como BoostCon). Em 2014, ele recebeu o Microsoft Most Valuable Professional.




2. Metaprogramação Reflexiva em C ++


Daveed vandevoorde



Slides


Uma vez que o comitê de padronização de C ++ organizou um subgrupo “SG-7”, que estuda as possibilidades de implementar a reflexão. Recentemente, esse grupo também se envolveu em metaprogramação e tomou várias decisões importantes sobre como seria a solução possível. Neste relatório, examinaremos o passado, que nos levou a uma vida assim, e discutiremos as possibilidades de suporte nativo à “metaprogramação reflexiva” em C ++.


Sobre o palestrante


David é um cientista belga que vive com Princeton nos Estados Unidos. Ele é vice-presidente de engenharia do Edison Design Group, onde contribui principalmente para o próprio front-end do compilador C ++. Ele participa ativamente do Comitê de Padronização do C ++, onde está envolvido na evolução da linguagem principal.




1. Esperado inesperado


Andrei Alexandrescu



Escrever código resistente a erros é dor, dor em qualquer idioma. Exceções, embora sejam uma maneira politicamente correta de sinalizar erros em C ++, mas em muitos aplicativos você precisa usar códigos de retorno - por motivos relacionados à facilidade de entendimento, facilidade de processamento local, eficiência do código gerado e assim por diante.


Neste relatório, veremos como teoria e prática podem ser combinadas para resolver problemas de manipulação de erros. O tipo Expected pode ser usado localmente (no estilo de códigos de retorno) e centralmente (no estilo de exceções), combinando as vantagens de ambas as abordagens.


Sobre o palestrante


O desenvolvedor romeno Andrei Alexandrescu é especialista em uma ampla gama de questões, incluindo arquitetura e implementação de sistemas de software, design de linguagens de programação, arquitetura de bibliotecas, todos os aspectos de C ++ e D, aprendizado de máquina e análise de linguagens naturais. Sua abordagem criativa para resolver problemas, o conhecimento mais amplo e o carisma fazem de Andrei um dos palestrantes mais populares do mundo.


Os livros e artigos de Andrei influenciaram toda a indústria. Ele é autor de livros best-sellers como Modern C ++ Design, C ++ Coding Standards (junto com Herb Sutter), The D Programming Language, e artigos como Simplify Your Exception-Safe Code - Forever (escrito com Petru Marginean) e Mojo: movimento de objetos comuns. Uma lista completa de suas obras pode ser encontrada aqui .


A próxima conferência C ++ Rússia será realizada de 19 a 20 de abril em Moscou, ou seja, muito em breve. Um novo programa, novos palestrantes e outro dia inteiro de treinamento . O programa pode ser visto no site oficial , os ingressos também podem ser comprados lá .

Source: https://habr.com/ru/post/pt442498/


All Articles