пятница, 26 февраля 2016 г.

JetBrains C++ минус

По итогам JetBrains C++ Night - впечатление от мероприятия осталось странное, что я и вынес в заголовок.

Собственно, так или иначе C++ в продуктах JetBrains было посвящено только одно выступление - "Виртуозное использование юнит-тестирования в CLion" - да и то опосредованно: был явный перекос в сторону фреймворка от Google (Test и Mock), а сами возможности CLion и та самая виртуозность остались за кадром. Впрочем, было можно заметить, что CLion унаследовал от платформы IDEA достаточно пристойную юзабилити. По крайней мере, в написания юнит-тестов для упомянутого фреймворка и элементов управления проектом (использование только CMake аудиторию несколько обескуражило, но это, в принципе, можно пережить). Предполагаю, что люди, которые работают над CLion, как минимум думают в процессе своей работы. Тут ведь такое дело: если IDEA была написана на самой же IDEA, что сильно улучшало и ускоряло процесс разработки, то вот с CLion ситуация "как у всех", в смысле вряд ли CLion написан на C++ и потому нужны заметные потусторонние усилия, чтобы у команды было концентрированное понимание, а как вообще мы программируем в несферических условиях не в вакууме.
Само же мероприятие началось с "Оптимизация ReSharper C++". Тут вообще всё сложно. Понятно, что в среднем присутствовавшая публика так или иначе заинтересована в том, чтобы писать код на C++
(В качестве отступления. Если и были товарищи, которые только ещё думают в сторону C++ или пока только пытаются делать что-то осмысленное и может даже боевое,то  должны после этого вообще перестать так думать, ибо зачем нужен настолько сложный язык программирования, который в свою очередь требует сложных и дорогих инструментов для достижения сравнимой эффективности, скажем, с Java или .Net? Проще сразу в управдомы на Java и вообще уже мозг не морщить никогда.),
но далеко не всем интересны глубинные проблемы ReSharper C++ по работе с кодом на C++ же. По мне со времён Together C++ (а это, на минуточку, лет 10-15 как) мало что изменилось в этом смысле, разве что дельту парни из JetBrains поэффективнее научились пересчитывать,.. но тут задачи у продуктов отличные друг от друга (Together не был классической средой разработки, там можно было сэкономить кое в чём). А вот информации и примеров того, что (возможно) ReSharper C++ делает лучше или по-другому относительно той же Visual Studio категорически не хватило. Зато примеры гаденьких плюсовых фрагментов были хороши. Интересно, как с этим справляется CLion? - ибо докладчик нерешительно упомянул, что у продуктов кодовая база разная.
Вишенкой на торте показался третий и последний по счёту доклад про HPC (high performance computing). Хорош и по форме и по содержанию, так что в итоге вопросов к докладчику можно сказать не возникло вообще. Но и опять, на мой взгляд, несколько мимо ожидаемого по двум причинам. Во-первых, и C++ и JetBrains остались далеко за сценой. Во-вторых, HPC в представленных измерениях это такие вычисления, которые или надо ухитриться выполнить быстрее конкурентов, или очень надо завершить до момента кончины этой вселенной. Не то чтобы я прямо считал это каким-то маргинальным направлением, но я так считаю что-то мне подсказывает, что подобными вещами с воодушевлением занимаются очень и очень немногие. Основное поверье "давайте мы сейчас поставим Hadoop и кучу серверов и всё станет хорошо" вытравить из народных масс просто так не получится. А более приземлённые HPC... ну, какие-то практические штуки, как-то: уложить в real time какую-то могучую цифровую обработку сигналов, добавить в существующую систему кучу дополнительного функционала не поломав время отклика требуют и размышлений не таких глобальных и инструментов поприземлённее. Можно сидеть и профилировать код, поискав какие-то способы по-другому разбросать нагрузку по ядрам, подвигать память между быстрыми и медленныеми банками, купить новую железку (если клиент платит), где ядер/мегагерц/памяти побольше, или есть железная реализация нужного конвейера (скажем, быстрое преобразование фурье) или поискать закатившиеся под ковёр полезные интринсики от вендора. Вот где влияние правильной софтины для разработчика недооценить невозможно. Это я к тому, что в докладе смешались два разных направления за один час времени, и это немного порвало контекст.
Да, и что хочу сказать: так вот, сподвигся на то, чтобы наконец заглянуть в опции C/C++ компилятора для VS - а там есть готовые опции для распараллеливания кода. А я и не думал!

вторник, 16 февраля 2016 г.

A и V сидели на трубе

Не перепутаны:

Сегодня с Ali приехал. Ехал довольно долго.
Я всё гадал, а что у каждого второго владельца Lumia экран смартфона покрыт трещинами. Недавно повертел в руках некоторые из имеющихся в продаже телефонов и стало всё понятно. В смартфонах 500-й и 600-й серии (кроме 640 XL) задняя крышка абсолютно гладкая, аж противно. Уронить такой, если нет чехла, совершенно немудрено (а вот 640 XL снабжён вполне приличным soft-touch покрытием).

PS. Да, вторая попытка починки 1520 удалась, телефон снова жив. Что радует, это у нас его уже не купить.

понедельник, 15 февраля 2016 г.

На заметку

В преддверии лета (ага, у нас снегу опять нападало внезапно!:) размышляя о смене оператора мобильной связи нашёл вот что: Узнать оператора по номеру телефона. Ибо в связи с тем, что оператора можно сейчас менять почти как перчатки с сохранением номера, все существующие таблицы привязки номерных групп к операторам начинают постепенно протухать.

Спутник взлетает. Первая ступень отработала.

 И, кажется, неплохо: Посмотрим, что будет когда отработает вторая.