The modern world of C ++ is seriously different from what we were used to at the time of C ++ 98. Someone admires this, annoys someone, but the fact remains. Here are some topics that haunt the minds of developers today:
In less than a month, there will be a conference that tries to answer these questions: C ++ Russia 2019. Let's take a quick look at how it will turn out.
Here we were very lucky in several directions at once. First, C ++ is actively improving, the set of important and useful tools continues to grow. Not all languages ​​are so lucky - for example, in the recently released Java 12 there were no production ready features of the language at all or a major change in the libraries.
On the other hand, does everyone clearly represent in the head a general picture of all the improvements in C ++? Are you sure that you are using your tools correctly, and it will not back up in the future?
And here it turns out that at our conference both keynotes (opening and closing reports) are from people participating in the committee for years. They have such a job - to keep in mind a picture of everything. In addition to excellent reports with them, you can also talk in the discussion area.
The first is Anton Polukhin with a story about areas where C ++ is considered indispensable , and additional things that it would be nice to have in C ++. With him, we recently published an interview on Habré . In general, the topic of the participation of Russians in the committee has already been widely discussed both on Habré and everywhere else (look, Yandex even wrote a post about this in VK). You can go stdcpp.ru and see a list of representatives, now it is: Anton Polukhin, Anton Bikineev and Alexander Fokin.
The second participant is Nicolai Josuttis. The author of the books “The C ++ Standard Library” and “C ++ Templates” and a member of the standardization committee for almost twenty years. His report will probably be one of the top on the topic of “future and modern”: “C ++ 17 - the biggest traps” is intended to tell about the problems underlying the architecture,
who is guilty and what to do.
The next topic from which part of the community is burning is OP. On Habré, this topic is presented quite widely.
Not everyone in the community thinks the game is worth the candle. Bonfires about debugging performance of drenzhes and articles by Aras Prankevichius have not been burned yet . Many still wonder what the monads are, why they are needed and require articles with vivid pictures . Someone is already sharpening a dagger and grumbling "turned my wonderful C ++ into some kind of Haskell."
One of the major problems with AF is that there are not so many specialists on it. Everyone likes to learn it, but to really use it, there are problems with it. There is complete incompetence, when a person truly believes that he understands AF, but cannot write Hello World with the help of him. There are all sorts of extremes when a person who has become familiar with the presence of lambda immediately considers himself to be the king of functional programming. Or vice versa - before writing Helloworld, he goes to the cave to memorize "Categories for the Working Mathematician" and all Okasaki's books and manuals from the beginning of time.
Please do not follow the links to read these books. First you need to finish reading this post and go to the conference.
So, the industry needs someone versed in OP in C ++, and we have them. At the beginning, you can familiarize yourself with quite good habrointerviews with Ivan Chukich and Alexander Granin. And yes, both will be in C ++ Russia.
Alexander will tell about monadic parsers . Ivan will tell about the “Move-only C ++ design” and will conduct one of the three big trainings - “Applied functional programming in C ++” .
And there is the “Higher-order functions and function_ref” from Vittorio Romeo from Bloomberg and “Postmodern immutable data structures” from Juan Pedro BolĂvar Puente. What is postmodern? But come and find out.
Metaprogramming and FP go hand in hand, but the situation here is just the opposite. If in FP we study how to put this into practice, then in meta-programming a huge amount of practical information has been formed that needs to be systematized, realized and refined its skills in relation to its own tasks.
C ++ Russia has a whole big block dedicated to this topic:
Each report is somehow interesting, and if you begin to disclose it, then there will not be enough habrapos. For example, the last report is game engines: game developers have completely their own requirements for the entire development stack, from tools to STL performance, and then you came across a living developer of Encore for World of Tanks, who will tell you about Boost.Python, reflexion of parameters materials for 3D-models and other specific things. In general, you should carefully read the descriptions and understand where you want to go.
In spite of the fact that there is no dedicated block for ten reports about this, these topics in one way or another cover all other reports. For example, speaking about the FP, it is always interesting - how much FP helps or complicates writing multithreading.
And although the execution model sets a separate coordinate for all other reports, there will be a couple of specialized things: “Concurrency and parallelism in C ++ 17 and C ++ 20/23” from probably Grimm Reiner you know, and “Asynchronous C ++ development” .
Why asynchrony? Recently, the world has made great strides in this direction, the built-in asynchronous tools appear in all languages ​​from the TIOBE top, and C ++ is not an exception, for example, TS C ++ Extensions for Concurrency . How to separate the wheat from the chaff when some asynchronous evangelists are trying to sell us asynchrony as self-worth? At conferences on JavaScript and Java, "asynchronous" reports sometimes occupy a third of the program . It’s nice to have at least one good report on the topic, which is exactly what Pavel Novikov from Align Technologies will do .
The remaining reports in the program are not in the categories listed above, but are in themselves small pearls. For example, the DevOps theme is now no less hot than the asynchrony described above. As you should know, “devops” is not a person and not a profession, but a culture. And this culture is built on instruments, with which we still have real pain. Despite the fact that C ++ itself is fast and lightning-like, its assembly is slow like a tortoise, and the classic tools that DevOps culture should rely on are complex and often unreliable. This refers to such things as tools of distributed assembly, linking methods, unhappy modules. Viktor Kirilov will give a talk on "The hitchhiker's guide to faster builds" and maybe a little help to deal with this pain.
Some kind of a review has turned out. What did I forget? Smart pointers? Yes, and we have them, as many as two reports ( one , two ). That only is not present on a C ++ Russia.
If regular reports are not enough, we have full-scale trainings. Each of them will last for many hours, will touch on one particular topic, and therefore, at the same time with the reports, they will not be held. They will take place one day before the main program, that is, on April 18.
Descriptions are on the links. If you come from the main page of trainings - click the "More" button - this is where the ticket is selected, and it says that you need to install it on your laptop.
The report grid is not final yet. Still, another month remained (the conference will be held as expected, April 19-20). If you are a participant, then there is a request - check your email, we sent you a survey. There should be noted the reports that you want to go. This survey is quite interactive, the answers will affect the distribution of reports in the halls.
I remind you that on the official website you can familiarize yourself with the full program of the conference to find out what and in what order you would like to go.
You can also buy tickets there . Please note that the tickets are of several types, and by choosing the type that suits you, you can seriously save. If you can not be at the conference live, then there is the opportunity to participate online - for this there is a separate category of tickets.
Source: https://habr.com/ru/post/445406/
All Articles