Pull to refresh

Comments 62

То есть вы зажали триал еще сильнее? И это плюс? Наверное, только с точки зрения маркетолога :-\
Не зажали. Провоцируем на общение.

Малое количество «кликов» и ограничение анализа первым уровнем поможет быстрее начать общение в почте. Если кто-то захочет посмотреть на другие сообщения, то мы готовы выдать ему регистрационный ключ, скажем на 1 неделю. Ему только надо написать нам письмо.

Получить письма и начать общение очень важно для нас. Часто мы можем помочь человеку с какими-то сложностями, возникающими при работе с анализатором кода. Помогаем что-то настроить, избавить от ложных срабатываний, поясняем сообщения анализатора. Очень часто мы можем превратить негативное впечатление в положительное и сделать человека клиентом. Достаточно бывает подсказать ему какую-то волшебную настройку. А чтобы сделать это чудо, нужно общаться.

Попробуйте демонстрационную версию PVS-Studio. И обязательно напишите нам. Мы поможем, подскажем, выдадим регистрационный ключ для расширенного изучения. Только не молчите.
Я думаю, стоит об этом где-нибудь написать в самой программе, чтобы человек, у которого осталось мало кликов, не очень сильно переживал, а обрадовался неожиданной халяве (и, впоследствии, стал клиентом)
Статью не читай, быстро-быстро первый коммент давай.
Сложно наверное поверить, но статью я прочитал. И сказанное мной как-то с ней расходится?

По себе, очень не люблю, когда мне приходится что-то выпрашивать — и уж тем более, что меня вынуждают этим заниматься. Если по триалу нельзя оценить программу нормально — может ну его, такой триал? И ну ее, такую программу?

Фирма нас убеждает тут не первый месяц, что ее продукт полезен только при использовании «постоянно», и вдруг городит такое — что полноценно сделать анализ более-менее крупной программы становится совсем невозможно.

Если бы ребята сами не понимали, что их точка зрения на продукт — минимум полуправда, то сделали бы обычный тайм-триал, как предлагают те же производители антивирусов. Это не упрек, но давайте назовем вещи своими именами — анализ большинство программистов вряд ли будут делать постоянно. И их продукт нужен бывает «раз в иногда», тогда как зарабатывать хочется постоянно — то есть классический триал убыточен, он съедает потенциальную клиентуру.
В демонстрационном режиме мы жёстко отключаем 2 и 3 уровень всех диагностик. И их нельзя включить.

А это точно не для того чтобы не дать пользователям возможность бесплатно диагностировать свой код переходя по файлам не используя «клики» ;)?
Точно. Хотя в это сложно со стороны поверить. Очень важно сразу показать наличие ошибок в коде. Это первостепенная задача. И мы будем добиваться этого всеми возможными методами.
Очень важно сразу показать наличие ошибок в коде.
Дык сами добавляйте ему ошибки в код &lt/irony>
Я считаю, что любой триал должен явно описывать свои условия, причем в позитивном ключе.

Вот прямо взять и честно написать:

1. Система работает в демонстрационном режиме. Мы включили только самые ценные диагностики, чтобы не замусоривать вывод и не портить впечатление.
2. Просто походите по ошибкам, загляните в свой код и ужаснитесь.
3. Вы всегда можете попросить персональный ключ и поиграться еще недельку, как только израсходуете все переходы.

Тут вопрос в психологии. Надо сразу настраивать пользователя на мысль, что израсходовать все переходы — это не страшно, а наоборот закономерный и ожидаемый вариант.

Пользователи научены горьким опытом работы с триальными программами. Они ожидают, что как только часы пробьют 12, программа сразу повернется к пользователю задницей и превратится в тыкву. А дальше мол только деньги давай!

Склоняюсь к тому, что вы отключили 2 и 3 уровень диагностик, чтобы срезать «читеров», которые не пользовались кликами. Потому что если бы ваша цель была — не дать «включать на максимум», вы бы могли включать второй уровень диагностики только тогда, когда первый не показал никаких ошибок. Третий — когда никаких ошибок не показал второй уровень, и так далее.

Честно говоря, надеялся на то, что «новый триальный режим» окажется релизом всех исходников и переходом на полностью опенсорсную модель существования, но, похоже, не в данной вселенной.
На любом хоть сколько ни будь большом проекте, у вас будет более 100 предупреждений первого уровня. Вы не сможете добраться до второго. Так что даже нет смысла делать. А если у человека маленький проект, то ему статический анализатор не нужен. Был бы нужен — покупали бы CppCat. Но компании упорно покупают именно PVS-Studio. А CppCat ржавеет и со временем будет изничтожен как лишняя сущность.
Если гипотетический я не смогу добраться до второго уровеня — то, во-первых, зачем второй уровень вообще нужен? Во-вторых, в чем смысл анализатора, ошибки которого нельзя исправить?
Проблема на пустом месте. :)
Напишите нам, и мы выдадим Вам ключ на неделю. Можете смотреть 3 уровень или любой другой. А мы Вам будем помогать и агитировать приобрести наш инструмент. :)
Нет, я не пишу вам это с целью выпросить ключ на неделю — я не пишу под платформы, под которыми работает ваш анализатор, поэтому я не ваш клиент, как ни крути. Тут, скорее, идеологический момент — если вы считаете, что 100 с чем-то ошибок, которые выдаст ваш анализатор для проекта больше карманного, исправить невозможно, чтобы дойти до второго уровня — почему их нельзя исправить? Ошибки так сформулированы, что исправляя одну, появляется вторая, а исправляя вторую, снова возникает первая, т.е. это вина анализатора? Или статистика показывает, что люди не пользуются вашим анализатором по прямому назначению и оценивают только «общий уровень забагованности»? Или просто люди — ленивые свиньи и ничего не исправляют, даже если мордой ткнуть? Я вот этого не понимаю.
Если честно, то не понял комментарий.
Почему нельзя исправить? Программист правит, пока хватает кликов. Если очень понравилось — можно сразу купить. Если требуется больше времени для оценки и хочется посмотреть другие уровни — достаточно написать нам. Мы выдадим ключ, ограниченный по времени. И познакомимся с человеком заодно.
вы бы могли включать второй уровень диагностики только тогда, когда первый не показал никаких ошибок
у вас будет более 100 предупреждений первого уровня. Вы не сможете добраться до второго. Так что даже нет смысла делать.
Почему тогда, если можно исправить, я не смогу добраться до второго уровня? Исправляю первые 100 ошибок, запускаю заново анализатор, смотрю на выхлоп, rinse & repeat?
У вас всего 100 переходов (кликов). Не важно сколько будет запусков. И 100 — вполне достаточно, чтобы составить первое впечатление о продукте. Более подробное впечатление можно получить, пообщавшись с нами и получив ключ.
Да, теперь понятно, спасибо.
Да, наверное, Вы правы. У меня небольшой проект, около 150тысяч С++ кода, и когда я скачивал ваш анализатор год назад, он находил только предупреждения 3 уровня.
Год — это много. Были добавлены новые диагностики и улучшены старые. Предлагаю попробовать вновь. Думаю, это не займёт много времени. А если ничего вновь не найдётся — так и вообще прекрасно. :)
Мне сейчас довольно тяжело будет снова настраивать проекты под студию. У нас для всех проектов, и виндовых, и линуксовых используется система сборки QBS. Но я слежу за вашим проектом внимательно, и обязательно попробую еще раз, как только будет чуть посвободнее график (сейчас только срочняки в очереди).

Кстати, раз на то пошло — по результатам разных анализов стат.анализаторов (pvs, cppcheck, clang) — самая распространенная ошибка в моем проекте — неинициализированное поле (в том числе указатель). потенциальное *null лишь на втором месте.
Таких ошибок, как «эффект последней строки» или «эффект копипасты», почему-то ненаблюдалось. Обычно они очень быстро вылазят при первом же прогоне/тесте.

Ну еще довольно частые незначительные ошибки смешниваия int/size_t/uint32_t при доступе к контейнерам (при сериализации — нет).
Вот такая статистика =)
Да, ни один из стат анализаторов, к сожалению, не нашел ошибки, которая реально могла бы привести к порче/потере данных (потенциально, при каком-то дальнейшем изменении кода — да). Нет, не то что у нас прямо так идеально код пишут, я считаю, что то что было найдено- тоже полезно. Но больше с точки зрения прикладной диагностики принес нам valgrind (да, я читал ваши статьи про отличия динамического и статического анализа и понимаю что они мало где пересекаются).

Раз уж я рассказываю о своем опыте, опишу самый распространенный класс ошибок, найденный valgrind — выделяется память, сохраняется указатель, и потом передается через очень долгие и тернистые пути в другое место. Затем (МНОГОПОТОЧНОСТЬ!) в исходном месте он удаляется, и в новом естественном может иногда произойти доступ к уже удаленной памяти. Статический анализатор такое понять не в состоянии. После пары таких косяков я стал жестко переходить на shared+weak_ptr. помогло.

P.S. посмотрел прямо сейчас CLOC-ом, 320k sloc без 3rdparty, 40% — хедеры.
Спасибо что поделились впечатлениями и написали этот развёрнутый комментарий! Было интересно.

Мне сейчас довольно тяжело будет снова настраивать проекты под студию. У нас для всех проектов, и виндовых, и линуксовых используется система сборки QBS.
Быть может Вам поможет режим мониторинга запусков компилятора: www.viva64.com/ru/d/0323

Да, выглядит интересно, спасибо большое, должно помочь.
Посмотрю на досуге.
> А если у человека маленький проект, то ему статический анализатор не нужен. Был бы нужен — покупали бы CppCat.
Ну почему же? Я смотрел на студию и согласен с тем, что она была бы мне полезна, но из-за ее цены я ее купить не смогу ни сам, ни на работу.

CppCat я могу купить, однако, у меня проекты в основном заточены под линуксы или кроссплатформенны, по этому собираются все, включая зависимости, через CMake, нередко с прямыми вызовами других систем сборок (той же bjam для Boost). Как следствие, если генерировать проект для MSVS, то проверить получится только свой код, а зависимости останутся без проверки, чего бы мне не хотелось, так как они бывают с патчами и иногда багами. Эту проблему решает возможность слежения за компиляторами, но увы, это доступно только в полной PVS-Studio.

Уверен, что я не целевая аудитория Вашего продукта, но будь в Коте хоть какая-нибудь, пусть урезанная возможность присматривать за вызовами компилятора (пусть это будет прибито строго к каталогу исходников проекта или только компилятора студии, в которой открыт проект или как-то еще) я бы его купил даже за свой счет.

P.S. Не сочтите за критику. Продукт у Вас интересный и полезный.
Мне кажется подход в корне не правильный.
Я не могу определить нравится мне инструмент или нет если его урезать до немогу и поставить кучу ограничений.
Некоторые свои инструменты я покупал только после того, как поюзал их несколько триальных периодов.
Например шторм я купил наверное через 2-3 месяца после юзаний триалок и EAV версий. И ответ очевиден мне кажется. за эти несколько месяцев я смог полюбить инструмент, привыкнуть к нему и познать фичи, о существовании которых первый период даже не знал.

Ваш продукт мне нравится, и «обзоры» у вас интересные, которые читаются в захлёб, и возможно в некотором времени я бы скачал ваш продукт ознакомится. Но прочитав об ограничениях уверен что не захочу.

Ну, на третьем уровне были всякие полезности типа оптимизаций по скорости. не такая уж ненужная вещь, хотя, согласен, настоящие ошибки производят больше впечатления. Если они есть, разумеется. Зато ложные срабатывания наоборот — отпугивают, и не компенсируются полезностями 2-го и 3-го уровней. В общем, я не понял этой идеи.
Не заставляйте меня запускать IDA
Ваш продукт не любит JPEG:

V691 Empirical analysis. It is possible that a typo is present inside the string literal: «image/jpeg». The 'jpeg' word is suspicious. gdiplusimage.cpp 28
Он никого не любит. :)

При статическом анализе неизбежно бывают ложные срабатывания. Иногда много. Но для работы с ними есть масса механизмов. Предлагаю посмотреть "Работа с ложными срабатываниями в PVS-Studio и CppCat". И новый механизм массовой разметки, помогающий интегрировать анализ в большой проект: www.viva64.com/ru/d/0345
Но добавить jpeg в словарь всё равно стоит :)
А не лучше ли сортировать ошибки от интересных к скушным?
Приоритет и есть такая сортировка. И далеко не всегда машина может понять, какая ошибка реально интересная.
Я на C++ очень редко пишу, поэтому к вашим потенциальным пользователям не отношусь, но прокомментирую. Вот тут я провёл опросик про статический анализ Java-кода. Вычтем вариант «не пишу на Java», получается 223 проголосовавших. Из них 58% ответило, что не используют FindBugs или другой статический анализатор. Это при том, что для Java есть весьма неплохие бесплатные анализаторы кода, они интегрируются с разными IDE, системами сборки и непрерывной интеграции и настройка анализатора на Java-проект в среднем существенно проще, чем на C++. Да и Java гораздо более одинаковая: практически отсутствуют vendor-specific особенности, которые могут снести крышу анализатору. Казалось бы, бери и пользуйся. Но нет, многие лишь подумывают. Думаю, в мире C++ всё куда хуже. Многим даже если бесплатно дать, они не воспользуются, потому что придётся настраивать и разбираться.
Пошли «запросы» на увеличение кликов… Ох не понимаю, зачем такую информацию отсылать.

asasawas
gdfdfgdfgdf
hjfghfghgfh

Неужели мы такие страшные? :)
Если потенциальный клиент не принял ваш новый триальный режим, может ли он легально скачать версию PVS-Studio 5.23?
Очевидно, чтобы воспользоваться старым вариантом триального режима.
ЗАЧЕМ?!
Чтобы непременно посмотреть 2 и 3 уровень предупреждений? Просто напишите нам — и посмотрите.
Не использую ваш продукт, и не являюсь потенциальным клиентом.
Но при чтении вашей статьи через свои фильтры, воспринимается так:
«У нас есть продукт, с нашей (и возможно не только) точки зрения он отличный. Но его не покупают, поскольку умудряются легально пользоваться обходными путями. Один раз попытались пресечь — не получилось. Теперь еще больше урезаем возможности триала, что-бы им невозможно было пользоваться тем, кому продукт действительно нужен. Приманиваем сладкой неделей, поскольку нам кажется, что потенциальный клиент — баран, и в любом случае поступит так, как мы его вынуждаем. А мы всего-лишь хотим продать свой продукт потому, что НАМ кажется, что он отличный, а не потому, что КЛИЕНТУ нужен удобный инструмент по вменяемой цене.»
Возможно просто показалось, но сейчас в тренде подавление своего эго для достижения результата. Вы стоите против тренда. Скользкая позиция.

p.s. Джобс в свое время из себя вылезал, когда пытался донести мысль, что покупатель гораздо проще 100 раз расстанется с $1, и наберет интересные ему композиции, чем один раз со $100, купив два альбома, из которых будет слушать три песни.
Идея продать 100 раз по 1$ не работает для многих направлений, в том числе и для нас.

Эксперимент с CppCat полностью убедил нас, что клиентами инструментов статического анализа являются компании. Они покупают и с удовольствием используют PVS-Studio. Многие продлевают. Есть клиенты, использующие PVS-Studio уже 4-ый год.

Нас много и долго убеждали (особенно на Хабре), что нужен дешёвый аналог PVS-Studio за 300-400 долларов, которые все кинутся покупать. Очередь будет. Мол у вас купит каждый индивидуальный разработчик и т.п. И вот появляется CppCat, ценою в $250. И что? А ничего. Не нужно это никому в мелких или индивидуальных проектах. А для больших он неудобен (как и задумывалось при выборе ограничений).

Не берут! Реклама не помогает. Не помогают скидочные акции. Не помогает даже раздача на халяву. CppCat просто никому не нужен. При этом компании продолжают спокойно приобретать PVS-Studio, который стоит в десятки раз дороже чем CppCat.

В результате PVS-Studio спонсирует убыточный CppCat. Так что на нас сказки про большое количество пользователей впредь никогда не подействуют. Всё, иммунитет выработан :). А бестолковщину с CppCat мы скоро прекратим.
Ухты! А CppCat оказывается есть бесплатный и для преподавателей (я по одной из работ преподаватель).
Сегодня тогда отправлю информацию и попробую потестировать CppCat в своем окружении более детально, если, конечно, программа еще не закрыта.
Всем вот вы хороши. И программа у вас хорошая. И люди вы явно не глупые. Но вам бы пиар-специалиста нанять (судя по качеству и количеству клиентов денег у вас должно быть море, простите), а то вы с народом разговариваете, как хлеб топором режете. Еще раз прошу прощения за нравоучения :)
Где же взять такого пиар-специалиста, который как Andrey2008 хотя бы MVP C++, Intel Black Belt и т.п.? Если знаете такого, кидайте контакты — сразу наймем, даже без собеседований.
Ваша проблема в цене. Очень мало компаний, которые используют C++ и которые готовы заплатить вашу цену за продукт.
Я работал в компании, где было очень много C++ кода. Будучи главным программистом, я исследовал вопрос приобретения вашего анализатора. Исследование показало, что затраты не окупятся. Проверка кода в триальном режиме выявила очень мало проблем (может просто у нас были хорошие программисты?) и платить вашу цену за эти ошибки мы не стали.
Сейчас я работаю над неким opensource продуктом и с удовольствием бы купил ваш анализатор, будь у него персональная лицензия с адекватной ценой. Уверен, таких как я, много. Но вас, эта аудитория, к сожалению, не интересует.

PS. Да, сейчас у вас цена не указана. В памяти крутится достаточно крупная сумма, уверен, не у меня одного. Возможно, после знакомства с деятельностью компании, вы сможете предложить им приемлемую цену, но лично меня такой подход напрягает. Цена не фиксированная, а зависит от покупателя. Мол, можешь заплатить больше — заплати. Мне такой маркетинг не по душе. Я не желаю платить больше, просто потому что могу. Неправильно это.
Очень мало компаний, которые используют C++ и которые готовы заплатить вашу цену за продукт.


Да-да...

и с удовольствием бы купил ваш анализатор, будь у него персональная лицензия с адекватной ценой.


Вот только что-то я не вижу Вас среди лицензионных пользователей CppCat.
Да-да...

ну если вас устраивает размер этого списка, то ok, вопросов больше нет.
Вот только что-то я не вижу Вас среди лицензионных пользователей CppCat.

Вы прямо меня заинтересовали. Захожу на ваш сайт, пытаюсь найти страницу CppCat. Мне интересны:
1. Цена
2. Отличия от PVS-Studio

И где там это? Такое ощущение, что вы намеренно прячете эту информацию. Или по вашей логике я должен сначала вам написать, что хочу PVS-Studio для себя лично, а вы такие: для себя лично вот вам CppCat. У нас завязывается переписка, вы выясняете мою платежеспособность и в итоге выясняете, что я для вас не выгоден. Или как?
Я понимаю, ничего личного, бизнес, всё такое. Если вас эта схема устраивает, я ничего против не имею. Это просто мое личное мнение. Мнение потенциального клиента, если хотите.
Давайте честно. Вы специально хотели не найти CppCat и не найти сравнения, чтобы написать подобный комментарий. Ибо как известно результат напрямую зависит от настроя (что ожидаете — то и получите). Если настрой негативный, то всё будет ненаходиться, некачаться и неработать.

CppCat

Сравнения на любой вкус:

Нет. Я не нашел, как ни искал. А по вашей ссылке открылась «Самая короткая статья о проверке nginx»
Странно, да?
Спасибо за ссылки, но, вы в самом деле думаете, что ваш потенциальный частный покупатель пойдет ворошить раздел блогов, чтобы найти некий продукт, который ему по карману? Не скажет ли ему отсутствие этого названия на главной и в списке продуктов, что такого продукта вовсе не существует?
Вот видите. Я знал, что существует некий CppCat и что именно вы его разрабатываете. Это всё что я о нем знал. Кто-то знает и того меньше. На сайт PVS-Studio я прошел по ссылке из этой статьи. Нажал на кнопку купить и обнаружил предложение написать вам письмо. Никаких ссылок и упоминаний о существовании CppCat там нет. Вот вы пожаловались, что CppCat никто не покупает. А на какие продажи вы вообще расчитывали, если до вашего продукта нельзя пройти хотя бы в 3 клика, даже зная, что такой продукт существует?
Получается интересная ситуация: CppCat — тот же PVS-Studio, но урезанный и дешевле. Вы не назвали его типа PVS-Studio Personal, или что то типа того. Вы вообще по другому его назвали. И на основном вашем сайте почти ничего не говорит о его существовании. Зачем так сделали? Видимо, чтобы крупные клиенты не отвлекались почем зря. Но при этом вы получили никакие продажи CppCat.
Когда я слышу PVS-Studio, у меня в голове возникает ассоциация с хорошим анализом кода (спасибо статьям на хабре, да), но когда я слышу CppCat, такой ассоциации не возникает вообще. Что это еще за поделие? Кому? Для чего? Вы сознательно разрушили связь нового продукта с качественным (спорно) старым. И удивляетесь, что он не взлетел. Ну а чего вы хотели?
Специально зашёл на ваш сайт с целью скачать триалку CppCat (или что там у вас) и в течении двух минут не встретил ни одного его упоминания. ЧЯДНТ?
CppCat отдельный продукт, который имеет отдельный сайт, отдельно рекламируется, отдельно продается, отдельно поддерживается, отдельно участвует в скидочных акциях и так далее. Так что ничего странного нет. Страннее тогда уж то, что он вообще упоминается на сайте viva64. Была идея заново «сделать продукт статического анализа по правильному». Неудачно.

По поводу, что всем не удаётся найти нигде CppCat — я не воспринимаю это всерьёз. :)
Нет, вру. Нашёл упоминание поиском по странице в названии статьи. Но как его скачать — всё равно не понятно.
Вот вы жаловались, что CppCat крайне не популярен и никто его не покупает. Знаете что? Никто просто не знает о его существовании.

Когда я зашёл на страницу, я ожидал увидеть нечто вроде раздела «Other products» (например — в верхнем меню), где бы и находился CppCat. Но — нет.
Думаю, про PVS-Studio знает больше людей, так как он существует и продвигается дольше чем CppCat. Однако причина неуспеха CppCat вовсе не в том, что он не предлагается на сайте Viva64.com. Он и не должен там предлагаться. Он продвигался отдельно. И продвигался не менее активно чем PVS-Studio.

А по поводу, где находится CppCat… Собственно берём любую статью про CppCat, например с Habrahabr. В каждой из них есть ссылка на сайт с CppCat.
Прочел выше про цену. $250… хм хм. Странно, что узнал я это не на вашем сайте.
Вы не думали, что $250 это тоже много? Это гораздо выше психологического барьера для программиста одиночки, для которого цена ошибки в коде — 0. Он ведь практически не несет убытков от своих ошибок, потому что он либо пишет бесплатный софт, либо в лицензии к своей программе так и пишет: as is.
Я, кстати, заметил в списке Microsoft. Вот интересно, они там, потому что один раз купили лицензию, чтобы посмотреть, хорош ли ваш анализатор и сравнить его со своим, или они каждый год продляют лицензию и проверяют вашим анализатором код windows?
Может список, по факту, пора и подчистить, если лицензия не продлена?
+1. Больше $40 за программу помогающую заниматься хобби (фришный опенсорс) я бы не стал платить…
Мы никогда не планировали строить бизнес, продавая анализатор людям для хобби. И я уверен, что денег в этом направлении нет. Если $50 слишком много для хобби, то это какое-то неубедительное хобби и неубедительный аргумент. Можно привести массу примеров, когда люди тратят на различные хобби куда большие деньги.
UFO just landed and posted this here
Ну, казалось бы, покупка PVS-Studio — это как раз апгрейд, чтобы программировать было быстрее и приятнее, разве нет?
Sign up to leave a comment.