четверг, 3 октября 2013 г.

[prog] Online-интервью Андрея Александреску на reddit.

На RSDN нашел ссылку на online-интервью Андрея Александреску на reddit-е. Любопытно. Ниже немного из того, что бросилось в глаза. На всякий случай напомню, что сейчас Александреску работает в Facebook, поэтому это название ниже будет употребляться довольно часто. Да, и свою комментарии я даю в скобках курсивом.

Язык D в Facebook не используется. Александреску собирается предпринять какие-то действия по продвижению D в FB, но как это пойдет и чем закончится, он пока и сам не знает.

Языку D сейчас очень на хватает качественной реализации (что звучит довольно странно, учитывая возраст языка и количество потраченного на него времени и усилий).

Соотношение объемов кода на PHP и C++ в Facebook сейчас порядка 70/30 (т.е. 70% кода на PHP, 30% на C++). Несколько лет назад это соотношение было 90/10 (что меня, как старого C++ника, не может не радовать). Так же в некоторых проектах FB плотно задействована Java.

В Facebook нет отдельного QA подразделения, тестированием кода занимаются сами разработчики. Нет в FB и формализованных процессов разработки. Однако, код должен a) проходить через навороченный lint (статический анализатор кода), b) быть покрыт unit-тестами, c) проходить code review хотя бы одним независимым разработчиком (в обязанности которого входит и проверка наличия unit-тестов для кода). Ну и, прежде чем попасть в продакшен, код проходит через ряд "песочниц" и тестовых стендов.

На вопрос "Что вы думаете о языке Go и чтобы вы оттуда взяли в D" Александреску высказался в том духе, что не будь за Go такого мощного двигателя, как Google, этот язык вряд ли вызвал к себе интерес. А из Go в D он бы взял людей, которые написали для Go библиотеки для работы с сетью :)


Лично я уже давно разочаровался в D. Но сейчас, когда приходится в C++ выдумывать схемы подсчета ссылок на перемещаемые между несколькими нитями объектами, становится жалко, что пока у C++ нет реальной альтернативы. Т.е. нативного языка с такими же выразительными возможностями (шаблоны, множественное наследование, исключения), скоростью работы, поддержкой низкоуровневых вещей, но со сборкой мусора. Так что я не буду разочарован, если в отношении D я ошибусь и силами Брайта и Александреску со товарищи, он таки взлетит когда-нибудь. Хотя к тому времени будет уже намного более удобный для повседневной работы C++18 ;)

Комментариев нет: