20 февраля 2019

Пауло Коэльо и другие
5 лет назад

— Один?
— Да.
— Любишь одиночество?
— Не люблю. Просто стараюсь не заводить лишних знакомств, чтобы в людях лишний раз не разочаровываться

1 отметок нравится. 0 комментариев. 0 репостов.
Пока нет комментариев
Яндекс для разработчиков
5 лет назад

Ещё с 2016 года сотрудники Яндекса представляют Россию в комитете по стандартизации C++. Это организация, которая контролирует развитие языка. Наша рабочая группа в составе комитета называется РГ21. Кстати, недавно в неё вступил первый специалист не из Яндекса — Антон Бикинеев, Kaspersky Lab.Трижды в год комитет проводит собрание, каждый раз — в новом городе мира. Во время собраний рассматриваются так называемые proposals — предложения об изменениях в языке. РГ21 участвует в этих дискуссиях, готовит и защищает свои предложения, а также — может помочь с оформлением вашей идеи для комитета. Если вы хорошо разбираетесь в C++, знаете, как его улучшить, и готовы защищать свою идею — напишите о ней на сайте рабочей группы.Антон Полухин, старший разработчик Яндекс.Такси и сооснователь РГ21, рассказывает о работе комитета и о том, какие идеи российского сообщества найдут применение в C++20.Одно из собраний комитета. Все в кепках C++, в первом ряду — Герб СаттерПервые впечатленияПервая поездка на собрание была захватывающей — я сразу увидел всех своих кумиров. Заходишь в лифт в отеле, а там стоит Бьярне Страуструп или Герб Саттер. Ты чувствуешь, будто едешь в лифте с рок-звёздами. А потом ты ещё с ними общаешься.Иерархия комитетаВ комитете сейчас около 180 человек, он непрерывно растёт. Есть шесть основных подгрупп, у каждой своя сфера ответственности: язык, эволюция языка, библиотеки, эволюция библиотек и ещё две, которые являются инкубаторами — в них попадают все самые противоречивые предложения. Инкубаторы появились несколько месяцев назад. Плюс ещё восемь подгрупп по конкретным направлениям.Как правило, новые идеи попадают в подгруппу эволюции языка или эволюции библиотек. Там они обсуждаются, улучшаются или забраковываются. Одобренные идеи переходят к подгруппе языка или библиотек, где уже происходят правки текста для добавления в стандарт. Есть много подводных камней, известных лишь участникам этих двух подгрупп. Только они досконально разбираются в том, что можно и что нельзя писать в стандарте.УчастникиЛюбой разработчик может прийти на заседание, высказать своё мнение, недовольство или представить идею. Но собрания проходят по всему миру, и ездить на них за свой счёт очень накладно. Поэтому большинство людей представляют интересы таких компаний, как Google, Яндекс, Mozilla, Facebook и др. В комитете есть представители всех крупных IT-корпораций и фирм, которые занимаются производством железа. Ещё одна причина такого состава участников заключается в том, что C++ популярен в серьёзном продакшене, хорошо приспособлен к решению сложных задач.Когда компания решает, кого послать на собрание, она выбирает сильных разработчиков, которые ориентируются и в её корпоративных интересах, и, конечно, в самом языке. Получается, что комитет в основном состоит из старших и ещё более старших разработчиков. Людей, которые представляют интересы студентов и стартапов, не очень много, и это сильно повышает порог вхождения в язык. Те абстракции и инструменты, которые кажутся очевидными с точки зрения экспертов, слишком сложны для менее искушённой публики. Хотелось бы, чтобы в дальнейшем с ростом комитета в нём появлялись люди из разных институтов.CобранияКаждое собрание занимает неделю. С понедельника по пятницу с 8:30 утра до 6 вечера идут основные обсуждения. Среди них есть самые большие встречи, в которых участвует большинство людей — это позволяет понять, каковы наши главные цели на текущем собрании. Большие встречи обычно проходят по понедельникам. В последующие дни люди собираются подгруппами. По вечерам, с 8 и до поздней ночи — отдельные клубики по интересам. И наконец, в субботу проходит финальное голосование.Необходимая бюрократияТаким образом, если у вас есть идея, которую вы хотите «продвинуть» в стандарт, то вам придётся поочерёдно согласовать её с множеством подгрупп. С другой стороны, это лучше, чем если за неё возьмутся все 180 человек сразу. Столько людей вряд ли договорятся — будет много непродуктивного шума. Система подгрупп работает лучше — можно одновременно рассматривать больше предложений.Вступая в комитет, я надеялся, что идеи будут принимать быстрее. Первое время меня раздражало, что идея меняется, казалось бы, незначительно, но при этом откладывается до следующего собрания — и так несколько раз. Но однажды я взял в руки предложение, которое уже раз семь было исправлено, и посмотрел на разницу между текущим текстом и текстом двухлетней давности. Я понял, что за два года была проделана большая работа, proposal стал намного лучше — несмотря на то, что с первого взгляда кажется, будто правок мало.Структура предложенияОна выработалась естественным образом. Всё начинается с заголовка, который должен цеплять глаз — чтобы люди просто прочитали ваш proposal. Дальше обычно идёт краткое содержание — какую проблему мы пытаемся решить, почему её надо решать. Затем следует описание конкретных решений, а под конец — проработанный текст для включения в стандарт. Вся специфика заключается в этом тексте. В нём всё сложно, всё привязано к языку. Вряд ли в других языках могут быть подобные изыски. К счастью, в комитете есть люди, которые способны помочь автору предложения. Можно попробовать написать черновик самому, а дальше тебе покажут, где и что исправить. Я, например, могу помочь с библиотеками. А вот по ядру языка могут подсказать лишь около 15 человек в мире — те, кто занят разработкой компиляторов.С++20Начиная с С++11 комитет обновляет язык каждые три года. Есть надежда, что 20 версия выйдет в 2020 году. С другой стороны, в С++20 гораздо больше крупных нововведений, чем в C++17 и C++14. Contracts, concepts и ranges точно войдут в релиз, modules — скорее всего, coroutines — возможно. Я перечислил очень большие истории, часть из которых началась ещё 9 лет назад. Так что не исключено, что C++20 немного опоздает. Зато этот релиз увеличит популярность языка и привнесёт большие изменения в то, как люди им пользуются.Идеи от сообществаНекоторое время назад никак с нами не связанный разработчик Алексей Горгуров предложил на сайте РГ21 принять класс stack trace в стандарт — и сейчас этот класс действительно готовится к принятию в C++20. Если честно, мне изначально казалось, что принимать stack trace в стандарт рановато, но автор идеи начал её прорабатывать, написал черновую версию proposal. Оставалось только внести правки и представить идею в комитете. Участники сразу ей загорелись.Есть отдельное обсуждение про wide_int, это числа, ширина которых задаётся на этапе компиляции. К нам пришёл наш разработчик Игорь Клеванец, сказал, что ему интересно попробовать, сделал прототип, начал писать proposal, привёл его к виду, готовому для обсуждения в комитете. Таких историй довольно много.

Показать полностью…
0 отметок нравится. 0 комментариев. 0 репостов.
Пока нет комментариев
LIBERTY | PEOPLE
5 лет назад

В декабре 1943 года в берлинской тюрьме была была казнена [гильотинирована] 43-летняя портниха Эльфрида Шольц. Ее казнили «за возмутительно фанатическую пропаганду в пользу врага». Одна из клиенток донесла: Эльфрида говорила, что немецкие и русские солдаты — пушечное мясо, Германия обречена на поражение, и что она охотно влепила бы Гитлеру и Сталину пулю в лоб.

На суде и перед казнью Эльфрида держалась мужественно. Существуют свидетельства, что судья ей объявил: «Ваш брат, к несчастью, скрылся от нас, но вам не уйти». Власти прислали ее сестре счет за содержание Эльфриды в тюрьме, суд и казнь — 495 марок 80 пфеннигов. Через 25 лет именем Эльфриды Шольц назовут улицу в ее родном городе Оснабрюке. Старшим и единственным братом погибшей был писатель Эрих Мария Ремарк. Ей Ремарк посвятил свой роман «Искра жизни», вышедший в 1952 году.

Показать полностью…
1 отметок нравится. 0 комментариев. 0 репостов.
Пока нет комментариев
Burger King Russia
5 лет назад

Поможем сохранить идеальный баланс?

0 отметок нравится. 0 комментариев. 0 репостов.
Пока нет комментариев
Школа? Не, не слышали
5 лет назад
0 отметок нравится. 0 комментариев. 0 репостов.
Пока нет комментариев