El mundo moderno de C ++ es muy diferente de lo que estábamos acostumbrados durante C ++ 98. Alguien admira esto, alguien lo molesta, pero el hecho permanece. Aquí hay algunos temas que despiertan la mente de los desarrolladores de hoy:
- Características modernas y nuevas del lenguaje C ++
- Programación funcional
- Metaprogramación
- Multithreading, concurrencia, asincronía y todo-todo-todo
- Cómo vivir con las herramientas existentes.
En menos de un mes, habrá una conferencia que tratará de responder estas preguntas: C ++ Rusia 2019. Echemos un vistazo rápido a cómo funciona.

Características modernas y nuevas del lenguaje C ++
Aquí tuvimos mucha suerte en varias direcciones a la vez. En primer lugar, C ++ está mejorando activamente, el conjunto de herramientas importantes y útiles continúa creciendo. No todos los idiomas son tan afortunados, por ejemplo, en el Java 12 recientemente lanzado, no había una sola característica del lenguaje lista para producción o un cambio importante en las bibliotecas.
Por otro lado, ¿todos tienen una imagen clara de la imagen general de todas las mejoras en C ++? ¿Estás seguro de que estás usando tus herramientas correctamente y que esto no se dará en el futuro?
Y luego resulta que en nuestra conferencia ambas notas clave (informes de apertura y cierre) son de personas que han estado participando en el comité durante años. Tienen ese trabajo: tener en cuenta una imagen de todo. Además de excelentes informes, también puede hablar con ellos en el área de discusión.
El primero es Anton Polukhin con una historia sobre áreas donde C ++ se considera indispensable , y cosas adicionales que sería bueno tener en C ++. Con él recientemente publicamos una entrevista sobre Habré . En general, el tema de la participación de los rusos en el comité ya ha sido ampliamente discutido tanto en Habré como en todas partes (mira, Yandex incluso escribió una publicación sobre esto en VK). Puede ir a stdcpp.ru y ver una lista de representantes, ahora es: Anton Polukhin, Anton Bikineev y Alexander Fokin.
El segundo miembro es Nicolai Josuttis. Es autor de los libros The C ++ Standard Library y C ++ Templates y miembro del comité de estandarización durante casi veinte años. Su informe probablemente será uno de los más actuales en el tema de "futuro y moderno": "C ++ 17 - las trampas más grandes" pretende hablar sobre los problemas detrás de la arquitectura, quien tiene la culpa y que hacer
Programación funcional
El siguiente tema desde el cual parte de la comunidad se está quemando es FP. En Habré, este tema está ampliamente representado.
No todos en la comunidad creen que el juego vale la pena. Las hogueras aún no se han quemado sobre el rendimiento de depuración de los Rangos y el artículo de Aras Prankevichius . Muchos todavía se preguntan qué son las mónadas, por qué son necesarias y requieren artículos con imágenes vívidas . Alguien ya está afilando una daga y refunfuñando "convirtió mi maravilloso C ++ en una especie de Haskell".
Uno de los problemas más importantes con la FA es que no hay muchos especialistas en ella. A todos les encanta estudiarlo, pero para aplicarlo realmente, hay problemas con esto. Hay una incapacidad total cuando una persona cree sinceramente que comprende la FA, pero no puede escribir Hello World con ella. Hay todo tipo de extremos cuando una persona que está familiarizada con la presencia de lambdas se considera inmediatamente el rey de la programación funcional. O viceversa: antes de escribir Halloworld, lo llevan a la cueva memorizando "Categorías para el matemático que trabaja" y todos los libros y manuales de Okasaki desde el principio de los tiempos.
Por favor no siga los enlaces para leer estos libros. Primero debes leer esta publicación e ir a la conferencia.
Entonces, la industria necesita a alguien versado en C ++ en PHP, y los tenemos. Al principio, puede familiarizarse con una buena entrevista con Ivan Chukich y Alexander Granin. Y sí, ambos estarán en C ++ Rusia.
Alexander hablará sobre analizadores monádicos . Ivan hablará sobre el "diseño de C ++ solo para movimiento" y realizará uno de los tres entrenamientos grandes : "Programación funcional aplicada en C ++" .
Y hay "Funciones de orden superior y function_ref" de Vittorio Romeo de Bloomberg y "Estructuras de datos inmutables posmodernas" de Juan Pedro Bolívar Puente. ¿Qué es posmoderno? Pero ven y descúbrelo.
La metaprogramación y la FP van de la mano, pero la situación es todo lo contrario. Si en FP estamos estudiando cómo aplicar esto en la práctica, en la metaprogramación se ha generado una gran cantidad de información práctica que necesita ser sistematizada, realizada y perfeccionada nuestras habilidades en relación con nuestras propias tareas.
C ++ Rusia tiene un bloque grande completo dedicado a este tema:
Cada informe es interesante de una forma u otra, y si comienza a divulgarlo, entonces no habrá suficiente arrogancia. Por ejemplo, el último informe son los motores de juego: gamedev tiene sus propios requisitos para toda la pila de desarrollo, desde las herramientas hasta el rendimiento de STL, y aquí se encuentra con un desarrollador en vivo del motor Encore para el juego World of Tanks, que le informará sobre Boost.Python, reflexión de parámetros materiales para modelos 3D y otras cosas específicas. En general, debe leer detenidamente las descripciones y comprender a dónde desea ir.
Multithreading, concurrencia, asincronía y todo-todo-todo
A pesar de que no hay un bloque dedicado para diez informes, estos temas están cubiertos de una forma u otra en todos los demás informes. Por ejemplo, hablando de FP, siempre es interesante: cuánto FP ayuda o complica la escritura de subprocesos múltiples.
Y aunque el modelo de ejecución establece una coordenada separada para la profundidad de todos los demás informes, habrá un par de cosas especializadas: "Concurrencia y paralelismo en C ++ 17 y C ++ 20/23" de probablemente el conocido Grimm Reiner, y "Desarrollo asincrónico de C ++" .
¿Por qué exactamente asincronismo? Recientemente, el mundo ha avanzado mucho en esta dirección, las herramientas integradas para trabajar con asincronía aparecen en todos los idiomas desde la parte superior de TIOBE, y C ++ no fue la excepción, por ejemplo, Extensiones de TS C ++ para concurrencia . ¿Cómo separar el grano de la paja cuando algunos evangelistas de la asincronía intentan vendernos asincronía como autoestima? En las conferencias sobre JavaScript y Java, los informes "asíncronos" a veces ocupan un tercio del programa . Es bueno tener al menos un buen informe sobre el tema, que es lo que hará Pavel Novikov de Align Technologies .
Cómo vivir con las herramientas existentes.
Los informes restantes en el programa no están incluidos en las categorías anteriores, pero en sí mismos son pequeñas perlas. Por ejemplo, el tema DevOps ahora no es menos candente que el asincronismo descrito anteriormente. Como debe saber, "devops" no es una persona o una profesión, sino una cultura. Y esta cultura se basa en herramientas, con algunas de las cuales todavía tenemos dolor real. Aunque C ++ en sí es rápido y veloz, su ensamblaje es lento como una tortuga, y las herramientas clásicas en las que la cultura DevOps debe confiar son complejas y a menudo poco confiables. Esto incluye cosas como herramientas de ensamblaje distribuido, métodos de enlace, módulos desafortunados. Viktor Kirilov hará una presentación "La guía del autoestopista para construcciones más rápidas" y quizás ayude un poco a lidiar con este dolor.
Algún tipo de tal revisión resultó. ¿Qué olvidé? Punteros inteligentes? Sí, y los tenemos, hasta dos informes ( uno , dos ). Lo que no está en C ++ Rusia.
Entrenamientos
Si las presentaciones regulares no son suficientes, tenemos capacitaciones a gran escala. Cada uno de ellos durará muchas horas, tocará un tema específico y, por lo tanto, no se podrán mantener simultáneamente con los informes. Tendrán lugar un día antes del programa principal, es decir, el 18 de abril.
Las descripciones están en los enlaces. Si viniste de la página principal de entrenamientos , haz clic en los botones "Detalles", aquí es donde se selecciona el ticket y dice lo que necesitas instalar en tu computadora portátil.
Próximos pasos
La cuadrícula del informe aún no es final. Aún queda otro mes (la conferencia se realizará como se esperaba, del 19 al 20 de abril). Si usted es un participante, es decir, una solicitud, verifique el correo, le enviamos una encuesta. Ahí deben notarse los informes a los que quiero ir. Esta encuesta es bastante interactiva, las respuestas afectarán la distribución de informes en los pasillos.
Le recuerdo que en el sitio web oficial puede familiarizarse con el programa completo de la conferencia para averiguar qué y en qué orden le gustaría ir.
Puedes comprar boletos allí . Tenga en cuenta que hay varios tipos de boletos, y al elegir el tipo que más le convenga, puede ahorrar seriamente. Si no puede asistir a la conferencia en vivo, es decir, la oportunidad de participar en línea, hay una categoría separada de entradas para esto.