📜 ⬆️ ⬇️

C ++ Russia: interview with speakers


Friends!
There is still a bit of time before C ++ Russia 2017 , and while waiting for the conference, we asked some of our speakers questions about C ++. We hope you will be interested to read their answers.

Most of our heroes had some kind of Basic in the first language. Nevertheless, these are people who have long been familiar with C ++. Ivan Chukich just went to primary school, and was already engaged in it. Pavel Filonov fell in love with him from his third year, and Neil McIntosh began using his company Telstra in 1996.

What do you think are the C ++ areas that need to be developed?

Ivan Cukic - I would like unchanged containers to be added to standard libraries.

In many cases, the presence of changeable data can be dangerous, and all STL containers are optimized to carry out changes directly on the spot. The introduction of unchangeable (or persistent) versions of STL containers into a standard will allow us to work on the other side of the spectrum — to optimize sets for copying instead of working on modifications. This means that you can completely forget about mutexes and other forms of synchronization.
')
Rainer Grimm - We face two types of problems. First, we need better abstractions to properly solve complex problems, such as parallelism or multithreading. Secondly, we need more convenient to use C ++. Entry threshold is too high. I don't like the “harder the better” approach. This can be seen in the annexes and, in particular, in the reports. This is not "user friendly."

Pavel Filonov - First of all, I am interested in the development of libraries. I believe that the presence in the standard library of such common things as network programming and support for network protocols (primarily HTTP) will allow the language to become more dynamic and convenient. I watch with great interest the development of modules.

As for expectations from the new standards, Rainer and Pavel Filonov are waiting for more libraries, and Ivan Chukich would like to see as much as possible common tools for building DSL and universal function call syntax.

Neil is eagerly awaiting a series of incremental improvements. In addition, in C ++ 20, he hopes to see Ranges in the standard library (as well as “span”, and perhaps even more GSL).

Now let us give the floor to some of the guests so that they can answer the more individual questions we have about their activities.

Ivan Cukic

What place does functional programming (FP) take in your work?
Apart from KDE, most of my work is OP.

I treat C ++ as a good free-form language that gives you complete control over everything you do. Therefore, I began to explore how I can improve my code through the use of the FP in it. It turned out that C ++ is quite open to the use of a functional style. It does not have the same level of syntactic sugar as other functional languages, but it gives incomparable control over the viability and productivity of these functional concepts on iron.

When I work on KDE, I try to keep a balance between the usual object-oriented style and the functional one. I try not to use esoteric things that other people cannot understand. At least where I expect someone else to work.

A few words about your work in the KDE project. Basic impressions?
In KDE, I am connected mainly with the Plasma project. It was my first official commit that went into it (at the time before version 4.o), and thanks to the amazing people in the Plasma team, I can say with certainty that I will never give up this project.

Because of Plasma, I often had to go to the lower levels of KDE software, and in the end it turned out that I created and maintained a number of its frameworks.

KDE is more of a community of people, in which the entire range is represented - from great artists to amazing developers. I really enjoyed working in such an environment. In addition, this is a great place to develop your skills - both in programming and in communication.

In your opinion, the main advantage of using the functional approach in C ++?
Purity. I think the OP introduces the same improvements to the normal C ++ code as C ++ introduces to the normal C code. We all know that the STL algorithms make the code cleaner, safer, and easier to understand, and the OP only raises it. another level.

And finally: Plasma falls! What to do?!
This happens only if you are using the non-patched version on FreeBSD :)

Rainer grimm

What is your experience in embedded systems (VS)?
For the past three years, I have been responsible for the architecture of the software for defibrillators (software for assembling them, for their maintenance, software for the defibrillators themselves).

What are the main challenges in the embedded software world?
It is quite simple. There is a learning problem. The developer often knows and, therefore, uses only C. They do not know and do not appreciate the advantages of modern C ++ in this area. For me, embedded systems are one of the key areas for C ++. On the one hand, you can communicate directly with “iron”; on the other hand, you have convenient abstractions in C ++ for solving complex problems. And the problems in the world of the sun every year are becoming more and more. Think at least about IoT.

In your opinion, what is first of all necessary to be guided for prioritizing the requirements for such systems?
Let me answer a little differently. Programming for embedded systems is not so different from application programming. Programming for the sun is special because you have stronger software requirements. You are dealing with a system for which security is critical, with limited resources, but at the same time it needs high performance and it deals with several tasks in parallel. It is the last four points that I usually follow when developing software for embedded systems.

Neil macintosh

Tell us about your experience in the field of static analysis.
I worked on the C ++ statistical analysis team at Microsoft since 2010, and has been its head since 2014. This is a very interesting area. This is work on the compiler, and search work, and you are faced with a bunch of tests, trying to adjust the analytical results so that they fit into a reasonable space-time frame.

From Australia to Washington? Do not miss the sun?
Ha ha ha. Yes, especially at the end of winter. But summer in the northwest of the USA, especially on the Pacific coast is incredibly beautiful, so this “heals” me. It seems to me that the beauty of snow, mountains, rivers and lakes more than compensates for rare clear days. South Australia is also a beautiful corner. Perhaps now, after a long time abroad, I understand it better.

See you at the conference!

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


All Articles