C++ Russia: інтерв'ю з доповідачами


Друзі!
Часу до C++ Russia 2017 залишається трохи, і в очікуванні конференції ми поставили деяким нашим доповідачам питання про C++. Сподіваємося, Вам буде цікаво почитати їхні відповіді.

У більшості з наших героїв першою мовою була якась різновид Basic. Тим не менш, це люди, які давно знайомі з С++. Іван Чукич тільки пішов у початкову школу, а вже ним займався. Павло Філонов закохався в нього з третього курсу, а Ніл Макінтош почав використовувати його компанії Telstra ще в 1996 році.

Які, на Вашу думку, області З++ потребують розробки?

Ivan Cukic — Мені б хотілося, щоб в стандартні бібліотеки були додані незмінні контейнери.

У багатьох випадках наявність змінюваних даних може бути небезпечним, а всі контейнери STL оптимізовані на проведення змін безпосередньо «на місці». Внесення незмінних (або персистентних) версій STL контейнерів у стандарт дозволить нам працювати по іншу сторону спектра — оптимізувати набори для копіювання замість роботи над модифікаціями. Це означає, що можна буде повністю забути про мьютексах та інших формах синхронізації.

Rainer Grimm — Перед нами стоять два типи проблем. По-перше, нам потрібні кращі абстракції для правильного вирішення складних завдань, таких як паралелізм або багатопоточність. По-друге, нам потрібен більш зручний у використанні З++. Поріг входу занадто високий. Мені не подобається підхід «чим складніше, тим краще». Це видно в додатках і, в особливості, в доповідях. Це не «user friendly».

Павло Філонов — В першу чергу мені цікаво розвиток бібліотек. Я вважаю, що наявність в стандартній бібліотеці таких ходових речей як мережеве програмування та підтримка мережевих протоколів (в першу чергу HTTP) дозволять мові стати більш динамічним і зручним. З великим інтересом спостерігаю за розвитком модулів.

Що ж стосується очікувань від нових стандартів, то Райнер і Павло Філонов чекають більше бібліотек, а Іван Чукич хотів би побачити якомога більше спільних інструментів для побудови DSL і універсальний синтаксис виклику функцій.

Ніл ж з нетерпінням чекає ряду інкрементних поліпшень. Крім того, в С++20 він сподівається побачити Ranges в стандартній бібліотеці (як і «span», і, можливо, ще більше GSL).

Ну а тепер дамо слово деяким з гостей, щоб вони могли відповісти на решту у нас понад індивідуальні питання про їх діяльність.

Ivan Cukic

Яке місце у твоїй роботі займає функціональне програмування (ФП)?
Якщо не вважати KDE, то велика частина моєї роботи — ФП.
Я ставлюся до С++ як до хорошого мови вільної форми, який надає тобі повний контроль над усім, що ти робиш. Тому я став досліджувати, як я можу поліпшити свій код через застосування в ньому ФП. З'ясувалося, що З++ досить відкритий до використання функціонального стилю. У ньому немає такого ж рівня синтаксичного цукру, як в інших функціональних мовах, але він дає незрівнянний контроль над життєздатністю і продуктивністю цих функціональних концепцій на залозі.
Коли я працюю над KDE я намагаюся тримати баланс між звичайним об'єктно-орієнтованим стилем і функціональним. Я намагаюся не використовувати езотеричні речі, які інші люди не зможуть зрозуміти. Принаймні, там, де я очікую, що буде працювати ще хтось.

Кілька слів про твою роботу в проекті KDE. Основні враження?
В KDE я пов'язаний в основному з проектом Plasma. Саме в нього пішов мій перший офіційний комміт (під час до 4 версії.про), і завдяки приголомшливим людям в команді Plasma, я можу з упевненістю сказати, що ніколи не кину цей проект.
З-за Plasma я часто був змушений виходити на нижні рівні KDE-софта, і в результаті вийшло, що я творив і підтримував ряд його фреймворків.
KDE — це швидше така спільнота людей, в якому представлений весь діапазон — від прекрасних художників до приголомшливих розробників. Мені дуже сподобалося працювати в такому оточенні. До того ж це прекрасне місце для розвитку своїх навичок — як у програмуванні, так і в спілкуванні.

На твій погляд, головна перевага використання функціонального підходу в С++?
Чистота.
Я думаю, ФП привносить у нормальний код З++ ті ж поліпшення, що і З++ привніс у нормальний код С. Ми всі знаємо, що алгоритми STL роблять код чистіше, безпечніше і простіше для розуміння, а ФП лише піднімає це ще на рівень.

Ну і наостанок: Plasma падає! Що робити?!
Це відбувається, тільки якщо ви використовуєте не пропатченную версію на FreeBSD :)

Rainer Grimm

Який Ваш досвід у сфері вбудованих систем (ВС)?
Протягом останніх трьох років я був відповідальним за архітектуру ПЗ для дефібриляторів (для їх складання, для їх обслуговування, для самих дефібриляторів).

Які головні труднощі в світі ЗА для вбудованих систем?
Це досить просто. Є проблема навчання. Розробник часто знає і, отже, використовує тільки C. Вони не знають і не цінують переваги сучасного C++ в цій області. Для мене, вбудовані системи — це одна з ключових областей для C++. З одного боку, ви можете безпосередньо спілкуватися з «залізом»; з іншого боку, у вас є зручні абстракції в C++ для вирішення складних проблем. А проблем у світі НД з кожним роком стають все більше. Подумайте хоча б про IoT.

На Ваш погляд, чому в першу чергу потрібно керуватися для пріоритезації вимог до таких систем?
Дозвольте мені відповісти трохи по-іншому. Програмування для вбудованих систем не так вже відрізняється від програмування додатків. Програмування для ВС особливе, тому що у вас більш сильні вимоги до ПЗ. Ви маєте справу із системою, для якої безпеку критична, у якої обмежені ресурси, але при цьому їй потрібна висока продуктивність і вона має справу з декількома завданнями паралельно. Саме останніми чотирма пунктами я зазвичай і керуюся при розробці ПЗ для вбудованих систем.

Neil Macintosh

Розкажи про свій досвід у сфері статичного аналізу.
Я працював у команді статистичного аналізу З++ Microsoft з 2010 року, і був її головою з 2014 року. Це дуже цікава сфера. Це і робота над компілятором, і пошукова робота, і ти стикаєшся з купою випробувань, намагаючись пристосувати аналітичні результати так, щоб вони вписувалися в розумні просторово-часові рамки.

З Австралії в Вашингтон? Не сумуєш за сонечку?
Ха-ха-ха. Так, особливо наприкінці зими. Але літо на північно-заході США, в особливості на Тихоокеанському узбережжі неймовірно красиво, так що це мене «лікує». Мені здається, краса снігів, гір, річок і озер більш ніж відшкодовує рідкісні ясні дні. Південна Австралія — теж красивий куточок. Можливо зараз, після довгого часу за кордоном, я розумію це краще.

До зустрічі на конференції!
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.