Los 10 mejores informes de la conferencia C ++ Rusia 2018: videos completos, diapositivas, comentarios

En este artículo encontrará los diez mejores informes de Andrei Alexandrescu, David Vandervoord, John Kalb y muchos otros.


Caracter√≠sticas del compilador de C ++, asincron√≠a, subprocesamiento m√ļltiple, concurrencia, modelo de memoria, algoritmos y STL, metaprogramaci√≥n y reflexi√≥n, muchos temas.



Todas estas son las grabaciones de la conferencia C ++ Rusia, la m√°s grande de la historia. Ochocientos participantes, una sala bastante grande, oradores de fama mundial. Ha pasado un a√Īo, pero la mayor√≠a de los informes no han perdido su relevancia. Sin embargo, no es sorprendente, solo esos informes llegan a la cima seg√ļn los participantes.


El formato es el siguiente:


  • Video obligatorio de YouTube
  • Diapositivas, si hay alguna
  • Una descripci√≥n detallada del informe en ruso.
  • Breve biograf√≠a del orador.

Adem√°s, tienes los comentarios de Habr para discutir lo que viste. La publicidad en YouTube est√° desactivada, nadie interferir√°. Hay todo para comenzar a mirar ahora mismo.


10. Consejos y trucos para la gestión de la memoria


Alexey Salmin



En 2017, la cuesti√≥n de elegir un asignador en C ++ no pierde relevancia. std::pmr una nueva forma al est√°ndar para elegir un asignador local para contenedores ( std::pmr ), tcmalloc global y jemalloc contin√ļan evolucionando, as√≠ como las interfaces del n√ļcleo en las que conf√≠an. Este informe est√° dedicado al "piso inferior" del dise√Īo: las caracter√≠sticas de mmap y madvise en el kernel de Linux y el impacto de estas caracter√≠sticas en el rendimiento de los asignadores.


Sobre el orador


Alexey Salmin se gradu√≥ de la MMU NSU, se dedic√≥ a la computaci√≥n simb√≥lica y al an√°lisis est√°tico, trabaj√≥ en Intel en Novosibirsk. Desde 2016, ha estado trabajando en la oficina de Yandex Mosc√ļ, desarrollando b√ļsquedas backend en tiempo real.




9. Mejores pr√°cticas para la concurrencia en C ++ moderno


Rainer grimm



Diapositivas


La estandarizaci√≥n de C ++ 11 nos dio un modelo de memoria y multihilo. Hay cosas est√°ndar en la biblioteca como at√≥micas, hilos, tareas, bloqueos, variables condicionales. El modelo de memoria proporciona garant√≠as para el uso de subprocesos m√ļltiples de estas unidades base.


Han pasado siete a√Īos, la pr√°ctica del uso seguro de modelos de subprocesamiento m√ļltiple y memoria. En este informe, aprendemos en detalle sobre estas pr√°cticas: sobre las reglas generales de multihilo y las reglas especiales para las primitivas de la biblioteca y el modelo de memoria. Los temas tratados abarcan temas m√°s amplios que solo el lenguaje C ++.


Sobre el orador


Rainer Grimm trabaj√≥ como arquitecto, l√≠der de equipo e instructor durante m√°s de 20 a√Īos. En su tiempo libre, le gusta escribir art√≠culos sobre C ++, Python y Haskell y hablar en conferencias. Dirige un blog llamado Modern C ++. Actualmente es un orador sobre los temas de C ++ y Python modernos. O'Reilly y Leanpub publican varios de sus libros: "C ++ 11 f√ľr Programmierer", "C ++", "C ++ - Standardbiliothek", "The C ++ Standard Library".




8.2020: Una odisea void_t


Ivan ńĆukińá



Diapositivas


C ++ siempre ha tenido un poderoso subconjunto del lenguaje de metaprogramación que permite a los desarrolladores realizar trucos mágicos como la introspección estática para garantizar la ejecución polimórfica sin herencia. El problema es que esta sintaxis es muy pervertida y demasiado detallada, todo esto hace que la metaprogramación sea una tarea bastante impresionante.


Las √ļltimas mejoras en el est√°ndar, combinadas con las nuevas caracter√≠sticas de C ++ 20, hacen que la metaprogramaci√≥n sea m√°s f√°cil y los metaprogramas en s√≠ mismos sean m√°s legibles y comprensibles.


En esta charla, veremos las técnicas modernas de metaprogramación, centrándonos en la void_t mágica void_t.


Por cierto, en C ++ Rusia 2019 en Mosc√ļ, Ivan dar√° una presentaci√≥n sobre "Dise√Īo de C ++ solo para movimiento" y tambi√©n llevar√° a cabo la capacitaci√≥n "Programaci√≥n funcional aplicada en C ++" : est√° STL lejos de la programaci√≥n funcional, que son objetos funcionales, std :: invoke y m√≥nadas , m√≥nadas, m√≥nadas. Y algunas m√≥nadas m√°s. El entrenamiento de Ivan no es para el nivel de entrada, ser√° adecuado para los medios que desean abrir m√°s las puertas de la percepci√≥n.


Sobre el orador


Ivan trabaja en el departamento de doctorado en inform√°tica, Facultad de Matem√°ticas, Universidad de Belgrado, y se especializa en el dise√Īo de lenguajes de programaci√≥n. Un colaborador de toda la vida de KDE trabajando en Plasma y marcos de bajo nivel para analizar y gestionar las acciones de los usuarios. Mantenedor KActivities, Contour y Lancelot.




7. Paralelismo moderno de C ++ de la CPU a la GPU


Marca Simon



Diapositivas


La programaci√≥n paralela se puede utilizar para beneficiarse de arquitecturas heterog√©neas y de m√ļltiples n√ļcleos, lo que aumenta significativamente el rendimiento del software. C ++ moderno ha recorrido un largo camino en la simplificaci√≥n del proceso de programaci√≥n paralela mediante la introducci√≥n de abstracciones de alto y bajo nivel. C ++ 17 ha avanzado a√ļn m√°s y nos ha dado nuevos algoritmos paralelos de alto nivel, y se espera a√ļn m√°s de C ++ 20. En este informe, participaremos en una revisi√≥n de las utilidades existentes para organizar el paralelismo y mirar hacia el futuro, donde las GPU y los sistemas heterog√©neos recibir√°n soporte con nuevas caracter√≠sticas de la biblioteca est√°ndar, y veremos nuevos est√°ndares como SYCL.


Sobre el orador


Simon es un desarrollador de cadenas de herramientas GPGPU con un enfoque en C ++. A los insalubres les encanta la metaprogramación de plantillas y los lados más oscuros del lenguaje. Puede encontrarlo fácilmente en los comentarios en el canal StackOverflow, C ++ en Slack o en las reuniones de la comunidad C ++ Edimburgo, donde es uno de los organizadores. Le gusta hablar sobre cuestiones de formalismo en el lenguaje, patrones pirateados, cerveza, whisky, cine experimental y el trabajo de Carly Rae Jepsen.




6. La memoria es la abstracción perfecta.


Fedor Short



Diapositivas


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

¬ŅQu√© sucede realmente cuando se ejecutan estas 3 l√≠neas de c√≥digo? Examinaremos el asignador de memoria, el sistema operativo y el hardware moderno para dar una respuesta exhaustiva a esta pregunta.


Sobre el orador


Fedor, graduado de Fiztekh, particip√≥ en el comercio de alta frecuencia en la bolsa de valores de Mosc√ļ. Trabaja en Yandex, desarrolla un sistema de almacenamiento y procesamiento de datos YT. Ense√Īa C ++ en el primer a√Īo de la escuela de an√°lisis de datos.




5.105 Algoritmos STL en menos de una hora


Jonathan boccara


Diapositivas



Todos sabemos que sería bueno conocer los algoritmos STL. Utilizándolos en la construcción de arquitectura, puede hacerlo más expresivo y confiable. A veces es muy significativo y espectacular.


¬ŅHas llegado a la realizaci√≥n de tus algoritmos?


En este informe, verá los 105 algoritmos, incluidos los agregados en los estándares 11 y 17. Pero esto no es solo una enumeración: la esencia del informe es mostrar la presencia en estos algoritmos del sistema, los grupos y patrones en los que están organizados, y cómo se relacionan entre sí.


Este panorama general es la mejor manera de recordarlos a todos y comprenderlos como un conjunto completo de herramientas y formas de hacer que el código sea más expresivo y más confiable.


Sobre el orador


Jonathan Boccara adora C ++ y, en particular, los problemas de escribir un c√≥digo expresivo comprensible. En particular, es por eso que dirige el blog Fluent C ++. Tambi√©n trabaja como desarrollador senior en Murex, donde maneja enormes bases de c√≥digo C ++ para su uso en finanzas. Tienen una pr√°ctica interesante en la compa√Ī√≠a todos los d√≠as para hacer informes cortos en el formato "diarios" , que √©l dirige.




4. Asincronía en la programación.


Ivan Puzyrevsky



En el campo del desarrollo de aplicaciones multiproceso o distribuidas altamente cargadas, uno puede escuchar cada vez más conversaciones sobre el código asincrónico, incluida la especulación sobre la necesidad (falta de necesidad) de tener en cuenta la asincronía en el código, sobre la comprensibilidad (incomprensibilidad) del código asincrónico y su eficiencia (ineficiencia). En este informe, trataremos de profundizar en el área temática: analizaremos lo que es asincronía; cuando surge; cómo afecta el código que escribimos y el lenguaje de programación que usamos. Trataremos de averiguar qué futuros y promesas tienen que ver con eso, hablemos un poco sobre las corutinas y los actores. Afectaremos a JavaScript y a los sistemas operativos. El propósito del informe es hacer que los compromisos que surgen con uno u otro enfoque para el desarrollo de software multiproceso o distribuido sean más explícitos.


Sobre el orador


Ivan comenz√≥ a trabajar en Yandex en 2009 en el departamento de tecnolog√≠as ling√ľ√≠sticas en Search. Ahora se dedica al desarrollo de almacenamiento distribuido y sistemas de procesamiento de datos. Graduado del Departamento de L√≥gica Matem√°tica y Teor√≠a de Algoritmos de la Facultad de Mec√°nica y Matem√°ticas de la Universidad Estatal de Mosc√ļ. Profesor de ShAD.




3. C ++ hoy: la bestia est√° de vuelta


Jon kalb



Diapositivas


Este es un informe basado en parte en C ++ Today de O'Reilly: The Beast is Back. En este informe, especularemos un poco por qué los ingenieros que desean escribir código productivo eligen C ++. John presentará la perspectiva histórica de centrarse en C ++, explicará cómo vive la comunidad C ++ en este momento y hacia dónde se dirige el lenguaje y su audiencia. Recientemente, todos se han interesado en un código efectivo, desde fabricantes de teléfonos móviles hasta grandes centros de datos, por lo que C ++ con sus bibliotecas de código abierto se ha convertido nuevamente en un tema candente. Este informe explica claramente por qué la mayoría de los ingenieros eligen C ++ para todo esto. Hay un bosquejo general de C ++ en una escala histórica con explicaciones de los puntos de crecimiento y disminución de la popularidad.


Sobre el orador


John ha estado codificando en C ++ por m√°s de 20 a√Īos. Durante este tiempo, logr√≥ participar en proyectos C ++ de Amazon, Apple, Dow Chemical, Intuit, Lotus, Microsoft, Netscape, Sun, Yahoo! y en un par de compa√Ī√≠as de las que nadie hab√≠a o√≠do hablar de todos modos. Es el presidente del Comit√© Directivo de Boost, y tambi√©n participa en el programa de seguimiento de C ++ en Silicon Valley Code Camp y es uno de los directores de C ++ Now (tambi√©n conocido como BoostCon). En 2014, recibi√≥ el profesional m√°s valioso de Microsoft.




2. Metaprogramación reflexiva en C ++


Daveed vandevoorde



Diapositivas


Una vez que el comité de estandarización de C ++ organizó un subgrupo "SG-7", que estudia las posibilidades de implementar la reflexión. Recientemente, este grupo también participó en la metaprogramación y tomó varias decisiones importantes sobre cómo se vería la posible solución. En este informe, veremos el pasado, que nos trajo a una vida así, y discutiremos las posibilidades de soporte nativo para la "metaprogramación reflexiva" en C ++.


Sobre el orador


David es un científico belga que vive con Princeton en los Estados Unidos. Es vicepresidente de ingeniería en Edison Design Group, donde contribuye principalmente a su propia interfaz para el compilador de C ++. Participa activamente en el Comité de Normalización de C ++, donde participa en la evolución del lenguaje central.




1. Inesperado esperado


Andrei Alexandrescu



Escribir c√≥digo resistente a errores es dolor, dolor en cualquier idioma. Excepciones, aunque son una forma pol√≠ticamente correcta de se√Īalar errores en C ++, pero en muchas aplicaciones tiene que usar c√≥digos de retorno, por razones relacionadas con la facilidad de comprensi√≥n, la facilidad de procesamiento local, la eficiencia del c√≥digo generado, etc.


En este informe, veremos cómo la teoría y la práctica se pueden combinar para resolver problemas de manejo de errores. El tipo Expected se puede usar tanto localmente (en el estilo de los códigos de retorno) como centralmente (en el estilo de las excepciones), combinando las ventajas de ambos enfoques.


Sobre el orador


El desarrollador rumano Andrei Alexandrescu es un experto en una amplia gama de temas, incluida la arquitectura e implementaci√≥n de sistemas de software, el dise√Īo de lenguajes de programaci√≥n, la arquitectura de bibliotecas, todos los aspectos de C ++ y D, el aprendizaje autom√°tico y el an√°lisis de lenguajes naturales. Su enfoque creativo para resolver problemas, el conocimiento m√°s amplio y el carisma hacen de Andrei uno de los oradores m√°s populares del mundo.


Los libros y artículos de Andrei han influido en toda la industria. Es autor de libros superventas como Modern C ++ Design, C ++ Coding Standards (junto con Herb Sutter), The D Programming Language y artículos como Simplify Your Exception-Safe Code - Forever (escrito con Petru Marginean) y Mojo: Move of Joint Objects. Una lista completa de sus obras se puede encontrar aquí .


La pr√≥xima conferencia de C ++ Rusia se llevar√° a cabo del 19 al 20 de abril en Mosc√ļ, es decir, muy pronto. Un nuevo programa, nuevos oradores y otro d√≠a entero de entrenamiento . El programa se puede ver en el sitio web oficial , las entradas tambi√©n se pueden comprar all√≠ .

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


All Articles