Я и мои коллеги очень долго отказывались обсуждать тему разработки PVS-Studio для операционной системы Linux и UNIX мира в целом. Дело не в каких-то личных пристрастиях или технических сложностях. Всё проще — это холодный, прагматический подход к развитию продукта.
Мы — маленькая компания, которая существует исключительно за счёт продажи программного продукта PVS-Studio. Мы не получаем гранты или какую-то иную поддержку от государства или больших компаний — всё это накладывает большую ответственность за выбор направления развития.
Сейчас мы накопили новых сил, собрались с духом и начинаем новую для нас тему освоения Linux. Да, да, это свершилось. Мы решились начать работы в этом направлении. Надеюсь, с этим у нас получится лучше, чем с CppCat.
PVS-Studio for Windows
Вначале кратко напомню, что сейчас представляет собой PVS-Studio, и что он умеет на данный момент. Если Вы уже читали наши статьи, то можете пропустить этот раздел.
PVS-Studio — это инструмент для выявления ошибок в исходном коде программ, написанных на языках С, C++ и C#. Анализатор до настоящего момента был ориентирован на разработчиков, использующих среду Visual Studio. Поддерживаемые языки и диалекты:
- Visual Studio 2015: C, C++, C++/CLI, C++/CX (WinRT), C#
- Visual Studio 2013: C, C++, C++/CLI, C++/CX (WinRT), C#
- Visual Studio 2012: C, C++, C++/CLI, C++/CX (WinRT), C#
- Visual Studio 2010: C, C++, C++/CLI, C#
- MinGW (частично): C, C++
Основные особенности PVS-Studio:
- Автоматический анализ файлов после их перекомпиляции в Visual Studio.
- Сохранение и загрузка результатов анализа: можно ночью проверить код, сохранить результаты, а утром загрузить их и смотреть.
- Запуск из командной строки для проверки всего решения: позволяет интегрировать PVS-Studio в ночные сборки, чтобы утром у всех был свежий лог.
- Mark as False Alarm – разметка в коде, чтобы не ругаться конкретной диагностикой в конкретном фрагменте файла.
- Mass Suppression – подавить все старые сообщения, чтобы анализатор выдавал 0 срабатываний. К ним всегда можно вернуться позже. Удобное внедрение. Ошибки только в новом коде.
- Использование относительных путей в файлах отчета для возможности переноса отчета на другую машину.
- CLMonitoring – проверка проектов, у которых нет файлов Visual Studio (.sln/.vcxproj); если вам не хватит функциональности CLMonitoring, то вы можете интегрировать PVS-Studio в любую Makefile-based систему сборки вручную.
- Хорошая масштабируемость: анализатор может загрузить все ядра процессора. Дополнительно можно использовать совместно с IncrediBuild.
Подробнее познакомиться с анализатором, а также скачать его можно на странице продукта PVS-Studio. Напоследок приведу сводную таблицу основных диагностических возможностей PVS-Studio. В таблицу включены не все диагностики, так как некоторые из них сложно классифицировать. Это не помешает составить общее впечатление, а подробно с имеющимися диагностиками можно познакомиться здесь.
Таблица 1 — Возможности PVS-Studio. Нажмите на рисунок для его увеличения.
PVS-Studio for Linux
Теперь собственно поговорим о том, ради чего многие начали читать эту статью: о поддержке Linux.
Эта задача не так проста, как может казаться на первый взгляд. Скомпилировать исполняемый модуль под Linux и что-то с его помощью проверить — задача нехитрая. Мы давно с ней справились. Ещё год назад мы писали статью об эксперименте про проверку Vim. Однако, это только маленькая часть всего объёма работ. Программисты забывают, что собрать исполняемый модуль и создать программный продукт — это далеко не одно и тоже.
Мы планируем поддержать GCC и Clang. Мы начали с GCC, а к Clang мы вернемся позднее. Расскажу о задачах, которые сейчас стоят перед нами.
1. Более полная поддержка GCC и Clang
Мне иногда кажется, что разработчикам компиляторов скучно, и они придумывают различные способы сделать себе жизнь сложнее, а заодно и разработчикам, реализующих подсветку кода, статический анализ и так далее. Другим способом я не могу объяснить зачем, например, понадобилось вводить Conditionals with Omitted Operands. Конечно, круто, что можно сократить тернарный оператор до: z = x?: y;. На мой взгляд, без этого совершенно спокойно можно обойтись и жить счастливой жизнью.
Многих удивляет, почему надо заморачиваться с различными документированными и недокументированными расширениями компилятора. Кажется, достаточно анализировать С++, соответствующий стандарту и не обращать внимание на расширения, так как они используются крайне редко. К сожалению, это не так, и расширениям приходится уделять много времени.
Не важно, часто или нет встречаются в программе нестандартные сущности. В любой серьезной программе встретятся заголовочные файлы, содержащие какое-то из расширений. В результате это запутывает парсер в анализаторе, и он не может полноценно обработать множество *.cpp файлов, в которые включён этот злосчастный *.h файл. Конечно, в анализаторе PVS-Studio встроены механизмы, которые пытаются компенсировать ошибку разбора кода и продолжить анализ. К сожалению, этот механизм не всегда помогает. В результате могут возникать странные ложные срабатывания или наоборот, из анализа будет исключен фрагмент кода (до конца функции или класса, а то и всего файла).
Более того, всякие «хитрые» штучки любят использовать в системных заголовочных файлах. Так что на практике нарваться на какое-то расширение очень даже легко.
Если кому-то интересно, о чем всё-таки идёт речь, могу предложить взглянуть, например, на:
И это только документированные расширения. По опыту работы с Visual С++, мы ещё ожидаем наличие подлянок в форме недокументированных расширений.
Поскольку мы используем собственный парсер (развитие ныне забытой и заброшенной библиотеки OpenC++), то мы должны поддержать различные расширения.
Впрочем, используй мы какой-то другой парсер, это не сильно бы нам помогло. Например, если мы перепишем анализатор, взяв за основу Clang, нам все равно придётся самостоятельно сражаться с расширениями GCC, Visual C++.
2. Новая система регрессивных тестов в Linux
Разрабатывая PVS-Studio, мы используем семь методик тестирования:
- Статический анализ кода на машинах разработчиков. У всех разработчиков установлен PVS-Studio. Новый или изменённый код сразу проверяется с помощью механизма инкрементального анализа. Проверяется C++ и С# код.
- Статический анализ кода при ночных сборках. Если предупреждение не было замечено, то оно выявится на этапе ночной сборки на сервере. PVS-Studio проверяет C# и C++ код. Помимо этого, мы дополнительно используем Clang для проверки C++ кода. Одно время для C# кода также дополнительно применялся FxCop. В течение года он так ни разу ничего не нашел полезного, и мы отказались от его использования. А вот Clang пару раз находил ошибки, которые не замечал PVS-Studio, и мы сочли рациональным продолжать его использовать.
- Юнит-тесты уровня классов, методов, функций. Не очень развитая система, так как многие моменты сложно тестировать из-за необходимости подготавливать для теста большой объем входных данных. Мы больше полагаемся на высокоуровневые тесты.
- Функциональные тесты уровня специально подготовленных и размеченных файлов с ошибками.
- Функциональные тесты, подтверждающие, что мы корректно разбираем системные заголовочные файлы. Это важно, так как если в системном файле используются нестандартные расширения, то это портит проверку сразу многих проектов.
- Регрессионные тесты уровня отдельных сторонних проектов и решений (projects and solutions) — самый важный и полезный для нас вид тестирования. Для его осуществления мы регулярно проверяем 105 открытых проектов на C++ и 49 на C#. Сравнивая старые и новые результаты анализа, мы контролируем, что что-то не сломали и оттачиваем новые диагностические сообщения.
- Функциональные тесты пользовательского интерфейса. Имеется в виду тестирование расширения (plug-in), которое интегрируется в среду Visual Studio. Проверяем, что нажатие на различные кнопки и пункты меню приводит к нужным результатам.
С точки зрения поддержки Linux, нам нужно в первую очередь расширить пункт N5 и N6. Пункт N5 пересекается с предыдущем разделом «Более полная поддержка GCC и Clang». Сделать тесты для проверки системных заголовочных файлов несложно, но трудоемко расширять парсер. Впрочем, про это мы уже говорили, и намного интересней пункт N6.
На самом деле, это самая большая и сложная из используемых у нас система тестирования. Вот, как выглядит эта программа в процессе работы:
Описывать этот инструмент в статье смысла нет, так как он предназначен исключительно для внутреннего использования. Скажу только, что он позволяет очень удобно отслеживать разработчикам результаты их правок в ядре анализатора и добавления новых диагностик.
Так вот, теперь нам предстоит создать аналог такой системы для Linux. Поскольку это очень важная часть процесса разработки анализатора, мы должны подойти к этой задаче со всей серьезностью. Так же нам нужно будет провести большую работу по подбору открытых проектов, на которых и будет осуществляться проверка работоспособности анализатора. С одной стороны, эти проекты не должны быть слишком большие, чтобы не сделать время проверки слишком долгим. С другой, они должны быть «насыщенными»: в разных проектах должны использоваться различные подходы к программированию. То есть, желательно, чтобы где-то активно применялись операторы goto, где-то активно использовались шаблоны, где-то активно работали с Unicode и так далее. Это делает тестирование анализатора более всесторонним. Собрать такую коллекцию исходников весьма непростая задача, требующая время на изучение большого количества открытых проектов.
3. Мониторинг компиляторов
В состав PVS-Studio для Windows идёт GUI утилита Standalone.exe. С её помощью можно удобно работать с отчётами (*.plog-файлами), если не установлена среда разработки Visual Studio:
Но это не главное. Важнее то, что с помощью этой утилиты можно проверить проект, собираемый любой экзотичной или самописной сборочной системой. Впрочем, это не предназначается именно для экзотических ситуаций. Даже если у вас классический makefile, проще выполнить анализ с помощью Standalone, нежели разбираться с документацией PVS-Studio, чтобы прописать в maklefile вызов анализатора.
Standalone позволяет отслеживать запуски компиляторов Visual C++, GCC (MinGW), Clang и собирать всю необходимую для проверки информацию. Выглядит это следующим образом: вы говорите программе «начать слежку», после чего выполняете обыкновенную сборку проекта. Далее вы говорите программе «готово». Начинается анализ всех тех файлов, компиляция которых только что выполнялась.
Кстати, всё это не обязательно делать вручную. Вы можете использовать для проверки проекта на сервере консольную утилиту CLMonitor.exe. Она также собирает информацию о запущенных компиляторов и выполняет проверку проекта.
Реализуя Linux версию, мы сразу решили, что обязательно надо поддержать отслеживание запусков компилятора. Это поможет программистам быстрее и проще знакомиться с анализатором PVS-Studio. Дело в том, что, используя эту утилиту, проект сможет проверить любой член команды, не отвлекая людей, занимающихся поддержкой makefile-ов и вообще системы сборки. В больших проектах далеко не каждый знает, как собственно собирается их приложение. Тем более, не каждый найдет время и желание разбираться, как и куда прописать вызов PVS-Studio. Всё это ещё может быть усложнено наличием автогенерируемого makefile. Понятно, что во всём можно разобраться, но это является существенным барьером на пути первой проверки проекта и удовлетворения исследовательского любопытства.
Вот вы и познакомились с ещё одной подзадачей создания Linux-версии. Мы работаем над разработкой системы мониторинга запусков компиляторов и сборкой всей необходимой информации для проверки.
4. Доработка документации
При написании документации мы всегда сталкиваемся с противоположными желаниями. С одной стороны, мы всегда старались, чтобы продукт оставался простым и понятным, и для работы с ним не нужно было знакомиться с большим руководством. С другой стороны, статический анализ — это достаточно сложный инструмент, и в руководстве должны быть отражены все тонкости работы с ним. Особенно это касается описания диагностических сообщений: их много, и надо чтобы каждое из них было подробно описано и сопровождалось примерами кода.
В результате нам предстоит большая работа по корректировке и пополнению документации разделами, посвященных работе в Linux. Плюс, нам надо придумать, как реализовать возможность пользователям быстро получать информацию по той или иной диагностике. В Visual Studio с этим нет проблем — достаточно нажать в списке предупреждений на код ошибки и откроется соответствующая страница.
Как и что предложить в среде Linux — надо думать. Конечно, всегда есть PDF файл (на 350 страниц) или online документация на сайте, но это нельзя назвать удобным способом доступа к описанию диагностик.
5. Доработка сайта
Сайт, естественно, тоже потребует доработки. Это не программистская задача, но заниматься ей надо, поэтому я решил упомянуть сайт в обучающих целях. Многие программисты думают только о коде и забывают, что в выпуске продукта участвует много других коллег, решающих большое количество скрытых от них задач.
6. Прочее: тестирование, дистрибутив, организация поддержки
Естественно, не надо забывать о тестировании. Хотя многоуровневые тесты выявят большинство проблем, наверняка проявят себя какие-то совершенно неожиданные ошибки или недоработки. Сейчас даже невозможно предположить, что это будет, но мы не питаем иллюзий об идеальности мира. Под Windows мы столкнулись с разнообразнейшими ситуациями, когда вроде и не мы виноваты, но что-то работает неправильно. О некоторых таких неприятных неожиданностях я рассказывал в интервью около 2 лет назад (ищите в статье фразу «К сожалению, вся красота и надежность внутреннего кода иногда разваливается из-за воздействий враждебной окружающей среды»). Уверен, в Linux нас поджидают аналогичные сюрпризы.
Результаты нашей работы надо обернуть в дистрибутив, который можно легко скачать и использовать. Сказать это намного проще, чем сделать. Думаю, понадобится не одна итерация, чтобы сделать это удобным и учесть различные тонкости.
И последнее: мы должны организовать поддержку нового направления. Наши пользователи ценят нас за качественную и оперативную поддержку. С выходом Linux версии увеличится количество запросов, особенно вначале, когда далеко не всё будет работать, и мы должны быть к этому готовы.
7. Планы на будущее
Выше я описал далеко не всё, на что нам нужно будет потратить время, чтобы адаптировать PVS-Studio к Linux. Есть масса более мелких задач, о которых сразу не вспомнишь, да и писать про них неинтересно. Например, мне надо написать эту и множество других статей, которые расскажут людям о том, что появился PVS-Studio для Linux.
Есть и большие задачи, которыми мы займемся позже. Например, как я уже говорил, вначале мы сосредоточились на GCC, и только потом планируем позаниматься с Clang. Я пока даже не знаю, будет ли в первой релизной версии PVS-Studio для Linux поддержка Clang или нет.
Вот еще некоторые из больших задач, которые ожидают нас:
- Интеграция с Qt Creator.
- Интеграция с… (время покажет).
- Доработка и усовершенствование диагностик. Например, внутри PVS-Studio имеются таблицы с информацией о типовых функциях, таких как malloc, memset, std::swap. Эта информация позволяет выявлять многие ошибки некорректно использования функций. Стоит расширить эти таблицы многими функциями, описанными в POSIX.
In progress
Мы с нетерпением ожидаем, когда можно будет что-то представить миру. Надеюсь, я вас заинтересовал, и многим Linux-разработчикам хочется попробовать проверить свои проекты. Если у вас есть желание и время, приглашаю вас заранее вступить в группу beta-тестеров.
Итак, если вы хотите помочь нам проверить работу PVS-Studio для Linux прошу написать нам. Чтобы письма можно было проще обрабатывать, просим указать в теме письма строчку «PVS-Studio for Linux, Beta». Письма отправляйте по адресу support@viva64.com. Просим писать письма с корпоративных ящиков и кратко представиться. Мы будем благодарны всем, кто откликнется, но в первую очередь будем уделять внимание тем людям, которые потенциально со временем могут стать нашими клиентами.
Также прошу в письме дать ответы на следующие вопросы:
- Под какой операционной системой планируется запускать анализатор?
- Какую среду разработки вы используете?
- Какой компилятор используется для сборки проекта?
- Какую сборочную систему вы используете?
Когда появится версия, которую можно будет попробовать, мы напишем всем откликнувшимся письма.
Заранее всем спасибо. Мы будем временами упоминать в статьях, как продвигается развитие PVS-Studio для Linux. Желаю всем пореже запускать отладчик!
Комментарии (349)
khrisanfov
28.07.2016 17:38+3Мы будем благодарны всем, кто откликнется, но в первую очередь будем уделять внимание тем людям, которые потенциально со временем могут стать нашими клиентами.
Отправил вам письмо, потенциально могу стать вашим клиентом, но складывается впечатление, что вы не хотите сотрудничать с разработчиками-одиночками, нацелены больше на большие «кошельки», прав ли я? Ну продадите вы несколько копий крупным компаниям за многие тысячи долларов и на этом все? Крупных компаний мало, а нас разработчиков тысячи. Многие хотят писать качественный код.Andrey2008
28.07.2016 17:42+2Да, мы не хотим сотрудничать с разработчиками-одиночками. Мы нацелены на корпоративных клиентов. Индивидуальным разработчиком статический анализ не нужен в том объёме, чтобы на этом можно было зарабатывать деньги. Мы убедились в этом благодаря проекту CppCat. История вопроса: https://habrahabr.ru/company/pvs-studio/blog/256637/.
pehat
28.07.2016 17:58+16Эм. Давайте я расскажу, как это работает, например, у Travis CI. Они не говорят, что разработчики-одиночки (ужас, звучит как мать-одиночка) не нуждаются в их продукте (пока не начнут платить как следует), а просто делают продукт бесплатным для опенсорсных проектов. Разработчики пользуются для опенсорсных проектов удобным качественным инструментом, привыкают к нему, а когда на работе заходит речь об использовании инструмента, берут и от лица компании покупают уже проверенный и удобный продукт, который в бизнес-версии почти ничем не отличается, но позволяет использование для проприетарного кода.
AllexIn
28.07.2016 18:04ТАк у них онлайн решение.
Как вы для оффлайн решений предлагаете контролировать использование только для опенсорса?Delphinum
28.07.2016 18:05Так же, как это контролируется компание JetBrains, на пример?
AllexIn
28.07.2016 18:06Не в курсе. Как?
Delphinum
28.07.2016 18:07Они проверят ваш продукт и попросят установить на главной вашего сайта свой банерок.
Обещают периодически проверять наличие банера и активность пользователей.AllexIn
28.07.2016 18:10То есть имея OpenSource продукт — можно использовать решения от JetBrains в любом своем проекте?
Delphinum
28.07.2016 18:13На счет любых проектов — не думаю. Лично меня просили не распространять лицензию между разработчиками, не занимающимися оговоренным проектом. Контролируется ли это как либо — не знаю.
AllexIn
28.07.2016 18:15-1Спрашиваю, потому что есть старое правило:
Нельзя запрещать то, что нельзя проконтролировать.Delphinum
28.07.2016 18:18+5Ну Microsoft тоже не может проконтролировать использования своего Windows, но это не мешает им быть крупнейшей IT компанией в мире. Иногда мне даже кажется, что они это делают специально ;)
POPSuL
03.08.2016 08:39+1А вот я когда получал лицензию на PyCharm мне ничего не сказали про «других» разработчиков, зато сказали чтобы я не стеснялся распространять между разработчиками проекта, и не стеснялся писать им когда срок лицензии подойдет к концу :)
Delphinum
03.08.2016 10:11Да, именно так. Под «другими» разработчиками я имел ввиду разработчиков, не имеющих отношение к проекту.
Meklon
28.07.2016 18:41+3У них еще офигенно реализовано Community Edition. Для многих этого более чем достаточно.
sav6622
28.07.2016 18:48+12Весьма отталкивающее заявление, учитывая, что многие продукты под Linux — создаются «сборищем одиночек», да и само ядро в большей части.
dartraiden
28.07.2016 19:10+4Получается, что разработчики-одиночки имеют полное моральное право спиратить сабж. Финансового ущерба это не нанесёт, ведь анализатор им и так бы не продали. Зато, в дальнейшем, такой разработчик сможет, например, агитировать внутри компании, в которую устроится, за покупку программы для нужд компании.
Хороший пример того, как порицаемое многими «пиратство» может обернутся благом для автора программы.0xd34df00d
28.07.2016 19:13+8Моральное право спиратить сабж я имею, но вот агитировать покупку внутри компании не буду принципиально после такого отношения, например.
Lindon_cano
28.07.2016 23:26+13Рекомендую ознакомиться с http://storage.pardot.com/6342/120970/lf_pub_whowriteslinux2015.pdf. После этого про «сборище одиночек» вы говорить перестанете.
С момента выпуска 3.11 наибольший вклад в развитие ядра внесли корпорации Intel, Red Hat, Linaro, Samsung, IBM, SUSE, Texas Instruments, Vision Engraving Systems и Google.
80% всех вносимых в ядро изменений сделаны разработчиками, которые получили оплату за данную работу.
Какие уж тут одиночки.SvyatoslavMC
28.07.2016 23:37+2+! Отличный комментарий! Из опыта добавлю, что получить разрешение на вклад в открытый проект порой очень сложно даже компании, а тут все вклад одиночек обсуждают.
Lindon_cano
28.07.2016 23:41+2Эти отчеты года с 2011, что ли, публикуются и я по ним просто очень хорошо помню, что вклад одиночек в ядро сейчас невелик. Потому видя подобные утверждения сразу их опровергаю. Да, 20% кода — одиночки, честь им и хвала, но 80% это крупные фирмы.
К сожалению отчета за 2016 год я не нашел, возможно ближе к концу года выйдет, потому дал ссылку на отчет за 2015 год.
dartraiden
29.07.2016 01:00+3Одиночки получить «разрешение на вклад» в ядро Linux как раз вполне могут. Для этого достаточно отправить патч в рассылку и учитывать замечания того, кто ответственен за соответствующую подсистему.
raidhon
28.07.2016 20:41+6Идете по стопам Embarcadero с неадекватными ценами на IDE не лучшего качества!
Только здесь один статический анализатор по цене Rad Studio.
Не могу судить по качеству вашего проекта ( так как я его не тестировал и сомневаюсь что когда то протестирую ), но мне например сложно представить что должен делать статический анализатор за несколько тысяч зеленых рублей, наверно писать за меня пока я чаёк попиваю на кухне.
Мое мнение за хорошие продукты стоит платить ( например за IDE JetBrains ), но если цена за (может быть) хороший продукт завышена в несколько раз можно и без него обойтись.
Тестировать все и вся, код повнимательней писать, да юзать Cppcheck когда нужен статический анализ и тесты уже не спасают.
А лишние деньги пустить в рекламу и то толку будет больше!0xd34df00d
28.07.2016 20:48+2clang static-analyzer вместо cppcheck, а так да.
Ну и когда один мой приятель гонял PVS по моему опенсорс-проекту под Windows, у меня сложились, гм, не самые лучшие впечатления.
Andrey2008
28.07.2016 20:55+9Сегодня мои комментарии здесь явно не пользуются популярность и минусуются. Но я закалённый и продолжу рубить правду-матку ;).
Вам просто не нужно сделать код качественней. Это не так плохо на самом деле, не всегда оно оправдано. Статический анализ — это способ ответственных групп разработки ещё немного обезопасить код от ошибок. Всё зависит от стоимости ошибки. В первую очередь наши клиенты это те, кому ошибки обходятся дорого, и поверьте их немало. Например, это те, у кого зависание игрового сервиса или иные ошибки напрямую повлияют на сбор денег, и тем более биржевые роботы, медицина. Или те, кто в случае ошибки вынужден сажать группу разработчиков и отправлять их в срочном порядке отлаживать баг у заказчика.
Каждому уровню ответственности — свой набор инструментов. Уверен многим Cppcheck более чем достаточен. А кому-то нужен серьезный Coverity или PVS-Studio с различным вспомогательным инструментарием и поддержкой.raidhon
29.07.2016 02:01+4Дорогая у вас правда, да и не правда вовсе!
Спасибо что думаете за меня, внезапно я стал программистом которому хочется писать плохой код.
Качество кода это в 95% случаев заслуга программиста, а не статического анализатора.
И я очень сомневаюсь что PVS-studio настолько опережает в качестве свободные статические анализаторы что можно просить в 10 — 20 раз больше чем цена IDE ( Например Clion 200$).
Хотя по сути вы продаете лишь дополнение к умной IDE.
Да и сравнения ( судя по тому что я нашел ) с Cppcheck c Pvs studio вы проводите сами что тоже вызывает сомнения в правдоподобности результатов.
Мнения маркетолога в компании с которой я сейчас сотрудничаю.
Ещё чуть чуть не стоит переплаты в 10 раз.
Для команды из 50 разработчиков это порядка 100$ тыс дополнительных расходов которые с 90% вероятностью никогда не окупятся.
staticlab
29.07.2016 08:05+1По идее достаточно было бы одной копии анализатора, которая запускалась бы через CI на билд-сервере.
Andrey2008
29.07.2016 08:42+6Качество кода это в 95% случаев заслуга программиста, а не статического анализатора.
Качество кода это в 95% случаев это заслуга выстроенного процесса разработки ПО в компании. Отдельный программист здесь вообще ни при чём (если конечно не говорить о мелких индивидуальных проектах, а мы о них говорить не будем).
Так вот, когда компания задумывается, что ещё она может сделать, чтобы повысить качество кода, здесь и приходит на помощь статический анализ. Если всё плохо, статический анализ не поможет. Но там где все плохо, про статический анализ и не думают.
khim
29.07.2016 16:38+2Мнения маркетолога в компании с которой я сейчас сотрудничаю.
Может вам стоит перестать с ней сотрудничать? Зачем связываться с будущим банкротом?
Ещё чуть чуть не стоит переплаты в 10 раз.
Откуда вы взяли «переплату в 10 раз»? Брать нужно экономию от инструмента и сравнивать с его стоимостью.
Есть в компании в которых ошибка стоит копейки (ну там сервер упал, мы его починили потеряли $10, зачем тут, нафиг, PVS-Studio?), есть — в которых речь идёт о миллионах (представляете во сколько может встать ошибка в софте, который обеспечивает биржевую торговлю?) — тут и в 10 раз дороже, чем «за хорошую IDE» заплатить можно если хоть одна ошибка будет отловлена (хотя, по правде говоря, тут скорее об использовании менее опасного языка нужно задуматься, а не о статических анализаторах… но случаи разные бывают).Delphinum
29.07.2016 16:41+2тут и в 10 раз дороже, чем «за хорошую IDE» заплатить можно если хоть одна ошибка будет отловлена
Зачем, когда можно заплатить в 10 раз меньше воспользовавшись продукцией конкурентов?khim
29.07.2016 20:09+2Зачем, когда можно заплатить в 10 раз меньше воспользовавшись продукцией конкурентов?
Затем что экономия в тысячу тугриков плюс убыток в миллион — это всё равно убыток, пусть и меньше миллиона.
PVS-Studio не требуется быть лучше того же clang'а — достаточно того, чтобы clang не был строго лучше. Ибо их можно (и нужно) использовать совместно. Если PVS-Studio находит ошибки, которых clang не находит и цена ошибки достаточно высока — овчинка стоит выделки. Это очень сильно отличатеся от ситуации с тем же CLion'ом: вы либо используете MSVC, либо CLion. Мало кто использует и до и другое на одном проекте.Delphinum
29.07.2016 20:15+1Интересный ход мысли ) Может и мне стоит изобрести какой нить статический анализатор и продавать его в сотню раз дороже от того, что он находит одну дополнительную ошибку, которую не находят два перечисленных выше анализатора… Конкуренция не так работает )
khim
29.07.2016 20:28+2Может и мне стоит изобрести какой нить статический анализатор и продавать его в сотню раз дороже от того, что он находит одну дополнительную ошибку, которую не находят два перечисленных выше анализатора…
Этого мало. Нужно ещё сделать так, что они не смогли в свою систему добавить диагностику вашей суперчудоошибки — и чтобы эта ошибка реально встречалась настолько часто, чтобы из-за неё ваш анализатор купили. Сможете — деньги ваши. Причём, удивительно, люди такие вещи делают постоянно — без шума и пыли. Presubmit scripts называются. За них, правда, редко больше, чем за PVS-Studio платят, но,
Конкуренция не так работает )
А как она, извините, работает? Покупается всегда всё самое дешёвое? Тогда кто покупает Sumsung'овские Galaxy и как Apple вообще хоть что-нибудь продала?
Всегда идёт оценка качества и цены и при этом понятие «качества» — у всех покупателей разное… Обратите внимание на то, что говорят настоящие потенциальные клиенты и сравните их «дело тут не в деньгах» с тем, что пишите вы…Delphinum
29.07.2016 21:27+4А как она, извините, работает?
Достаточно просто. Крупные IT компании, цена ошибки ПО у которых доходит до миллионом (мы же о таких говорим, верно?) действуют достаточно логично. Вместо того, чтобы закупать десяток однотипных инструментов, они нанимают десяток специалистов в области обеспечения качества ПО (есть такая специализация, довольно редкая, кстати). Многие представляют их как менеджеров, стоящих за спинами программистов и угрожающих лишением премии за каждую допущенную ошибку, на деле это не так. Эти ребята занимаются тем, что постоянно выявляют наиболее хитрые ошибки (при чем не только в исходном коде) и конфигурируют (а иногда и программируют) анализаторы таким образом, чтобы эти ошибки отлавливать. Понимаете какое дело, идея «из коробки» работает далеко не всегда (о чем я часто говорю в наших холиварах на тему Vim vs IDE), часто крупные компании способны самостоятельно настроить используемые ими инструменты для своих нужд. К чему это приводит? Как правило крупная компания раз и навсегда (в идеале) выбирает один гибкий и мощный инструмент (на пример PVS) и использует его максимально, а не прыгает с одного решения к другому только потому, что последний находит на одну ошибку больше.
Обратите внимание на то, что говорят настоящие потенциальные клиенты и сравните их «дело тут не в деньгах» с тем, что пишите вы
А дело и не в деньгах. Я полностью поддерживаю идею приведенного вами комментария, в области IT инструментария крайне важна гибкость, а не «изкоробочность».
elmigranto
29.07.2016 08:42> Всё зависит от стоимости ошибки. В первую очередь наши клиенты это те, кому ошибки обходятся дорого
То есть если ошибка не ведёт к потере сотен тысяч долларов, марсохода или здоровья, ваш продукт ей не интересуется?
К примеру, если я из идеологических соображения запущу бесплатный VPN сервис на 5-10 тысяч человек и в клиенте будет баг, препятствующий доступу к серверу для половины пользователей, это вроде как и «бесплатная» ошибка. Миллионов нет, никто не умер и не поранился, статический анализ не нужен. С точки зрения ваших маркетологов, я не готов заплатить 200–500 долларов?
antonarhipov
29.07.2016 11:06+3Мое мнение за хорошие продукты стоит платить ( например за IDE JetBrains ), но если цена за (может быть) хороший продукт завышена в несколько раз можно и без него обойтись.
А как вы определяете, завышена цена, или нет?raidhon
29.07.2016 15:35-3Когда запчасть от мерседеса продают по цене 10 мерседесов.
Причем запчасть в принципе не обязательную, да и аналоги есть.
IDEA от JetBrains стоит максимум 500$ и она стоит каждого потраченного бакса!
А для C++ Clion вообще 200$.
С трудом могу представить почему статический анализатор стоит как десять IDE.
В IDEA для JAVA он встроен прямо в IDE и от этого она не стала стоить 10$ тыс.
Думаю со временем в JetBrains сделают продвинутый анализатор для Clion и все эти незаслуженно дорогие анализаторы уйдут в прошлое!antonarhipov
29.07.2016 15:45+3Думаю, авторы выбрали ценообразование не с потолка. Если ценник такой, то наверное они выбрали сегмент рынка которому они могут продавать, и другие пользователи их не интересуют. Эти пути не неисповедимы :)
khim
29.07.2016 16:47+6Когда запчасть от мерседеса продают по цене 10 мерседесов.
Вообще-то если вы захотите участовать в ралли на серьёзном уровне, то обнаружите, что такое случается сплошь и рядом. Или если будете переделывать мерс в тот же Big foot — тоже может потребоваться изрядно заплатить.
Причем запчасть в принципе не обязательную, да и аналоги есть.
Не хотите — не берите, зачем слюной-то брызгать? Почему когда это происходит с машинками — то ни у кого вопросов не возникает, а когда с софтом — то это прям караул? В чём разница?
Думаю со временем в JetBrains сделают продвинутый анализатор для Clion и все эти незаслуженно дорогие анализаторы уйдут в прошлое!
Скоро — это когда? Через 10 лет, чем 100? Может в космических масштабах это и «скоро».raidhon
29.07.2016 23:31-3Брызгаете слюной тут только вы, а я просто выразил свое мнение.
Интересно сравнивать статический анализатор с переделкой до Big Foot.
Хотя тут максимум дотягивает до зимней резины ))
Не хочу и не беру.
Как и рекомендую компании с которой я работаю не тратить несколько десятков тысяч долларов на бесполезные вещи.
И со мной полностью согласны!
Clion молодая IDE ( пару лет как появилась ) и в ней уже есть встроенный статический анализатор он уже хорош, но ещё много чему нужно развиваться.
Боюсь вы недооцениваете JetBrains и очень зря!
navion
29.07.2016 20:01Вы ещё не видели ценника на LoadRunner.
raidhon
29.07.2016 23:53-1Видел и тут тот же ответ что и писал раньше.
И пора заканчивать мне тут отвечать, так как несмотря на плюсы моих комментариев кто то целенаправленно сливает мою карму.
Видимо критика компании под её же статьей карается минусом в карму!Andrey2008
29.07.2016 23:58+4Ещё одна теория заговора. Не первый раз уже слышу. Я, например, вообще не минусовал и не плюсовал Вашу карму.
Быть может всё дело в самих комментариях? :)raidhon
30.07.2016 00:42-1Вы нет, а вот он khim да.
Да и в принципе какая уже разница, снова живем без тегов =_=
Randl
30.07.2016 01:18А как можно целенаправленно сливать карму, если у каждого один минус/плюс.
raidhon
30.07.2016 01:31Цитирую хабр:
Помните главное: карма — это субъективное отношение каждого, кто за нее проголосовал, к вашему аккаунту. Оно никак не связано с оценкой ваших комментариев или публикаций (их могут оценивать положительно, при этом карму — отрицательно).Randl
30.07.2016 02:20+2А, вы об этом. Карма давно стала (а может и всегда была) способом высказать сильное несогласие с комментом, постом или серией комментов. В любом холиварном треде всегда можно нахватать как минусов, так и плюсов в карму. Обычно конечно минусов.
Впрочем, как по другому составить впечатление о человеке на хабре, кроме как из его комментов?
Wesha
30.07.2016 02:39+2Кapмa является опосредованным/усреднённым личным мнением хабровчан "я ([+]хочу чаще)/([-]не хочу больше) видеть этого человека на хабре". Как достаточно очевидно, второй вариант чаще подвигает читающих на действия (особенно после того, как хабр добавил голосовалку прямо на аватарку — раньше голосование в кapмy. требовало дополнительных усилий, типа щелчка на профиль; теперь же даже лень перестала быть препятствием к кapмoсливу).
(Лично я пришёл к выводу, что единственным способом хоть как-то противодействовать сливщикам — это ежедневно раздавать весь свой заряд первым попавшимся хабражителям, которые не вызывают у меня явного отвращения. В конце концов, если что, в будущем я смогу поменять свой голос на противоположный, а так — я по крайней мере нейтрализую "минус" хотя бы одного сливщика).
Randl
30.07.2016 02:57Периодическое (и необязательно частое) написание статей позволяет влазить в холивары не боясь сливщиков. А вообще карма мне кажется лишней сущностью, и суммарный рейтинг за посты/комменты вполне мог бы выступать в роли кармы, которая на практике только отсекает неадекватов (отрицательная) и новичков (<5 для голосов за комменты/статьи). Кажется, я это уже когда-то писал. :)
Wesha
30.07.2016 03:07отсекает неадекватов (отрицательная)
Не столько неадекватов, сколько "людей, несогласных со мнением большинства". (Представляю, сколько минусов набрали бы на форуме Ньютона в начале века последователи Эйнштейна ;)
Randl
30.07.2016 03:18+2Речь о том, чем должна быть карма, а не о том, что она делает.
Но всё равно я с вами не согласен. Чтобы словить минус в карму, обычно просто противоположного мнения мало. Вежливо и грамотно написанный коммент даже на холиварную тему минусов в карму получит мало. А вот грубый, неграмотный, эмоциональный или ошибочный коммент может слить кучу кармы.
Wesha
30.07.2016 03:22Я говорю, что коммент на холиварную тему получит больше минусов, чем плюсов при прочих равных условиях (например, абсолютной нейтральности его языка, равное количество последователей обеих точек зрения и т.п.) просто потому, что "чувак не прав" является более активной позицией, чем "правильно мужик говорит": в первом случае мышка тянется к минусу, а во втором — нет, "чего плюсовать-то, всё ж правильно".
(Живой пример: Вы со мной в целом согласны, но плюса не поставили, я специально проверил :)
Randl
30.07.2016 03:33Вы сказали, что отсекаются "несогласные", а не "неадекватные". С этим я и спорил — адекватный "несогласный" вполне может жить с плюсовой кармой.
В целом же, минусы лепятся чаще плюсолв — это факт. Но, кстати, плюсы за комменты не так уж и редки, хотя обычно неожиданны, в отличие от минусов.
(Живой пример: Вы со мной в целом согласны, но плюса не поставили, я специально проверил :)
Может просто в тот же момент кто-то вам минусанул :)
4144
28.07.2016 23:27+3Немного спорное утверждение, что одиночкам статический анализ не нужен.
В одном из проектов, где я участвую, для статического анализа используются почти все версии gcc и clang (да да они тоже многое могут найти с нужными флагами), различные cppcheck и множество других утилит и сервисов и не только статического анализа кода как такового но и стиля. В сожалению для вас, все это распространяется бесплатно. И хоть статический анализ и используется, но нет платных инструментов.
Pvs-studio тоже используется, но не часто, из-за проблемы как оно работает и какие ограничения предоставляет без регистрации.
mnt
29.07.2016 00:45+3Жаль!
Ниже вы написали «Вам просто не нужно сделать код качественней»… Лично я использую ваш продукт на своих проектах регулярно. До CppCat руки не дошли купить (в знак благодарности), поздно обратил на него внимание. Каюсь. Но пользовался бы я все равно полной версией, так как нужен именно расширенный анализ. И даже рекобендовал PVS-Studio нескольким крупным компаниям.
Хотелось бы поблагодарить вас за этот продукт. Я нахожу его весьма-весьма полезным, даже для «моих низкосортных» проектов.
dreamer-dead
28.07.2016 17:43+1По поводу «Conditionals with Omitted Operands».
Там же написано, когда это бывает полезно:
When it becomes useful is when the first operand does, or may (if it is a macro argument), contain a side effect
Иначе приходится писать код вроде
SomeType* z = CallSomeFunctionWithSideEffects(); if (!z) z = SomeOtherFunction();
Вместо
SomeType* z = CallSomeFunctionWithSideEffects() ? : SomeOtherFunction();
Например, в C# есть похожая штука:
null-coalescing operatorvlivyur
29.07.2016 10:24Вот только в C# это отдельная конструкция, а не недописанный оператор по которому сложно догадаться ошибка это или так и задумано.
x893
28.07.2016 17:52+2Как то у меня не сложилось. Установил PVS под Windows 10, запустил standalone вариант и указал директорию. Минут 8 запускался монитор (значок в трее). Запустил компиляцию проекта (Keil). Потом минут 10 ждал результата анализа (10 файлов по 500 строк). 8Gb RAM и 4 ядра. В общем с такой скоростью совсем тяжело. Даже проверка в VS намного быстрее.
taulatin_one
28.07.2016 17:55+32Меня порадовало на вашем сайте:
«Пожалуйста напишите нам, чтобы узнать цену на PVS-Studio»
Черт возьми, что за игры вы играете? У вас настолько плохой продукт, что можно применять дешевенькие маркетинговые приемчики? Или вам особо не интересны разработчики одиночки и совсем уж небольшие команды?Andrey2008
28.07.2016 17:58-30Это нормальная практика для инструментов данного класса.
Delphinum
28.07.2016 18:03+19Вы ошибаетесь, это ужасная практика, направленная на получение лидов и за**ывания онных путем телефонных звонков и спам-рассылок. Не надо так.
taulatin_one
28.07.2016 18:27+1Это ваше предположение, или коллеги из PVS-Studio именно так и делают? (рассылают спам и звонят)
Delphinum
28.07.2016 18:33-4Это мой опыт взаимодействий с другими, крупными IT компаниями России, а так же должностные инструкции продавцов в этих IT компаниях.
hommforever
28.07.2016 18:48+5С чего Вы взяли что это направлено на «получение лидов и за**ывания онных путем телефонных звонков и спам-рассылок». Причин может быть много, не делайте преждевременных выводов.
Мне кажется что основной причиной может быть изучение потенциального клиента, чтобы выставить «правильную цену».
Не скажу чтобы мне это сильно нравилось как потенциальному клиенту, но (если я правильно понял идею) идея мне кажется оправданной. Как не крути, цель любого бизнеса — получение прибыли… Высокое качество продукта при этом неплохой способ эту прибыль максимизировать.Delphinum
28.07.2016 19:04+11С чего Вы взяли
Не сталкивался еще с другими причинами.
изучение потенциального клиента, чтобы выставить «правильную цену»
Цена на продукт не должна плавать, иначе это создает ощущение, что вам продают продукт стоимостью 10р за 100р просто потому, что вы одеты в деловой костюм.Andrey2008
28.07.2016 21:01+3Не сталкивался еще с другими причинами.
Но это не значит, что их не бывает. Более того, их может быть сразу несколько.Delphinum
28.07.2016 21:08+3Конечно не значит, мы же все здесь взрослые люди и способны отличить субъективный, личный опыт от фактов. Или все же лучше ИМХОвать после каждого комментария, как думаете?
hommforever
29.07.2016 08:15-1Во-первых, не уверен что все пользователи хабра — взрослые:)
Во-вторых, тут нарушена «презумпция невиновности». Человек понял действие «как захотел», публично осудив компанию за то, как он его понял. При этом неявно обвинив в «получение лидов и за**ывания онных путем телефонных звонков и спам-рассылок».
Самое обидное для меня то, что это сообщение «набирает лайки». Т.е. юзеры хабра поддерживают такое поведение.Delphinum
29.07.2016 11:09+3Да, вы правы, на хабре не так много взрослых людей, как оказалось, и нужно ИМХОвать (
Это нормальная практика для инструментов данного класса
Вы ошибаетесь, это ужасная практика, направленная на получение лидов
Если вам показалось, что я здесь кого то осудил, вы ошиблись. Я лишь попытался донести автору мое отношение к сокрытию цены и цели этого действия. Автор считает эту практику нормальной, это возможно, в зависимости от целей, но я (ИМХО) считаю ее ужасной, и, как оказалось, не я один. Заметьте, я не утверждал, что автор скрывает цену для сбора лидов и спама, это лишь мое лично предположение. С учетом того, что автор не отрыкл своих истинных целей (честно и беспристрастно), то эта гипотиза имеет право на существование.hommforever
29.07.2016 11:39Осуждать — высказывать отрицательные, резкие и безоговорочные оценочные суждения о ком-либо, чём-либо, исходя из нравственных, духовных или эстетических оснований;
«это ужасная практика» — явное оценочное суждение, оно не имеет оговорки, оно достаточно резкое. Так что я не считаю, что мне это показалось.
Если бы Вы написали сразу ту мысль, которая написана в Вашем предыдущем сообщении, я бы посчитал её весьма обоснованной, и это не вызволо бы у меня негодования.
«Заметьте, я не утверждал, что автор скрывает цену для сбора лидов и спама, это лишь мое лично предположение.». Замечаю что это не так. «Вы ошибаетесь, это ужасная практика, направленная на получение лидов и за**ывания онных путем телефонных звонков и спам-рассылок. Не надо так.»Delphinum
29.07.2016 11:49+2Вы не договорили:
«это ужасная практика» — явное оценочное суждение подобной деятельности в маркетинговом контексте
Это важно!
Если бы Вы написали сразу ту мысль, которая написана в Вашем предыдущем сообщении, я бы посчитал её весьма обоснованной, и это не вызволо бы у меня негодования
Ну пожалейте же вы меня, я же живой человек, разжевывать каждому «не взрослому» на хабре свои мысли заняло бы у меня все рабочее (хочу отметить!) время. Ну чуть чуть головой то подумать можно?
Замечаю что это не так
Мое высказывание нужно было бы изменить следующим образом, чтобы вы оказались правы:
Вы ошибаетесь, это ужасная практика, которой вы активно пользуетесь, направленная на получение лидов и за**ывания онных путем телефонных звонков и спам-рассылок. Не надо так
hommforever
29.07.2016 07:32-1Цена на продукты очень часто плавает! Например скидки для пенсионеров и инвалидов. Разве это по вашему плохо? Притом такие скидки можно расценивать как средство получение максимальной прибыли. «Малозащищённые» слои населения зачастую ищут самый дешёвый товар, разница в 5% может стать ключевой чтобы привлечь гораздо больше клиентов. (Это всё конечно упрощённое, но идею вы поняли).
Цена на такой продукт, как PSV Studio, неочевидна. Почти никакой клиент не может себе его позволить. Много-много миллионов стоит этот продукт. Цена становиться низкой толдько ввиду того, что один товар продаётся много раз. Как Вы можете определить сколько он стоит?
Ребята делают продукт, хотят на нём заработать. Какую бы цену они не выставили она будет некорректной. Либо они майкрософту за копейки систему продадут, либо заломят такую цену, что почти никто не купит.
Полагаю такой ценовой политике «небольшие компании» должны радоваться. А крупным компаниям, я полагаю, подобные суммы не заметны.ydaf
29.07.2016 10:59+7http://www.spacex.com/about/capabilities
Держите. Spacex может написать цену и указать что скидки доступны. Atlassian тоже ничего не мешает, поэтому его юзают компании всех размеров.
Небольшие компании видя «обратитесь к сейлзу» понимают, что им не светит в 95% случаев.
Delphinum
29.07.2016 11:22+3Например скидки для пенсионеров и инвалидов
Ну так скидка предполагается от цены. Вы сможете представить себе скидку на продукт, цена на который вообще не обозначена? В таком случае, где гарантия что это будет именно скидка, а не накидка? )
Цена становиться низкой толдько ввиду того, что один товар продаётся много раз
Исходя из вашей же логики, можно сделать вывод, что чем больше раз он будет продан, тем лучше. Следовательно, PVS нужно продавать индивидуальным разработчикам, коих намного больше, чем крупных компаний. Это не делается по некоторым причинам (уже озвученным здесь). Значит цена формируется все же не из этой простой формулы, а из чего то большего.
Как Вы можете определить сколько он стоит?
У бухгалтеров для этого используется такая дисциплина, как «калькуляция себестоимости». В теории все просто:
Цена = (Sum(ОС) / ПК + Sum(РС)) * (1 + %П)
Где:
Sum(ОС) — общая стоимость основных средств
ПК — количество потенциальных клиентов
Sum(РК) — общая стоимость расходных средств
%П — процент прибыльности
Ребята делают продукт, хотят на нём заработать. Какую бы цену они не выставили она будет некорректной
Откуда такие выводы то?
Полагаю такой ценовой политике «небольшие компании» должны радоваться
Так небольшие компании не являются потенциальными клиентами, чему им радоваться? Они же не будут использовать этот продукт, следовательно их вообще не интересует ценовая политика этой компании.EvgeniyRyzhkov
29.07.2016 12:50У нас есть среди клиентов компании, в которых около 10 сотрудников.
Delphinum
29.07.2016 12:56Значит с небольшими компаниями вы все же работаете. Но ведь стоимость ПО от этого не меняется?
EvgeniyRyzhkov
29.07.2016 12:59В основном не меняется. Но я не поклянусь на Библии, что никогда никому в жизни не даю скидок.
EvgeniyRyzhkov
29.07.2016 08:22-2Цена квадратного метра при покупке трешки отличается от цены при покупке однушки.
При покупке автомобиля с допами можно получить скидку на страховку.
И миллион других примеров, за которые не получишь плюса на Хабре, но жизнь — она вот такая.Delphinum
29.07.2016 11:29+8А при чем тут скидки и понижение цены при покупке оптом? Когда вы идете смотреть квартиру, вы же уже знаете сколько в ней стоит квадратный метр, верно? Или вы сталкивались с тем, что стоимость квартиры вам называют только после звонка продавцу с корпоративного телефона? Думаю нет.
Когда я говорю — цена не должна плавать — я имею в виду то, что цены не должны изменяться в зависимости от платежеспособности клиента. Здесь уже было озвучено, что в цену (зачем то) входит внедрение и сопровождение продукта, но что вам мешает выделить эти пункты (стоимость по которым сложно расчитать) и сделать их обязательными, а цену самого ПО таки указать на сайте. Думаю прайс вида (ИМХО!!!):
PVS — 5000$ за одно рабочее место
В стоимость продукта обязательно входит:
Установка
Сопровождение сроком на 2 года
гораздо лучше, чем:
Позвоните нам и мы сообщим вам стоимость
В первом случае можно хоть примерно прикинуть, какие затраты ожидаются от внедрения продукта.0xd34df00d
29.07.2016 17:47Или вы сталкивались с тем, что стоимость квартиры вам называют только после звонка продавцу с корпоративного телефона?
Кстати, да, подумалось тут, что когда я искал после переезда жильё рядом с офисом, от меня никто не требовал писать с корпоративных емейлов, звонить с корпоративных телефонов и подписывать договоры корпоративной ручкой. И даже квартиры показывали и тратили на меня время без всего этого.SvyatoslavMC
29.07.2016 21:37-2Как вообще можно сравнивать корпоративные сделки с покупками физическими лицами, так ещё и в личных целях?
Если уж привели пример с недвижимостью, то надо говорить о поиске помещения для компании. В этом случае не только с корпоративных ящиков пишут, ещё и с корпоративных телефонов звонить надо и официальные встречи назначать.Delphinum
29.07.2016 21:47+3Все вопросы по поводу покупки жилья прошу писать с корпоративного ящика и обязательно указывать данную цитату:
Цена квадратного метра при покупке трешки отличается от цены при покупке однушки
0xd34df00d
29.07.2016 22:00+3Когда я искал офис на окраине Москвы, чтобы там спокойно работать (9 тыщ рублей в месяц цена вопроса у МКАДа на Щёлковской была, кстати), у меня никто ничего не требовал почему-то.
Ну и да, какая корпоративная сделка? Речь ведь не о корпоративной сделке. Речь о том, чтобы я этот несчастный анализатор попробовал сам, как частное лицо, вечером или на выходных, на своих проектах.
dartraiden
29.07.2016 00:56+1Напомнило историю о китайских ресторанчиках и кафе в городах, где бывают туристы из России. Цен в меню вы там не найдёте. Цена зависит от того, как персонал оценил на глазок вашу платёжеспособность. Проще говоря, для китайцев цена одна, для приезжих совсем другая (сильно больше).
Andrey2008
28.07.2016 20:59Причины иные и они не имеют ничего общего с лидами. Да, мы пишем письмо тем, кто просит продление trial. Но мы не спамим в почту и не звоним. Не надо приписывать нам такие ужасы. :) Но мы считаем, что так нам лучше. И если даже зря это делаем, то все равно имеем право заблуждаться. :)
Delphinum
28.07.2016 21:11+11Я присутствовал на семинаре одной крупной Московской компании, на котором прямым текстом было сказано — не выкладывайте в открытый доступ цены по двум причинам:
1. Конкуренты
2. Можно завысить цену и никто об этом не узнает
Есть еще одна, знакомая мне причина — партнерское соглашение — но, думаю, у вас не этот случай.
Как бы то ни было, крайне не люблю такой подход, но кого интересует что я там не люблю, ведь правда? )CDK
28.07.2016 23:25Московская компания могла бы и третий пункт указать — гос.сектор :)
А на самом деле при продаже крупного ПО часто нет понятия цены программы как таковой. Продается, по сути дела, сервис: развертывание, обучение, поддержка и т.п. и т.д… На фоне этого цена лицензии за АРМ иногда вообще уходит в раздел «скидка» (купили большую поддержку — лицензии входят в стоимость).
Поэтому цена за лицензию и не указывается — она не имеет смысла, т.к. голую лицензию вам, скорее всего, просто не продадут. Вы купите лицензию без поддержки, до конца не разберетесь, не поймете — будете писать какая программа плохая и портить репутацию фирме.Delphinum
28.07.2016 23:38Может в таком случае следует задуматься об упрощении процесса внедрения ПО, чтоб стоимость внедрения не превышала стоимости самого ПО? Мы же о статическом анализаторе говорим, а не о SAP.
CDK
28.07.2016 23:42+1А это вопрос возможностей программы. Чем их становится больше, тем она становится сложнее.
PS: я не о PVS конкретно — я вообще, про метод «цена по запросу».Delphinum
28.07.2016 23:44+1Я могу привести в пример продукты компании 1С? Цены октрыты, покупайте да ставьте как вам угодно. Хотите посморить о том, что это малофункциональная проргамма с небольшим комьюнити?
CDK
29.07.2016 09:32У 1С кроме коробок есть франчайзинг. Крупные компании не покупают коробки — они покупают франчайзинг, иногда целиком :)
Я работал в компании, которая 8-ку внедряет с момента ее появления и еще не закончила этот процесс. Там цена лицензии не имеет значения.
На сколько я понял, PVS пробовали делать коробку — им не выгодно.
psyriccio
28.07.2016 23:28+8Поддержу вас, пожалуй. У меня, например, слишком мало времени, чтобы звонить/писать в каждую непонятную компанию, цена продукта которой меня, вдруг заинтересовала. Может ещё в офис подъехать, записавшись на приём? Я подумывал о применении данного продукта в нескольких проектах, так вот я кажется передумал. Данный пост целиком и полностью вызывает отторжение. Начиная от маркетинговой политики и отношения к одиноким разработчикам (в мире linux их, кстати, очень много) заканчивая дешёвыми трюками с выяснением цены, предназначенными исключительно для того, что бы иметь полное право запихнуть контакты потенциального клиента в свою базу, а так же устраивать махинации с ценой, которую, при таком раскладе, можно формировать из последних цифр номера звонящего и содержимого /dev/urandom
dartraiden
29.07.2016 01:08+1К сожалению, такая порочная практика у многих российских компаний. МЦСТ, например (там вам вообще не ответят, если вы, по их мнению, не их клиент). Или IDA Pro, чтобы купить которую, нужно пройти семь кругов ада и доказывать, что она вам не просто нужна, а нужна именно в связи с профилем работы компании.
psyriccio
29.07.2016 02:22+3Такие компании, не должны существовать, это какой-то нонсенс. Я, как лично, так и по рабочим вопросам, от лица компании, стараюсь использовать СПО, вообщем-то так и получается по большей части. Коммерческий продукт купить, если он хорош и цена адекватная, а так же отсутствует свободный аналог — тоже «не грех». Но бегать, выяснять цену товара — ну уж нет. Компания, как и товар, цена которого отсутствует на сайте — отсутствует в принципе. Плачевное состояние IT-отрасли в нашей стране позволяет таким компаниям существовать. В условиях нормального, здорового рынка они были бы аутсайдерами по определению. Промолчим уже о том, что подобная избирательность в выборе кому продавать, а кому нет — это вообщем-то на грани закона. Надо уточнить этот момент, но что касается, например розничной торговли — нельзя просто так отказать какому-либо покупателю, потому что он не понравился. С программным обеспечением как дела обстоят я не знаю, вполне возможно, что так же. (поправьте, кто разбирается) (а в карму плюнули за критику, без ответа на сам комментарий, что как бэ намекаэ)
khim
29.07.2016 20:02+1Госсподи, сколько пафоса. А ничего что в IT-отрасли в мире вообще тоже полно таких компаний? У единственного серъёзного конкурента PVS-Studio даже триал нужно выпрашивать. Ядро ARM вы тоже просто так с подходом «компания, как и товар, цена которого отсутствует на сайте — отсутствует в принципе» тоже не купите. А ведь эта «несуществующая в природе вещь» стоит в миллиардах изделий — влючая разные поделки довольно мелких китайких компаний.
В общем: не нужно пытаться сделать мир чёрно-белым, там очень много полутонов. Не путайте, пожалуйста, договор присоединения с другими вещами. Да, в случае «коробочными» продажами — закон содержит кучу ограничений… потому что у вас выбор-то невелик — либо подписывать договор, либо остаться с носом — а если вы договор пишите и подписываете сами (пусть с использованием «рыбы»)… тут ограничений на порядок меньше… потому и не продаются очень многие вещи в этом мире «по цене, указанной на сайте»… собственно почти всё, что продаётся по цене, оправдывающей привлечение юристов так продаётся, даже какую-нибудь Windows большинство производителей покупает совсем не тех условиях и совсем по той цене, что вы на microsoft.com найдёте!
Просто часть продуктов продаётся только по фиксированной цене, часть только по договорной, а внушительная часть — может продаваться и так и так. Если вы никогда не сталкивались с тем миром, где товары продаются не по цене, выставленной на сайте, то это значит, что его нет.Delphinum
29.07.2016 20:05+1даже какую-нибудь Windows большинство производителей покупает совсем не тех условиях и совсем по той цене, что вы на microsoft.com найдёте
А можно тут подробнее с хоть какими либо доказательствами сего действия? Ничего не подумайте, просто вспоминаю долгие переговоры с Microsoft и посыл от лица этой замечательной компании на «три буквы» с аргументацией — у нас политика!
psyriccio
31.07.2016 11:11+6Всё так и есть в мире, как вы говорите. Вот только не надо утверждать, что это нормально. Если в какой-либо отрасли большинство живет по какой-то «схеме» — это совсем не значит, что это нормально и правильно. На рынках, на которых покупатель бегает за продавцом господствует либо дефицит, либо монополия или картельный сговор. Ну либо маркетологи раздули спрос, как на фуфломицины в сезонную волну гриппа. В нормальных условиях, на здоровом рынке никто не должен ни за кем бегать — это раз. Цена и условия сделки должны быть прозрачны и понятны всем сторонам — это два. Цена и условия должны регулироваться рыночными отношениями и ни чем иным — это три. Без всякого пафоса. И каждый, кто поддерживает «тёмные» схемы, подобные описанным в посте должен быть готов к определенному из развитию. Сегодня вы выпрашиваете товар — завтра уже покупаете в слепую. Послезавтра — покупаете принудительно, как ОСАГО например, или как «налог на пиратство».
khim
01.08.2016 16:15-4Цена и условия сделки должны быть прозрачны и понятны всем сторонам — это два. Цена и условия должны регулироваться рыночными отношениями и ни чем иным — это три. Без всякого пафоса.
Серьёзно? Это у нас называется «без пафоса»? То, что вы тут написали — это описание «сферического» (в вакууме) свободного рынка. Каковой, в общем, является неплохой математической моделью, но у которого есть одна проблема: в нём нет прибыли — в долгосрочной перспективе, по крайней мере.
Так как убытки (из-за ошибок, как минимум) — всё равно случаются, несмотря ни на что, то «сферический» свободный рынок, увы и ах, встречаются только на страницах учебников.
И каждый, кто поддерживает «тёмные» схемы, подобные описанным в посте должен быть готов к определенному из развитию. Сегодня вы выпрашиваете товар — завтра уже покупаете в слепую. Послезавтра — покупаете принудительно, как ОСАГО например, или как «налог на пиратство».
А это — как раз обратная сторона попыток отойти от «сферического» рынка. Какие-то — вполне можно терпеть и проблемы, которые они создают не так страшны, с какими-то прихожится бороться.
Мир — он не чёрно-белый, в нём много оттеноков.
aronovp
29.07.2016 11:53+1Не могу ничего сказать конкретно про PVS, но это нормальная практика для продуктов со сложным ценообразованием. Например она позволяет гарантировать, что заказчик не забыл посчитать все необходимые лицензии, или добавил в сервер необходимый extender для покупаемых дисков или плат.
Delphinum
29.07.2016 12:01+4Компания ориентируется на крупных клиентов, сильно естественно, что эти клиенты в любом случае обратятся к поставщику с кучей вопросов и поставщик напомнит им про доп. лицензии (если таковые будут нужны), расширения и т.д. Поставщик уж очень боиться испортить себе репутацию надуманными предлогами (ну или не надуманными, ктож их знает).
merlin-vrn
29.07.2016 12:06+7Именно такая практика приводит к тому, что один и тот же томограф покупают в разные больницы по совершенно разной, на половину порядка отличающейся цене. Это бред и идиотизм, который призван затруднить финансовый анализ, не неся при этом никакой выгоды для покупателя. Он нужен продавцу, и нужен именно для того, чтобы было труднее сравнить стоимость различных решений, и чтобы вытянуть из заказчика максимум денег, не затрачиваясь на улучшение продукта. А в случае с гос заказами это вообще идеальный способ доить государство. И это — признак недобросовестного и беспринципного продавца, который не считает нужным уважать своих потенциальных клиентов и конкурентов, да и просто окружающих.
grossws
29.07.2016 12:26+1Есть другой подход — сделать на сайте калькулятор (раньше с тем же успехом выкладывали excel'евские файлы для расчёта). Если политика ценообразования очень сложная и непрозрачная — это не работает.
psyriccio
31.07.2016 11:23+3Вам в голову не приходило, что сложные схемы лицензирования, когда нужно звать отдельно спеца, чтобы посчитать сколько и каких лицензий нужно купить и какую схему из 10 выбрать, чтобы было выгодно и потом не платить заново, когда придется расширяться, а так же всякие экстендеры для серверов, которые включают за деньги уже имеющуюся в сервере железяку, за выключение которой производитель хочет отдельных денег, но при этом он уже её произвел, со всеми вытекающими затратами — все это как раз следствие подобных схем, прямая работа маркетологов. Это все следствие, а не причина.
zhigalin
29.07.2016 12:08+3Что вы все как маленькие?
Лиды, скидки, конкуренты, партнёры, сервис…
Сколько нелепых и глупых попыток оправдать серую ценовую политику…
Знайте!
Есть только две причины скрывать цену:
- Нае*? ать.
- Откатить.
merlin-vrn
29.07.2016 12:18+3Кстати, ещё пришло в голову. Возможно, так проще уходить от налогов…
Andrey2008
29.07.2016 12:24-3Не хотел отвечать, но не выдержал. Наше общество больно. Кругом всем мерещатся какие-то откаты, уход от налогов. Facepalm. Никому не откатывали и не собираемся (что многим будет удивительно, никто и не предлагал), честно платим все налоги и работаем полностью в белую. Никому не приходит в голову, что мы, например, на очень долго зафиксировали цену для Российских клиентов в рублях, после того как скаканул доллар. Можно сказать, поддерживали отечественного производителя ПО.
merlin-vrn
29.07.2016 12:26+4Дайте линк на свой сайт, где она там зафиксирована?
Нет? Ничего не зафиксировано.
phprus
29.07.2016 13:44+5> зафиксировали цену для Российских клиентов в рублях, после того как скаканул доллар
А причем тут вообще доллар? Вы оплачиваете аренду в валюте? Покупаете специалистов за границей? Вы зарплату всему персоналу от гендиректора до уборщицы подняли пропорционально росту курса? Уверен, что на все вопросы ответ один — нет.
Логика подсказывает, что из-за зарубежной клиентской базы от скачка курса вы сильно выиграли, так как ваши расходы по большей части в рублях, а доходы в скакнувшей валюте.
P.S. Вот только не надо про рост цен на все в 2 раза. Даже автомобили, за которые платят в долларах, в розницу выросли процентов на 20-30, а не в два раза.mva
29.07.2016 14:29> скакнувшей валюте
Вообще-то, скакнул как раз рубль. Вниз.phprus
29.07.2016 14:32+2Во первых, давайте обсуждать факты, а не философские суждения о сущности бытия.
А во вторых, не я, а господин Andrey2008 изначально употребил термин «скаканул доллар», но Ваш комментарий почему-то адресован мне.mva
29.07.2016 15:24+1потому что вы написали
в скакнувшей валюте
(что я и в прошлый раз процитировал, впрочем)
Поэтому и вам. А Andrey2008 всё равно практически не читает комментарии и его поправлять бессмысленно.
Ну и
Во первых, давайте обсуждать факты, а не философские суждения о сущности бытия.
Вообще-то, именно это мы (ну, по крайней мере я) и делаем. Или вы не согласны с фактом что это именно рубль скакнул вниз, а вовсе не все остальные мировые валюты разом вверх?phprus
29.07.2016 15:54+1> Или вы не согласны с фактом что это именно рубль скакнул вниз, а вовсе не все остальные мировые валюты разом вверх?
Единственной денежной единицей в РФ является рубль, следовательно да, относительно денежной единицы, используемой в расчетах на территории РФ скакнули вверх многие мировые валюты, а рубль никуда не скакал — монета в 1р этого года и 2014 года — это одна и та же монета с одним и тем же номиналом, а деноминаций и подобного в последние годы в стране не было.
Внутри страны не рубль оценивается в долларах, а доллар в рублях. Доллар — товар, а рубль валюта.
Однако, покупательная способность рубля действительно уменьшилась. С этим я спорить не буду, так как именно это является фактом.
taulatin_one
28.07.2016 18:12Может вы и правы. Я ознакомился со статьей, в которой вы поведали о провале продаж специальной версии PVS-Studio для маленьких команд и одиночек.
0xd34df00d
28.07.2016 19:12+5Тогда перейдите уже в класс повыше, в конце концов.
CLion можно эвалюэйтить бесплатно без всех этих игр. Intel MKL доступна бесплатно. Intel IPP доступна бесплатно. Intel VTune (или как оно там сейчас называется) раньше было доступно бесплатно для некоммерческого использования, сейчас доступно бесплатно для опенсорса, учёбы и этого всего.
Ну в самом деле.SvyatoslavMC
28.07.2016 19:46+1Что-то Intel проигнорировал все попытки запросить триальную версию VTune для нужд научной диссертации в государственном университете. Не всё там так доступно, как пишут.
0xd34df00d
28.07.2016 19:49Ну, имевшаяся у меня лицензия как раз перестала действовать с 2016-ми версиями продуктов, дойдут руки на днях — буду запрашивать новую, для опенсорса, правда. Посмотрим, как оно будет.
SXX
29.07.2016 12:41+1Если участвуете в любых open source проектах просто приложите ссылку на github. Из тех кого я знаю всегда за пару дней присылали ключи, никому не отказывали.
herr_kaizer
28.07.2016 22:03-1Intel может себе это позволить, в отличие от.
0xd34df00d
28.07.2016 22:05+2Может позволить себе что именно? Выложить ссылку у себя на сайте, условно?
JetBrains может себе позволить выложить ссылку у себя на сайте?
А вот PVS не может? В чём разница?
Delphinum
28.07.2016 18:09Или вам особо не интересны разработчики одиночки и совсем уж небольшие команды?
Не интересны. Об этом было выше.
qwerty123123
28.07.2016 18:48-4Желчи, поменьше, браток. Если заказывает 1 человек, то ему 1к в месяц. Если 10к копий, Бефезда какая-нибудь, то им можно и 300 в месяц. Никто благотворительностью не занимается. Анализаторы работают часами по ночам. А еще часами и днями/неделями анализируется и тестируется их выхлоп. Еще саппорт в диких масштабах, если корпоративный заказ. Уже писали, что для одиночек есть CppCat.
Кстати, а не хотите выкинуть CppCat на гитхаб? Обкрамсать и выкинуть. С жирной надписью «Поддержки нет. Используйте на ваш страх и риск».Delphinum
28.07.2016 19:06-4Бефезда какая-нибудь, то им можно и 300 в месяц
А что, действует какой то завод по производству лицензий, и чем больше партия, тем меньше основные издержки на единицу продукта и, следовательно, цена?zagayevskiy
28.07.2016 19:11-1Вам покоя не даёт их модель распространения или что? Кто вы такой, чтобы указывать им, что должно быть, а чего быть не должно?
Delphinum
28.07.2016 19:15+3Потенциальный клиент. Но если им не интересен фидбек, то не вопрос )
Вам покоя не даёт их модель распространения или что?
Ну знаете, в интернете кто то не прав и все такое.
0xd34df00d
28.07.2016 19:18+1Не даёт покоя, она идёт против моей морали, особенно когда существует огромная куча действительно хороших продуктов, идущих с ней. JetBrains'овские, интеловские, Coverity даже бинари предоставляет для статического анализа. Да мало ли.
khim
28.07.2016 19:29+1А что, действует какой то завод по производству лицензий, и чем больше партия, тем меньше основные издержки на единицу продукта и, следовательно, цена?
Вы не поверите, но да. Основной расход в подобного рода вещах — это затраты на техподдержку. И хорошо известно, что команда из 100 разработчиков порождает куда меньше звонков в оную техподдержку, чем 100 отдельных разработчиков.Delphinum
28.07.2016 19:31+2А в чем проблема не поддерживать индивидуальщиков или брать за это отдельные деньги?
Andrey2008
28.07.2016 21:08+1Потому, что испортят карму. Вы представляете сколько будет г***а и стонов в интернетах, о том, что отписанные ими баги не фиксят, к божественным советам не прислушиваются, и что вообще все плохо. Нам это не нужно. :)
Или выпрашивать по 20$ за правку ошибки… Да ну нафиг…0xd34df00d
28.07.2016 21:09+1Вы пробовали? С чего вы взяли, что на вас эту субстанцию лить будут?
На интеловские тулзы много говна и стонов? На JetBrains?
Delphinum
28.07.2016 21:13+6о том, что отписанные ими баги не фиксят
Погодьте. Если это баги, то они должны фиксится или добавляться в планы на будущие релизы. Ваша компания идет по какому то другому пути? Будет интересно послушать и, возможно, так же решить проблему багов в нашей компании )EvgeniyRyzhkov
28.07.2016 21:22+2В любом коммерчески успешном продукте багов больше, чем сил у разработчиков. И есть такое понятие как приоритет. Баги с приоритетом «повторяется только у васи с mail.ru» имеют приоритет не очень высокий.
Delphinum
28.07.2016 21:25Ну так это же замечательно. Откуда вывод, что индивидуальные разработчики этого не понимают и начинают вонять?
Andrey2008
28.07.2016 21:23Вот именно в этом и проблема. Вы сразу восприняли нежелание править ошибку, как служению нашей компании чистому злу. А таких будут сотни. И при этом будет 10 клиентов, которым надо угодить в первую очередь. Но пока мы будем им угождать, сотни
халявщиковинтузиастов завалят интернет криками.Delphinum
28.07.2016 21:28+2Вы сразу восприняли нежелание править ошибку, как служению нашей компании чистому злу
Кхм… сатана… Кхм…
А если серьезно, я всего лишь описал процесс разработки:
1. Кто-то нашел ошибку
2. Вам об ошибке сообщили
3. Время
4. Вы исправили ошибку
Никаких субмыслей у меня не было.
завалят интернет криками
Ну с одной стороны не факт, а с другой стороны — зачем этого бояться?
0xd34df00d
28.07.2016 21:28+2Вы сразу восприняли нежелание править ошибку, как служению нашей компании чистому злу.
Удивительно, но я воспринял вопрос Delphinum как нормальный вопрос о приоритетах, а не служение чистому злу.
dartraiden
28.07.2016 19:51+12Проприетарное ПО в квадрате. Недоступны не только исходники, но и цена.
Или вам особо не интересны разработчики одиночки и совсем уж небольшие команды?
Andrey_Karpov_2009 (18.02.2016 10:48:55):
Мы работаем только с компаниями.
vlad008
30.07.2016 01:35-2Советую к прочтению всем «экспертам» по ценообразованию — ссылка
Kellis
30.07.2016 10:23+4Из статьи «Почему не взлетел CppCat»
При этом, очень часто нам присылали ссылку на статью Джоэла Сполски «Верблюды и песочница». Почему — не понятно. Как по мне, статья вовсе не обещает успеха при такой ценовой политике. Тем не менее я решил упомянуть «Верблюды и песочница», так как нам приводили эту статью в качестве аргумента более десяти раз.
vlad008
31.07.2016 10:29Вы правы, статья ничего не обещает, но в ней достаточно хорошо подводят к мысли о том что вопрос ценообразования намного сложнее чем нам кажется.
Я не понимаю хейта выше по поводу выбора модели распространения.
mtivkov
28.07.2016 18:01+4Извините за оффтопик, но…
Ох уж эта радуга и "признание в любви"...pda0
28.07.2016 18:34+5У вас проблемы с радугой?
P.S. С другой стороны, оба маскота, судя по всем, самцы… :)Stalker_RED
29.07.2016 00:56+1>> даже радуга на небе намекает на плохое, а за ней ещё и небо голубо-о-е
© Гопота — Милонов
0xd34df00d
28.07.2016 19:16+6Просим писать письма с корпоративных ящиков
В дополенние к вышенаписанному про цены и всякое такое, один вопрос: почему вы не хотите взять в толк, что в зарубежных компаниях обычные разработчики могут быть не уполномочены такие вещи обсуждать типа как от лица компании?khim
28.07.2016 19:34+1Я работал далеко не в одной «зарубежной» (по отношении к России) компании и ни разу не сталкивался с подобными запретами. Вот подписывать договора от лица компании — они не имеют права (хотя, с другой стороны, почти любой программный продукт их это делать заставляет — и практика эта тоже с Запада пришла… не очень понятно как это согласуется), но просто написать письмо и обсудить какие-то вопросы? Может в ЦРУ и ФБР такие правила, я не знаю — но я не думаю, что продажа PVS-Studio в подобные места очень важна…
0xd34df00d
28.07.2016 19:40Это не запрет, это настоятельная рекомендация. Хорошее отношение с начальством мне важнее необоснованных требований сделать ку.
APXEOLOG
28.07.2016 20:19Что Вам мешает обсудить этот вопрос с начальством и получить добро на отправку письма?
0xd34df00d
28.07.2016 20:26То, что это лишняя преграда. То, что я буду пробовать PVS сначала на своём опенсорс-пет-проджекте. Причём тут вообще начальство к этому моему проекту?
APXEOLOG
28.07.2016 20:32Тогда мне не понятно почему вы вообще рассматриваете себя как представителя компании, если вы хотите использовать анализатор для своего опенсорс-проекта
0xd34df00d
28.07.2016 20:37А я и не рассматриваю себя как представителя компании.
Но когда я пробовал VTune на своём проекте, я тоже себя не рассматривал как представителя компании. У меня даже компании-то не было, я ещё в школе учился, наверное, тогда. Когда там VTune 9 вышел? Однако, когда я пришёл в текущую компанию и увидел, что этого VTune у нас нет, я попросил купить N лицензий. И, знаете ли, купили.mva
29.07.2016 14:38Ты ещё забыл намекнуть на то, что это за компания и какими деньгами ворочает (хотя можно было бы и название. Всё равно вряд ли СБ выдаст по щщам за это, в никому неизвестном топике на
никому не известномна русскоязычном ресурсе). И что вряд ли она теперь хоть когда либо купит лицензию на сабж :)0xd34df00d
29.07.2016 17:52+2Я просто предпочитаю следовать политике «не ассоциируешь себя с компанией — гарантированно не повышаешь риск щщей».
А так-то за всю компанию не скажу, больно она большая, действительно, но в моей и соседних группах я буду яростно отговаривать, да. И других знакомых программистов буду отговаривать. Впрочем, вспомни, как отзывались наши общие знакомые о поведении товарищей из PVS на какой-то из конференций, где ещё и JetBrains были, их и отговаривать никого не надо ;)
khim
28.07.2016 20:34+2Причём тут вообще начальство к этому моему проекту?
Ни при чём — и в этом и проблема. Они ищут не потенциальных пользователей, а потенциальных покупателей для довольно-таки недешёвого продукта (цен на сайте нет, но хочу напомнить, что удешевлённая альтернатива стоила, как бы, $250 в год). Шансы на то, что они на вас потратят время и силы и не получат в результате никаких продаж — черезвычайно велики. Ну и? Зачем оно им?0xd34df00d
28.07.2016 20:37Какие силы они на меня потратят, чтобы скинуть мне ссылку на ознакомительную версию?
zagayevskiy
28.07.2016 23:28+1Разработка этой самой ознакомительной версии считается?
0xd34df00d
28.07.2016 23:53Её персонально для меня разрабатывают?
zagayevskiy
29.07.2016 01:14-1Её у них нет, а вы требуете. Видимо, считаете, что для вас должны разработать.
0xd34df00d
29.07.2016 01:19+2А что они мне тогда предоставят на попробовать, если я напишу им с корпоративного ящика?
zagayevskiy
29.07.2016 01:23-1Не знаю, может напишете и узнаете? А если не хотите — к чему пустой холивар? Их продукт — их условия, вот и всё.
0xd34df00d
29.07.2016 01:26+4Подождите, вы же постом ранее говорите, что её у них нет, а теперь говорите, что не знаете. Как же так?
Продукт их, а блог и комментарии публичные, уж извините. Их дело — поставить условия, моё дело — высказать своё фи.zagayevskiy
29.07.2016 01:31-1Например, я вижу такой вариант — они собирают тестовую версию под клиента, дабы была возможность узнать, от кого она утекла в сеть, если это случится. Можно придумать и другие варианты.
0xd34df00d
29.07.2016 01:36+2Про это и написать можно, тогда часть вопросов к ним снимется.
Ну и да, если что, сборка версии с отпечатком слегка так не равно разработке и вполне может быть даже автоматизировано.
Кстати, а чего такого в том, что ознакомительная версия утечёт в сеть? Вон, JetBrains пресловутые вообще по прямому и предсказуемому урлу дают свой CLion скачать, и вроде не жалуются.
khim
28.07.2016 20:22-5Это не запрет, это настоятельная рекомендация.
Я про подобные компании слышал, но ни разу не работал — и, скорее всего, постарался бы найти другое место работы, если бы столкнулся.
Впрочем у меня был знакомый, который работал в японском банке — вот там, да, подобные вещи практиковались. На любой чих — требовалось чуть ли не письменное разрешение с подписями и печатями.
Хорошее отношение с начальством мне важнее необоснованных требований сделать ку.
Ну — это ваш выбор. Но после того, как вы напомнили мне про историю с этим банком я осознал, что эта просьба — это, на самом деле, очень грамотный и правильный подход. Просто потому что, как уже было много раз отмечено, внедрение подобных инструментов — часто требует общения с разработчиками. А если вы не можете написать с компоративного аккаунта даже письмо «Здравствуйте, меня зовут Вася» — то кто ж вам позволит напрямую общаться с ними и обсуждать какие-то тонкости внутреннео мироустройства в вашей компании?
Каждый пустяковый вопрос будет через 10 уровней менеджмента проходить с эффектами «испорченного телефона» и прочего. Оно им надо? Ну если кому-то это и надо — то пусть он думает, как эти проблемы решать.
Спасибо за то, что объяснили хотя бы мне — почему просьба в статье звучит именно так, как она звучит.Delphinum
28.07.2016 20:31+1А если вы не можете написать с компоративного аккаунта даже письмо «Здравствуйте, меня зовут Вася» — то кто ж вам позволит напрямую общаться с ними и обсуждать какие-то тонкости внутреннео мироустройства в вашей компании?
Скорее так — если вы не можете написать с корпоративного аккаунта, то вы не лицо, принимающее решение, а следовательно, вы не целевой клиент.0xd34df00d
28.07.2016 20:39Почему следовательно?
Принимает решение тот, кто планирует бюджет. Моё дело — попросить выделить на это средства, например. Но тот, кто планирует бюджет, никакой статический анализ никогда гонять не будет уж точно.Delphinum
28.07.2016 20:42Потому, что в компании вам даже не разрешено использовать почтовый аккаунт для личных целей. Я не утверждаю, это лишь мой ход мыслей.
0xd34df00d
28.07.2016 20:47Пусть даже, предположим, не разрешено (хотя на деле хрен его знает, я ниже написал, почему не хочу писать с рабочих ящиков). Почему это делает меня не целевым клиентом?
Delphinum
28.07.2016 21:16+3Почему это делает меня не целевым клиентом?
Таки психология. Что может купить человек, которому даже пользоваться почтой не позволено? Я согласен, что это неправильная практика, но она есть и встречается крайне часто, что печально.0xd34df00d
28.07.2016 21:22+1Ну и у меня психология. Если от меня требуют каких-то выкрутасов, чтобы начать со мной общаться, то спасибо, но нет. И если вопрос от кого-то другого встанет о том, какой статический анализатор покупать, я, может быть, буду всеми конечностями голосовать против PVS.
Зато сэкономили силы на предоставление ссылки на бетку, молодцы.
0xd34df00d
28.07.2016 20:35и, скорее всего, постарался бы найти другое место работы, если бы столкнулся.
Потому что там письмо о PVS Studio придётся согласовывать?
Впрочем у меня был знакомый, который работал в японском банке — вот там, да, подобные вещи практиковались. На любой чих — требовалось чуть ли не письменное разрешение с подписями и печатями.
А я не знаю, практикуются они или нет. Я знаю, что перед тем, как писать, мне по-хорошему надо бы спросить у своего менеджера, согласовывать письмо или нет. Может, и не надо вовсе. Может, и надо.
Просто рассказывалось, что за связи с внешним миром отвечают специально обученные люди, если вкратце и сильно упрощать. Если ещё вкратце и сильно упрощать, я для себя вынес, что если я никак не буду связывать свою нерабочую деятельность со своей компанией, не ассоциировать себя с ней, не писать с рабочего емейла, не ставить имя компании у себя в гитхабе или вконтакте/фейсбуке/гуглплюс, то мне не надо ни о чём особо думать (безусловно, в разумных рамках закона).
А тут приходится думать. Начальство доставать-вылавливать, и так далее. Зачем оно мне?
Просто потому что, как уже было много раз отмечено, внедрение подобных инструментов — часто требует общения с разработчиками.
Общение с разработчками — это одно. Начальная установка контакта — совсем другое.
то кто ж вам позволит напрямую общаться с ними и обсуждать какие-то тонкости внутреннео мироустройства в вашей компании?
А зачем мне это мироустройство с ними обсуждать?
Каждый пустяковый вопрос будет через 10 уровней менеджмента проходить с эффектами «испорченного телефона» и прочего. Оно им надо?
Да, потому что это потенциальные клиенты, лицензии и деньги. Знаете, деньги платят не просто так, а за работу. Общение со слоями менеджмента в больших компаниях входит в работу.
Да и я завтра уволиться могу, а послезавтра устроиться в компанию из десятка человек, где всё это будет решаться куда проще. А отношение к этим товарищам у меня будет уже сформированное.
А вообще забавно получается. Одиночки неинтересны, большие компании, где, вероятно, придётся немножко попереписываться, неинтересны. Интересно, наверное, чтобы бабло рекой текло, желательно само. По-человечески понятно, по-профессиональному — не очень.
Ну если кому-то это и надо — то пусть он думает, как эти проблемы решать.
Так оно и мне не особо надо. Скажем так, не сильно больше, чем им.
Спасибо за то, что объяснили хотя бы мне — почему просьба в статье звучит именно так, как она звучит.
А я всё равно не понимаю. Послать подальше можно хоть одиночку, хоть большую компанию, особенно если ещё ничего не подписано.khim
28.07.2016 20:51Потому что там письмо о PVS Studio придётся согласовывать?
В некотором смысле. Писать письма о PVC Studio мне как-то не доводилось, а обсуждать проблемы во всяких GCC или Vulkan'ах — очень даже. И меня будет очень напрягать если мне придётся делать это через посредников.
Если ещё вкратце и сильно упрощать, я для себя вынес, что если я никак не буду связывать свою нерабочую деятельность со своей компанией, не ассоциировать себя с ней, не писать с рабочего емейла, не ставить имя компании у себя в гитхабе или вконтакте/фейсбуке/гуглплюс, то мне не надо ни о чём особо думать (безусловно, в разумных рамках закона).
Вы что-то очень странное для себя вынесли. Потому что я, как раз сталкивался, с совершенно другим подходом: вы можете себя не ассоицировать никак ни с чем, но если вы выложите на какой-нибудь github вещь, хоть каким-то боком касающуюся того, чем вы занимаетесь на работе — вы легко можете поиметь проблемы. За своим IP компании следят строго.
А зачем мне это мироустройство с ними обсуждать?
Для того, чтобы понять — куда и как вставлять PVS Studio, очевидно. Подобные вещи — имеют мало смысла если ими раз в год пользоваться. Их нужно регулярно запускать и за изменениями следить. Как это сделать — зависит от того, как у вас CI устроена. А если вы даже «Я Вася» написать не может — как вы это собираетсь всё обсуждать? По факсу через менеджеров?
Да, потому что это потенциальные клиенты, лицензии и деньги.
Да, но стоят ли те клиенты тех денег — вот в чём вопрос.
А вообще забавно получается. Одиночки неинтересны, большие компании, где, вероятно, придётся немножко попереписываться, неинтересны.
С чего вы взяли? Большие компании как раз очень интересны — но если вы пишите не с корпоративного аккаунта, то вас, как верно было замечено рассматривают как одиночку — что совергенно разумно.0xd34df00d
28.07.2016 21:07Писать письма о PVC Studio мне как-то не доводилось, а обсуждать проблемы во всяких GCC или Vulkan'ах — очень даже. И меня будет очень напрягать если мне придётся делать это через посредников.
Если всё нужное уже куплено, то зачем какие-то посредники?
За своим IP компании следят строго.
Я там про разумные рамки закона не зря написал.
А если вы даже «Я Вася» написать не может — как вы это собираетсь всё обсуждать?
Вы правда не разделяете вопросы покупки и вопросы технической работы?
Условно, контракт на поддержку с условным RedHat покупаю и согласовываю не я. Баги и проблемы в том же gcc обсуждаю уже я, потому что контракт уже согласован и оплачен.
Большие компании как раз очень интересны — но если вы пишите не с корпоративного аккаунта, то вас, как верно было замечено рассматривают как одиночку — что совергенно разумно.
А должны бы рассматривать как человека и потенциального клиента. Моя текущая работа — дело такое, временное, а мои навыки, предпочтения и привычки — куда более постоянная штука.
EvgeniyRyzhkov
28.07.2016 21:01-1Моя компания как юр.лицо работает с 2008 года. Ни разу за все это время ни у одного разработчика не было проблем с «написать нам с корпоративного ящика». На сим вопрос закрыт, в дискуссиях по нему не участвую. Написал для других людей.
0xd34df00d
28.07.2016 21:07+8Очень интересно, как вы узнаете о тех, у кого проблемы возникли, но кто вам при этом не написал, ну да ладно.
khim
28.07.2016 22:49-1А тут, как у Станиславского. Дело в том, что мир — он не чёрно-белый. Вот вы тут пишите: «это потенциальные клиенты, лицензии и деньги». Да — но сколько их? Один, два, десять? Так ли это важно?
Понятно что какое-то количество клиентов из-за этого требования было потеряно, но если их немного — то это не так уж и важно, важнее то, что время на общение с ними не было зря потрачено…
Не так, нет? Ok.
Значит у нас — картина маслом. Кругом — тучи потенциальных клиентовю Стада прямо. Они все ходят кругами, облизываются, но… не могут ничего поделать — потому что писать нужно с корпоративного аккаунта. При этом — за восемь-то лет — многие из работающих у них разработчиков сменили работу, устроились в другие места, возможно, даже где-то столкнулись с PVS-Studio, но при этом — молчок-молчок-молчок.
Извините, но… «не верю».
Вот в то, что подобный шум поднимают люди, которые никогда бы в жизни PVS-Studio за разумные (с точки зрения разработчиков PVS-Studio) деньги не купили бы — верю. А в описанную вами выше картину — не верю.0xd34df00d
28.07.2016 23:10+5Это, конечно, очень удобно — нарисовать сатирическую и гиперболическую картину, а потом, высмеивая её, с ней же спорить. Только, однако, причём же ж тут я?
Кругом — тучи потенциальных клиентов.
Если без иронии, то потенциальных — кстати, да.
Они все ходят кругами, облизываются, но… не могут ничего поделать — потому что писать нужно с корпоративного аккаунта.
А вот тут вот собака и зарыта. Никто не ходит и не облизывается. И даже я не облизываюсь. Я так, раздумываю, что неплохо бы попробовать. Понравится — буду рекомендовать, и, авось, попрошу купить. Не понравится — ну и фиг с ним. Что-то посередине — вернусь к теме через год.
А тут какие-то препятствия дополнительные. Ящики корпоративные. Я вообще со своего домашнего проекта ознакомление с продуктом начать хочу, причём тут вообще что бы то ни было корпоративное? Так что, не, нафиг.
Ну, нафиг-то нафигом, но ведь это какое-то воинствующе-пафосное отношение к клиенту, который ходит и облизывается стадами, да, скотина такая (ну скотина, стадом же!), никак не покупает, оно как-то вот печалит.
Поэтому правила конкретной компании даже, на самом деле, если подумать и порефлексировать, и ни при чём. Перейди я в другую компанию, например, точно так же вряд ли захочу с этим продуктом взаимодействовать.
Ну и, более того, причём тут молчок-молчок-молчок? О ненаписавших у вас нет информации. Вообще. Никакой.khim
29.07.2016 00:37-2Ну и, более того, причём тут молчок-молчок-молчок? О ненаписавших у вас нет информации. Вообще. Никакой.
Однако есть. Мы знаем что их мало. Если бы их было много — то хоть один бы оказался среди клиентов, перейдя в другую компанию.
Точно это мы посчитать не можем (для этого нужна статистика о количестве клиентов PVS-Studio), но ясно, что никаких «облизывающихся толп» в природе нет.
Если без иронии, то потенциальных — кстати, да.
Желающих «попользоваться на халяву»? Верю. Желающих купить? Нет. Это — в общем, типичная ситуация для профессилнальных инструментов. IDA Pro не просто так даёт только сильно обрезанный обрубок «попробовать».
Никто не ходит и не облизывается. И даже я не облизываюсь. Я так, раздумываю, что неплохо бы попробовать. Понравится — буду рекомендовать, и, авось, попрошу купить. Не понравится — ну и фиг с ним. Что-то посередине — вернусь к теме через год.
Ну вот, собственно, и всё. Да, возможно, один из таких как вы и приведёт к продаже лицензии. Если звёзды правильно встанут. В момент солнечного затмения.
Но разработчики PVS-Studio решили сделать ставку на другое — и я их понимаю. Тут вот пишут что они опоздают на обед. На какой обед, извините? Много заработал Facebook на Identify или Apple на Clang'е? Моя оценка — эти компании все вместе заработали меньше, чем разработчики PVS-Studio. То есть речь идёт не о том, что они «опоздают на обед», а о том, что «обед закончится» — и придётся «переквалифицироваться в управдомы».
Это — возможно, но тогда это тем более означает, что им не стоит суетиться и пытаться бегать за теми, кто возможно «вернётся к теме через год»…0xd34df00d
29.07.2016 01:24+6Мы знаем что их мало.
Откуда?
Если бы их было много — то хоть один бы оказался среди клиентов, перейдя в другую компанию.
Они что, сопровождают своё письмо информацией о своём прошлом трудоустройстве? Иначе как вы узнаете, что они хотели написать из прошлой компании, но у них были проблемы?
Более того, гипотеза, что такие люди перестают быть клиентами навсегда, тоже имеет право на существование, например. Непонятно, чем она хуже вашей, тем более, что на рынке статических анализаторов это далеко не единственный продукт, мягко скажем.
Желающих купить? Нет. Это — в общем, типичная ситуация для профессилнальных инструментов. IDA Pro не просто так даёт только сильно обрезанный обрубок «попробовать».
И есть весьма распространённое мнение, что IDA Pro в этом весьма неправы. Забавно, кстати, что выше они тоже упоминаются, и в негативном ключе при этом.
Ну вот, собственно, и всё. Да, возможно, один из таких как вы и приведёт к продаже лицензии. Если звёзды правильно встанут. В момент солнечного затмения.
Ну прекратите уже этот цирк с картинами, стадами, звёздами и солнечными затмениями, с этим невозможно конструктивно спорить.
Что потратят разработчики PVS на меня? В идеале — ничего, я просто захожу на сайт, вижу ознакомительную версию, качаю, ставлю, радуюсь жизни (ну или не радуюсь и сношу).
Но разработчики PVS-Studio решили сделать ставку на другое — и я их понимаю.
На что именно другое? Я так и не понял, на что.
Это — возможно, но тогда это тем более означает, что им не стоит суетиться и пытаться бегать за теми, кто возможно «вернётся к теме через год»…
Ну да, ссылку на сайте оставить — такая беготня.
И не понимаю вашей иронии. Вон те же интеловские штуки я попробовал для себя, на своём проекте, без всяких корпоративных ящиков, а потом, на работе, попросил купить лицензии. Купили.
Вон тот же CLion я попробовал то ли полтора, то ли два с половиной года назад, когда первая превьюшка была. Оно еле прожевало мой проект. Отложил на потом. Попробовал этой весной — о, уже лучше. Но пока всё ещё kdevelop пользовал. Отложил. Сейчас попробовал ещё раз — 2016.2 вышло, про семантическую разметку в планах пишут, все дела, да и всякие поиски объявлений, рефакторинги и прочее подобное стали работать быстрее. Поставил на постоянную основу, если какой совсем лажи (что маловероятно) до конца месяца не выяснится — куплю. И JetBrains, обратите внимание, ничего бы не потеряли вообще, если бы я не купил. И даже бегать за мной не пришлось, кроме ответов на дюжину комментов и пару сообщений в личке, если что. Офигенный саппорт, кстати, учитывая, что я для них был халявщиком.
Если на работе зайдёт речь о покупке лицензий для CLion, я буду за.khim
29.07.2016 17:53-1И есть весьма распространённое мнение, что IDA Pro в этом весьма неправы.
Распросранённое среди кого, извините? Среди тех, кто за этот инструмент заплатил и пользуется или среди тех, кто хотел бы поиметь его «на халяву»? Или среди конкурентов?
Отзывы последних было бы интересно послушать… если бы они не сдохли все «на корню».
Непонятно, чем она хуже вашей, тем более, что на рынке статических анализаторов это далеко не единственный продукт, мягко скажем.
Один из двух, собственно. Второй — Coverity. А какая у них цена… оп-па… request a trial. Ч.Т.Д.
На этом рынке присутствуют компании, у которых нет чёткой цены — и компании, которые даже не пытаются зарабатывать на статических анализаторах. Все остальные, увы, не выжили. Компании запаковывающие Lint в красивую обёртку и продащие за десять долларов я в рассчёт не беру — это ближе к мошенничеству, чем к серьёзной деятельности.
Вон те же интеловские штуки я попробовал для себя, на своём проекте, без всяких корпоративных ящиков, а потом, на работе, попросил купить лицензии. Купили.
Тем самым чуть-чуть уменьшив убытки, которое соответствующее подразделение Intel принесло компании.
В том-то и дело, что VTune — не является частью рынка. Он то стоит денег, то не стоит, то входит в такой пакет, то в сякой — но это всё просто следствия реорганизаций внутри Intel'а. Никто никаких денег на нём не зарабатывал и зарабатывать не будет.
Что касается CLion'а — то это, по крайней мере, теоретически, массовый продукт. Тут есть хоть какая-то надежда отбить затраты на возню с «удешевлённой и упрощённой версией». А рынок статических анализаторов — похоже слишком мал, для того, чтобы на нём это имело смысл. Попытка была — и успехом не увенчалась. Аминь.
Что потратят разработчики PVS на меня?
Вы, собственно, сами ответили на этот вопрос:
И JetBrains, обратите внимание, ничего бы не потеряли вообще, если бы я не купил. И даже бегать за мной не пришлось, кроме ответов на дюжину комментов и пару сообщений в личке, если что.
Время, как известно, деньги. Я рад за JetBrains: их продукт, надо полагать, достаточно прост и понятен в освоении для того, чтобы даже очень дешёвые версии окупались. PVS-Studio, похоже — не таков. Когда и если ситуация изменится — политика продаж изменится тоже. Ну не продаются компрессоры в овощных лотках, как некоторые предлагают!!!
Ну да, ссылку на сайте оставить — такая беготня.
Ссылку на извиняюсь, что? Триал на сайте — есть, чего вы ещё хотите?0xd34df00d
29.07.2016 18:14+4Распросранённое среди кого, извините? Среди тех, кто за этот инструмент заплатил и пользуется или среди тех, кто хотел бы поиметь его «на халяву»? Или среди конкурентов?
Среди относительно приближённой general public. Опять же, почитайте вон выше. Спросите у них, по сравнению с чем, имеют ли они этот инструмент нахаляву, и так далее.
Я не столь за IDA слежу, к сожалению, я предельно далёк от ЦА этого инструмента.
Один из двух, собственно. Второй — Coverity.
clang'овский анализер очень неплох и ловил то, что Coverity у меня не ловил. Потому что Coverity подыхал на богатом на шаблоны и всякое такое C++-коде, когда я год назад его пробовал.
Если мне когда-нибудь таки попадётся свежий PVS, надо будет обязательно сделать сравнительный анализ всех трёх, да.
О, кстати о пробах…
request a trial. Ч.Т.Д.
И что вы доказали кроме того, что спорите не со мной, а с какой-то отдалённой от меня моделью собеседника?
Вот вам, например. Можно залогиниться своим гитхабом, скачать проприетарщины на 400 мегабайт и погонять на своей машине. Без корпоративных ящиков и SMS. Вчера я, вдохновлённый этим тредом, этот опыт повторил, дойдя до скачивания, надо будет свой проект перепроверить — авось, Coverity чуть больше осилит.
Ну, то есть, вы, видимо, ещё доказали, что то ли притягиваете за уши факты к теории, то ли просто в силу разных причин не обладаете всеми фактами.
Компании запаковывающие Lint в красивую обёртку и продащие за десять долларов я в рассчёт не беру — это ближе к мошенничеству, чем к серьёзной деятельности.
Когда мне года два назад один товарищ, у которого по работе был доступ к PVS, прогнал мой опенсорс-проект этим самым PVS, у меня сложилось впечатление, что это и есть Lint в обёртке. Потому что ворнинги вроде «избегайте хардкоженного числа 32, на 64 битах не заведётся» на код вроде
const auto& pixmap = icon.pixmap (32, 32);
— это несерьёзно. Предложение передавать аргументы в функцию по константной ссылке, а не значению, ради производительности — тоже несерьёзно, потому что это, блин, реализация функции из интерфейса с маркером override рядом, мне интерфейс ради этой функции менять?
А самым полезным сообщением было сообщение об адской функции с цикломатической сложностью что-то вроде 50. Ну, да, это полезно, спасибо, отрефакторил, наконец, код восьмилетней давности. Только стоит ли ради этого покупать PVS?
И при этом ничего, что позже на этом коде поймал clang static-analyzer.
Тем самым чуть-чуть уменьшив убытки, которое соответствующее подразделение Intel принесло компании.
Так можно про любую продажу сказать. Даже когда PVS продаёт свой продукт, оно в известном смысле чуть-чуть уменьшает убытки.
Он то стоит денег, то не стоит, то входит в такой пакет, то в сякой — но это всё просто следствия реорганизаций внутри Intel'а.
Коммерческая версия стоила денег всегда. Тонкости маркетоидного наименования продуктов — дело десятое и меня не очень интересующее. Мне важно, что продукт растёт и развивается. И да, в своей домашней генте я по-прежнему делаюemerge vtune
.
Никто никаких денег на нём не зарабатывал и зарабатывать не будет.
Вам доступна информация, недоступная общей публике?
А рынок статических анализаторов — похоже слишком мал, для того, чтобы на нём это имело смысл.
С чего вы взяли?
На рынке IDE конкуренция всяко выше. MSVS под Windows, мой любимый KDevelop, который, если не учитывать нестабильность пятой версии, до сих пор уделывает CLion, ну и всякие там кутикреаторы и прочие икскоды?
Попытка была — и успехом не увенчалась. Аминь.
Я бы этот cppcat купил, если бы он был под линукс. Серьёзно. Я покупаю используемый мной софт, если он мне хоть относительно полезен. У меня есть купленный Guitar Pro, Windows на игровой машине купленный, даже Wolfram|Alpha зачем-то в приступе импульсивного шопинга купленный.
Вы, собственно, сами ответили на этот вопрос:
Нет, ответа на вопрос о стоимости выкладывания ссылки там нет.
Ссылку на извиняюсь, что? Триал на сайте — есть, чего вы ещё хотите?
А вы точно не забыли, с чего тред начался? :)
Ссылку на бета-версию под линукс. На сайте триала под линукс я не нашёл, извините.Randl
29.07.2016 19:42-1А самым полезным сообщением было сообщение об адской функции с цикломатической сложностью что-то вроде 50. Ну, да, это полезно, спасибо, отрефакторил, наконец, код восьмилетней давности. Только стоит ли ради этого покупать PVS?
Разработчики не раз объясняли, что крупные ошибки на релизе PVS вряд ли найдет, потому что они уже исправлены, ценой времени программистов.
0xd34df00d
29.07.2016 20:01+1В том-то и дело, на релизе. А у меня нет никаких релизов!
Randl
29.07.2016 21:29+1Ну вы ж не отправляли другу бажный код посреди дебаггинга? Наверняка были в процессе разработки баги, которые вы фиксили в течении n-ного времени. Это время и мог бы сэкономить статический анализ. Конечно если проект маленький и вы его один пилите, в статическом анализе смысла меньше.
0xd34df00d
29.07.2016 22:06-3Я не припомню ни единственного случая отладки бага дольше одной минуты, связанного с повторением условий в if/else, разыменованием нулевого указания раньше, чем была проверка, и так далее.
Были другие запоминающиеся баги, которые я фиксил, ну, долго. Из-за особенностей работы фьючеров в Qt, например, когда QFuture считается инициализированным до того, как инициализируется, или наоборот, не помню уже… В общем, сложно всё там в крайних случаях. Не думаю, что PVS такое мне найдёт.
И есть ещё баги, на починку которых уйдёт уйма времени. На некоторых системах перерисовка окон лагает. На некоторых системах не приходит событие о выходе из ждущего режима. И так далее.
Не думаю, что хоть один этот баг поймается PVS.
Ну и опять же, речь о том, что статический анализ я гонял в лице того же кланговского анализатора, и некоторые баги он мне ловил, в основном в очень крайних случаях. А PVS те же самые места — нет.Andrey2008
29.07.2016 22:19+2Я не припомню ни единственного случая отладки бага дольше одной минуты, связанного с повторением условий в if/else, разыменованием нулевого указания раньше, чем была проверка, и так далее.
О да, я ловлю рыбку на такие комментарии!!! Прошу пройти этот тест на 100%: http://q.viva64.com/ Там как раз минута даётся на ответ, времени как раз должно всегда хватать.0xd34df00d
29.07.2016 22:29+3Поправьте список горячих областей в вопросе с Eigen и evalSolverSugarFunction, пожалуйста, а то я там на запятую после скобочки в условии жамкнул, а оно только скобочку ожидало. С учётом этого — 13 из 15.
Точку с запятой после if, кстати, что clang, что gcc ловят и печалятся. Внутренне простил себе эту ошибку.
SvyatoslavMC
29.07.2016 22:28del.
0xd34df00d
29.07.2016 22:35Так никто и не требует алгоритмических ошибок (хотя некоторый класс можно было бы).
Но вот clang, например, поймал случай, когда я в QCache (кутешный простенький кеш такой) записывал элемент и пользовался записанным, потому что QCache умеет удалять элемент сразу, если он гарантированно больше размера кеша. PVS такое не поймал, например. Приду домой — погрепаю git log, там ещё кое-что интересное было.
Анализатор мне нужен. Не понимаю, как вы сделали такой вывод, что он мне не нужен.Andrey2008
29.07.2016 22:40Столько энергии на критику! Я уверен Вы станете нашим клиентом! Это судьба. От ненависти до любви один шаг.
0xd34df00d
29.07.2016 22:43Я просто жду, пока у меня тут Kernel Ridge Regression дотренируется :(
Но бетку бы я попробовал, серьёзно.
SvyatoslavMC
29.07.2016 22:30Статический анализ не ищет алгоритмические ошибки, как и многие другие ошибки, для которых есть свои методологии и программные средства. Анализ производительности, например.
Если программист вычисляет площадь треугольника по формуле объёма цилиндра — начальник ему судья. Но если он скопировал функцию и поменял только название, то статический анализ поможет найти подозрительную функцию или округление вещественного числа до целого.
Если вам не нужен анализатор, читайте наши статьи в образовательных целях. Опечатки, конечно, одна из фишек анализатора, но много ошибок возникает из-за незнания языка программирования. На эти случае своя группа дигностических правил.0xd34df00d
29.07.2016 22:41О, и в дополнение к ответу на комментарий выше, про статический анализ и производительность, я для себя на днях вот такую офигенную штуку открыл.
Randl
29.07.2016 22:35-1Значит вам PVS не нужен. Что вы хотите от его разработчиков?
0xd34df00d
29.07.2016 22:37Я хочу бетку под линукс, посмотреть из интереса, что оно там поймает. Судить по статьям на хабре хорошо, конечно, но мне недостаточно.
Andrey2008
29.07.2016 22:41Казалось бы, что может быть проще. «Просите, и дано будет вам!» ©
0xd34df00d
29.07.2016 22:44Так я же джва года уже прошу под каждым вторым постом, достал вас уже, наверное, с этим!
Randl
29.07.2016 22:54+1Когда появится версия, которую можно будет попробовать, мы напишем всем откликнувшимся письма.
0xd34df00d
30.07.2016 01:02+2А я не могу быть откликнувшимся, судя по посту, потому что для того, чтобы откликнуться, надо писать с корпоративного ящика. О чём и весь сыр-бор на стопицот комментариев.
Randl
30.07.2016 01:22-3Ну так вроде прямо сказано, что рассматривают в качестве бета-тестеров именно компании, а не индивидуальных пользователей. Если вы выступаете как частное лицо — наверное вам, как и мне и прочим придется дождаться публичного бета-теста или релиза.
ls1
28.07.2016 19:49+6Если заказывает 1 человек, то ему 1к в месяц. Если 10к копий, Бефезда какая-нибудь, то им можно и 300 в месяц. Никто благотворительностью не занимается. Анализаторы работают часами по ночам. А еще часами и днями/неделями анализируется и тестируется их выхлоп
У Оракла примерно та же ситуация, но они честно прописывают, какие нагрузки как лицензируются.
mbait
28.07.2016 20:42+27Посты PVS-Studio это такой сериал, который не хочешь, чтобы заканчивался — всё время какие-то интриги и сюжетные повороты. У вас с Linux прямо какая-то драма. С одной стороны вы уже поняли, что не поддерживая Linux вы теряете существенный пласт потенциальных клиентов, с другой стороны, я вижу, что у вас опыта чуть меньше, чем никакого в этом направлении. Позвольте поделиться своей точкой зрения.
Во-первых — GCC против Clang. Я бы сделал ставку на Clang, потому что существует Clang AST, что полностью избавляет вас от необходимости иметь свой парсер и заморачиваться с расширениями. Смотрите
clang-format
для примера. Да и в целом — компании всё чаще переходят на Clang про принципу леммингов — сначало более крупные, за ними мелкие подтягиваются. Крупным это удобно, потому что у них куча специалистов-контрибьюторов из llvm.org, а мелким просто ничего не остаётся, как использовать чужие наработки, потому что их бюджет ограничен. Далее
Реализуя Linux версию, мы сразу решили, что обязательно надо поддержать отслеживание запусков компилятора.
…
Выглядит это следующим образом: вы говорите программе «начать слежку», после чего выполняете обыкновенную сборку проекта. Далее вы говорите программе «готово». Начинается анализ всех тех файлов, компиляция которых только что выполнялась.
Серьёзно, кто-то из ваших клиентов так делает? Я тут даже не знаю, что сказать. Однозначно вам нужно уметь делать хотя бы как
distcc
, потому что нажимать на кнопки "начать" и "готово" на сборочном кластере из 100 машин никто не будет. Наконец
Интеграция с Qt Creator.
Интеграция с… (время покажет).
Нет, вам не нужна интеграция. Linux это сообщество разработчиков и пользователей, которые просто жаждут работать как можно более эффективно. От вас же просто требуется предоставить сообществу инструменты для интеграции, остальное сделают за вас. Я могу ошибаться, ведь я не видел ваших исходников, но прочитав цикл ваших статей, мне кажется, что PVS-Studio слишком монолитная программа. Разбейте её на модули, которые выполняют какую-то отдельную задачу и взаимодействуют между собой. Например, один модуль может анализировать код и сохранять результат в файл, а другой модуль может читать этой файл и форматировать данные в нужном виде: для вывода в терминал, для Vim и Еmacs и т.д. И самое последнее — откройте те части вашего проекта, которые не представляют ценности и держите закрытым только сам анализатор, тогда сообщество вам подскажет как лучше всего организовать код для быстрой и успешной интеграции — перенимайте опыт других компаний.
В заключении — вы конечно можете никого не слушать и сколько угодно говорить "мы маленькая
гордаяи независимая компания и будем делать так, как нам удобно", но вы уже сейчас рискуете "опоздать на обед", когда гиганты вроде Facebook выпускают свои анализаторы, полностью открытые и разработанные с учётом реального опыта. Начните уважать открытое сообщество, и оно ответит вам взаимным уважением. Желаю вам успехов!mayorovp
29.07.2016 10:29+1Серьёзно, кто-то из ваших клиентов так делает? Я тут даже не знаю, что сказать. Однозначно вам нужно уметь делать хотя бы как distcc, потому что нажимать на кнопки "начать" и "готово" на сборочном кластере из 100 машин никто не будет.
Насколько я понимаю, эта фича — для начального этапа. Чтобы запустить анализатор и посмотреть, что он вообще умеет, еще перед чтением инструкции.
А так у них уже давным-давно консольная утилита для автоматического анализа есть, ЕМНИП.
EvgeniyRyzhkov
29.07.2016 12:52Все верно, именно для быстрого знакомства.
И конечно консольная утилита есть.
helgihabr
28.07.2016 21:24+16Всегда интересно читать статьи с анализом исходников различных продуктов, даже если это ЯП, которым не владею.
И всегда диву даюсь, как многие в комментариях начинают учить PVS-Studio как вести бизнес, как продавать их продукт и т.д.
Это их выбор, их путь, вот они им и идут. Если у меня нет желания/возможности купить какой-то продукт, я использую более доступные для себя инструменты.
Не думаю, что создать свой продукт и эффективно продавать его, это легкая задача. Так что советы здесь уместны от опытнах в этом деле людей.
А ребятам из PVS-Studio искренне желаю успехов.EvgeniyRyzhkov
28.07.2016 21:30+3Приятно читать слова понимания и поддержки. А то мы уже больше привыкли критику читать :-).
Спасибо за добром слове!
mva
29.07.2016 19:00+4На самом деле, всё просто.
Опыт показал, что «ребята из PVS-Studio» в своё время не осилили линукс и начали поливать его какашками.
К текущему моменту, судя по написанному в статье, осилили поболе, но ненамного (ну либо просто как обычно пишут менеджерским языком, хотя обращаются к гикам, что уже само по себе странно). И им ещё с первого же ушата помоев на линуксоидов объясняют что не так и почему оно именно так, а не как хотят они.
Если им ничего не объяснять — они опять придут к выводу «линукс говно, нас и тут неплохо кормят». А если пытаться объяснить — авось мелкими порциями, но суть когда-нибудь дойдёт. Пусть и ценой того, что всех доносивших они будут считать моральными уродами :) Главное ведь результат :)Wesha
29.07.2016 20:50не осилили линукс и начали поливать его какашками.
Ну так он от этого только лучше и развесистее растёт — органическое удобрение ж! ;)
mva
29.07.2016 19:11+5Ну и лично у меня претензия к слишком высокому о себе мнению (со всеми вытекающими) и такой же манере общения (включая язык написания статей, нарушение ВСЕХ правил оформления багрепортов в исследуемые проекты) и так далее.
Всё выглядит так, как будто они считают что они небожители и делают одолжения и все должны их благодарить уже за то, что они хотя бы пальцем пошевелили. Доброчеловеческое и уважительное отношение? Не, не слышали!
На втором месте по умилению такие моменты в статьях типа «вот как тут правильно я не знаю, но анализатор показал ворнинг, что тут потенциальная ничего не значащая проблема, значит всё плохо, поверте мне на слово. Но как правильно я всё равно не знаю, поэтому поехали дальше».
Про качество (и с точки зрения анализа, и про удобство исполнения) продукта по сравнению с энтерпрайз-аналогами я лучше не буду говорить ничего.
Eivind
28.07.2016 22:26Реализуя Linux версию, мы сразу решили, что обязательно надо поддержать отслеживание запусков компилятора. Это поможет программистам быстрее и проще знакомиться с анализатором PVS-Studio. Дело в том, что, используя эту утилиту, проект сможет проверить любой член команды, не отвлекая людей, занимающихся поддержкой makefile-ов и вообще системы сборки. В больших проектах далеко не каждый знает, как собственно собирается их приложение. Тем более, не каждый найдет время и желание разбираться, как и куда прописать вызов PVS-Studio. Всё это ещё может быть усложнено наличием автогенерируемого makefile. Понятно, что во всём можно разобраться, но это является существенным барьером на пути первой проверки проекта и удовлетворения исследовательского любопытства.
Сомнительная функция, допустим у меня в makefile что-то такое:
.build/.obj/%.o: src/%.cpp .build/.obj/%.d # ... something $< | $(CXX) -o $@ $(CXXFLAGS) -
Тем более, что сборка часто запускается в много потоков, отжирая все 100% ресурсов машины. В таких условиях сложно синхронизировать параллельную работу компилятора и анализатора. А исходники к тому же могут быть как временными файлами, так и просто потоками.
Самым универсальным способом для любой системы сборки была бы замена компилятора, например:
CXX="pvs g++" make
При этом собственно сначала отрабатывает анализатор, который получает на вход всю нужную команду компилятора, а затем передает эстафету компилятору.
Впрочем standalone версия, без запуска компиляции, тоже была бы полезна. Я бы, например, использовал анализатор как дополнительный шаг сборки в пререквизитах для компиляции.
Ну и совсем шикарно если бы вы учли возможность кросс-компиляции. У существующих анализаторов с этим как-то не очень.
Если дело пойдет, буду агитировать за внедрение вашего продукта у нас. Удачи!SvyatoslavMC
28.07.2016 23:12С универсальным способом давно всё в порядке (смотрите старую статью Проверка Vim при помощи PVS-Studio в GNU/Linux (хабр)), но на практике не каждый разработчик знает как поправить сборочную систему, особенно если она настраивается через ряд автогенерируемых файлов. Поэтому режим мониторинга — скорее вопрос знакомства и первого использования. Даже упомянутм неоднократно «одиночкам» будет гораздо интереснее проверить своей проект в 2 команды, чем что-то изменять.
Кто-то писал про модульность и разделение задач: при решении задачи интеграции обработать вывод анализатора можно абсолютно любым способом, т.к. у нас есть определённый формат. Хоть СМС'ки формируйте и рассылайте :-)iqiaqqivik
29.07.2016 14:24На практике достаточно подменить `alias` для тех компиляторов, которые PVS умеет. С этим прекрасно справится post-install инструкция к пакете и/или `make install`.
mbait
29.07.2016 01:12Я когда-то задавал тот же вопрос — https://habrahabr.ru/company/pvs-studio/blog/253553/#comment_8338113.
BelBES
28.07.2016 22:37+2Вот еще некоторые из больших задач, которые ожидают нас:
Интеграция с Qt Creator.
Интеграция с… (время покажет).
По моему, основной кейс использования статического анализатора — это не проверка кода на лету, а сбор отчета, например, при ночных билдах… соответственно, более полезной была бы тесная интеграция с системами автоматической сборки и всевозможными билдботами, чем GUI аппликации под creator и другие IDE...
Andrey2008
28.07.2016 23:27-2Для информации. Началось обсуждение и на Linux.org.ru: https://www.linux.org.ru/news/proprietary/12771234
Lindon_cano
28.07.2016 23:33+3Ох, вот и хочется вам опять получать там ведра помоев. Вас же там каждый раз поливают. При всей моей любви к LOR'у он не то место, где стоит такие новости публиковать(впрочем и OpenNET не посоветуешь, там тоже давно политический зооцирк имени Путина и неадекватности с Михаилом Шигориным во главе).
Здесь хотя бы по делу народ комментит.
P.S. Если бы был нужен человек который просто готов выполнить команды для проверки каких-нибудь продуктов и отправить вам лог проверки, то был бы готов помочь в тестировании(ну там какой-нибудь GNOME прогнать или прочее KDE), а так боюсь, что будучи непрограмистом могу только пожелать удачи в развитии проекта, каждый коммерческий проект под GNU/Linux это благо для OS и коммунити.dartraiden
29.07.2016 01:17+4Справедливости ради, на опеннете очень хорошо и технически подробно пишут новости. Реально круто. И да, столь хороши новости, столь же негодны комментарии.
В комментариях полный мрак, поскольку Михаил свято уверен, что любой, кто хоть что-то негативное напишет в адрес СПО — нанятый Microsoft подстрекатель (я просто оставлю это здесь), а вот если ты на «идеологически правильной» стороне, то можно петросянить и троллить, как угодно толсто. В итоге, дельные комментарии просто тонут в потоке флуда и явного тупняка.Lindon_cano
29.07.2016 01:22Не место здесь обсуждать OpenNET, но выскажусь для закрытия темы.
С момента, как этот ольгинский клоун там стал модератором комменты на OpenNET по качеству скатились на пару этажей ниже LOR'а.
amarao
28.07.2016 23:31-2Для дистрибьюции проприетарного софта под Linux есть Steam. Не думали?
EvgeniyRyzhkov
28.07.2016 23:32-2Расскажите в двух словах о чем речь? Это не который от Valve?
khim
29.07.2016 00:43+7Тот самый. Вот тут — Wing IDE, а здесь — PowerDVD.
Но непонятно — причём тут это. На Steam'е продаются вещи, которые, потенциально, миллионы могут захотеть купить, а тут — продукт, который даже цену публично не сообщает и у которого каждая продажа через живого человека проходит…
AllexIn
29.07.2016 07:33+5Забудьте. Он для массового продукта. ПРодавать ваш продукт через него, это как торговать промышленными кондиционерами на овощном рынке — дикое не попадание в ЦА.
afunix
29.07.2016 08:37+5От лица Linux девелопера в энтерпрайзе заявлю, что у нас, конечно, уже есть коммерческий анализатор проверенный годами, с недешевой поддержкой и интрегрированный в кучу внутренних тулов.
Мне непонятно как Ваша компания хочет убедить энтерпрайз заказчиков (на которых ориентируется) заменить проверенные инструменты на Ваш анализатор, который даже до беты еще не дорос.
Как Вы, наверное, понимаете дело тут не в деньгах. Даже если PVS for Linux будет выставлен в 5 раз дешевле, маловероятно, что крупные заказчики им заинтересуются.
Опять же для крупных заказчиков интеграции с Visual Studio маловато.
Крупные заказчики это автоматизация, графики и метрики для менеджеров разного уровня, и мир веб-интерфейсов.
Да, с помощью консольного анализатора и парсера вашего лога, наверное, все можно сделать силами заказчика.
Но коммерческие продукты тем и хороши, что являются готовыми solution-ами, а не очередным opensource-винтком в большой фабрике по производству кода.
Ну и последнее. Я могу написать в Ваш саппорт миллион писем и прожужжать менджерам все уши про PVS, но я не являюсь лицом, принимающим решение куда вбухать очередную кучу денег.
По-моему, аудитория хабра не целевая, если вы хотите продавать PVS энтерпрайзу.EvgeniyRyzhkov
29.07.2016 08:44+4Мне непонятно как Ваша компания хочет убедить энтерпрайз заказчиков (на которых ориентируется) заменить проверенные инструменты на Ваш анализатор, который даже до беты еще не дорос.
Точно также как мы это делаем на Windows. Хорошим инструментом и качественной поддержкой.
Крупные заказчики это автоматизация, графики и метрики для менеджеров разного уровня, и мир веб-интерфейсов.
Все есть, а будет еще больше.
По-моему, аудитория хабра не целевая, если вы хотите продавать PVS энтерпрайзу.
Целевая. Здесь есть реальные наши клиенты. Просто они не срут в комментах про то, что Linux — это не ОС.afunix
29.07.2016 09:05+2На Вашем сайте ни слова про поддержку (языки, скорость реакции на тикеты определенной severity, etc).
На сайте ни слова про графики и веб-интерфейсы. Есть только упоминания о XML отчете и GUI-интерфейсе (менеджерам???).
0xd34df00d
29.07.2016 17:54Качественная поддержка — у JetBrains, опять же.
У Intel. С приезжающими в компанию докладчиками о том, как оптимизировать код, NDA о шаринге кода с целью его оптимизации и доводке компиляторов, вот это всё.
vt4a2h
29.07.2016 13:35Отличная новость, спасибо. Отдельное спасибо за планы по интеграции с QtCreator. Кстати, в качестве еще одной IDE для интеграции можно рассмотреть Clion (сам я ей правда не пользуюсь, но она набирает популярность). С радостью бы поучаствовал в программе бета тестирования.
Randl
29.07.2016 16:37Интересно, почему всех так волнует ценообразование — дорого, цену не указывают на сайте и т.д. Самое забавное, что обычно еще добавляют — ваш продукт за такую цену никому не нужен, в то время как продукт продолжает развиваться, компания живет и скорее всего что-то да продает. Дельные советы в комментах есть, но не упустить их за сотней указывающих, как все надо делать, непросто.
Команде PVS-Studio — успеха и спасибо за хороший анализатор и интересные статьи.
safinaskar
03.08.2016 18:15-6У вас на картинке два животных целуются под радугой. А радуга — символ гомосексуализма
SvyatoslavMC
03.08.2016 23:45+4Радуга без ГМО и пальмового маслаRandl
04.08.2016 11:36Все живущие в домах под радугой — геи? о_О
EvgeniyRyzhkov
04.08.2016 11:41Все, кто видит радугу…
merlin-vrn
04.08.2016 11:44+2Да задолбали уже с этой радугой. Это красиво, всё! Кому не нравится — сами вы геи.
Randl
04.08.2016 11:55Использование сексуальной ориентации в качестве оскорбления тоже задолбало если честно.
merlin-vrn
04.08.2016 11:59+2Вы правы. Но отредактировать не могу.
Впрочем, наезды на радугу обычно слышны от гомофобов, для готорых такой ответ — самое страшное ругательство, практически проклятие, а нормальные люди просто пожмут плечами и пройдут мимо.
apro
06.08.2016 20:55+1Впрочем, используй мы какой-то другой парсер, это не сильно бы нам помогло.
Например, если мы перепишем анализатор, взяв за основу Clang, нам все равно придётся самостоятельно сражаться с расширениями GCC, Visual C++.
Почему вы так думаете?
Т.к. clang позже всех появился то им пришлось поддерживать расширения gcc,
чтобы их стали массово использовать, да и вроде бы поддержку clang хотят в
Visual Studio встроить, что тоже накладывает ряд требований.
Например здесь
http://clang.llvm.org/docs/LanguageExtensions.html
указано что clang старается поддерживать все расширения языка придуманные комадной gcc
а здесь говорится про поддержку расширений языка от Visual Studio
http://clang.llvm.org/docs/MSVCCompatibility.html
Wedmer
Linux не является операционной системой.
midday
И откуда вы такие умные беретесь?
x4uDaK
Спорное утверждение, можете объяснить?
Wedmer
Linux это ядро операционной системы. Окружение разрабатывается вне проекта. Соответственно правильно говорить «операционная система с ядром Linux». Столлман предлагает вообще называть все вместе GNU/Linux, тк большая часть окружения изначально была разработана в рамках проекта GNU.
AllexIn
Линукс — общее название Unix-подобных операционных систем, основанных на одноимённом ядре.
AllexIn
Linux is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution. The defining component of Linux is the Linux kernel.
https://en.wikipedia.org/wiki/Linux
Первое — из русской википедии. Второе — из английской.
Кому верить — википедии или некому Wedmar'у?
Предпочитаю википедию.
Впрочем, @Wedmar — вы можете попробовать свою позицию как-нибудь аргументировать. В противном случае не стоит удивляться молчаливым минусам.
Wedmer
Аргументация давно написана Ричардом Столлманом.
AllexIn
Столман защищает свой проект.
Есть общепринятый термин, который под словом Linux предполагает семейство ОС с определенными свойствами.
Отдельно замечу, что GNU/Linux — это подмножество ОС семейства Linux.
Тот факт, что других подмножеств сейчас не существует — не имеет значения.
Кстати, если вы являетесь сторонником Столмана и придерживаетесь названия GNU/Linux — ваш первоначальный комментарий всё равно пустой и бессмысленный.
Wedmer
Извините, не могу я назвать ножку от стола столом.
AllexIn
«Плохая метафора.
Сейчас „комод“(ОС) называют „полочками“(Линукс).
Вы предлагаете называть его „полочки с дверцами“.
Если уж на то пошло, и „полочки“ и „полочки с дверцами“ — не являются правильными названием для комода.
Так что выбор между Linux/GNU Linux — вопрос исключительно религии. Или удобства.
playermet
А создатель линукса — называет:
«The only limiting factor of the Linux operating system is its user.» — Linus Torvalds, 2008.
khim
Он как раз — имеет право. Он сам разрабатывал Linux, чтобы завершить систему GNU и вполне может нерассматривать «неофициальные» версии как что-то существенное — даже если они используются миллиардами пользователей.
Wedmer
Здесь еще фишка упущения части слов. Можно сказать «POSIX operating system», но это нельзя перевести как «операционная система POSIX»
playermet
Вот другая его цитата из одного интервью:
«But those “oddball” use areas used to surprise me, back when I still thought of Linux as a workstation and server operating system.»
Никакой неоднозначности тут быть уже не может.
Wedmer
Ну тогда попробуйте собрать Linux и запустить его безо всего. Вы резко обнаружите, что ему нужно что то в качестве init, что никакого интерфейса взаимодействия с пользователем тоже нет, и т.д.и т.п.
Линус, как мне кажется, как раз имел в виду операционную систему с ядром Linux и одному ему известным окружением.
AllexIn
«Линус, как мне кажется, как раз имел в виду операционную систему с ядром Linux»
Конечно именно это он и имел ввиду.
Как и все остальные, кто использует термин Linux для определения семейства ОС.
Wedmer
Почему Андроид не называют Linux?
AllexIn
Потому же, почему не называют Линуксом Ubuntu, OpenSuse и все остальные Линуксы. Потому что это отдельные ОС семейства Линукс.
При этом Линуксом он быть не перестал, естественно.
Wedmer
Вот их чаще всего называют. Понимаете, просто оно так устоялось. Но если оно так устоялось, это не значит, что это все правильно.
mva
Хотите дам своё ядро, которое запустится и откроет busybox шелл, опционально поднимет ssh и т.п.? :)
playermet
Wedmer
Ок, дайте ссылку на init систему и базовое окружение в рамках проекта Linux.
AllexIn
Дайте для начала определение «проекта Linux»
playermet
Зачем? Я просто беру какой нибудь серверный дистрибутив, например Ubuntu Server, и он является Линуксом. Потому что Линукс — это не только ядро, но и семейство операционных систем. И сам создатель ядра разделяет это мнение.
Есть чем опровергнуть?
Wedmer
Вот для вас аргументация от разрабочиков Debian.
AllexIn
Отлично!
«Linux is an operating system»
Wedmer
Вы дальше читайте.
«Because the Linux kernel alone does not form a working operating system, we prefer to use the term “GNU/Linux” to refer to systems that many people casually refer to as “Linux”. „
AllexIn
Читал. ОНи используют термин Linux в тексте, где по их же логике предполагается использовать GNU/Linux.
«Linux users have immense freedom of choice in their software. For example, Linux users can choose from a dozen different command line shells and several graphical desktops. This selection is often bewildering to users of other operating systems, who are not used to thinking of the command line or desktop as something that they can change.
Linux is also less likely to crash, better able to run more than one program at the same time, and more secure than many operating systems. With these advantages, Linux is the fastest growing operating system in the server market. More recently, Linux has begun to be popular among home and business users as well.»
Здесь везде должно быть GNU/Linux. Но почему-то это не так.
RPG18
Это позиция Debian. Они там тянут GNOME, а это акроним GNU Network Object Model Environment.
Можно собрать систему с минимальным набором утили из GNU project.
Open Source он такой, в нем много взаимозаменяемых программ: GNOME можно заменить на KDE; emacs на vim; bash на zsh и т.д.
khim
mva
то есть под Android можно даже не ждать? :)
khim
Есть очень простой вопрос, на который могут, я думаю, легко дать ответ разработчики PVS-Studio: когда их продукт можно будет скачать из Play Store. Если ответ «в обозримом будущем — мы этого не планируем», то они таки действительно собираются поддерживать GNU/Linux, а не просто Linux.
Когда Столлман или Дебиан писали свои тексты отличие между GNU/Linux — было чисто умозрительно, не было никакого Linux'а, кроме GNU/Linux'а. Сегодня — их таки есть, более того, подавляющее большинство инсталляций Linux'а — это не GNU/Linux, так что название GNU/Linux — имеет смысл.
AllexIn
Вот как! Вот это уже интересно! Спасибо!
Сути по поводу использования GNU/Linux и Linux это не меняет. А вот то, что есть не GNU версия — это для меня новость. Спасибо.
Ага. И не просто GNU/Linux — а лишь ограниченную часть дистрибутивов. Уверен, будет полно GNU/Linux, на которых PVS не заведется.
Так что в данном контексте использование GNU/Linux или Linux — без разницы. Это всё равно не корректно с формальнйо тчоки зрения.
khim
А я вот — не уверен. То есть какие-то опциональные рюшечки — может быть. Но «ядро» продукта наверняка будет опираться только только на старые добрые binutils, coreutils и Glibc. Только вместо GCC, может быть, Clang потребуется. То есть то, с чем будет общаться PVS-Studio — это как раз скорее GNU, чем Linux.
thatsme
>>Тот факт, что других подмножеств сейчас не существует — не имеет значения.
Как это не существует? Простите, а какже busybox? Он к проекту GNU никакого отношения не имеет.
GNU/Linux это дистрибутивы построенные на тулчейне проекта GNU: glibc+ GNU core utils разработанные под эгидой проекта GNU.
psyriccio
Ну вообщем-то мнение Столлмана, наверное менее авторитетно в этом вопросе, при всем уважении, чем мнение создателя(ей).
What is Linux?
Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and Single UNIX Specification compliance.
Wedmer
Где система init от Линуса? Где стандартная сишная библиотека? Заметьте, что большинство из используемых компонентов операционных систем с ядром Linux, разработаны не специально для Linux, а для всех вариантов ядер. Поэтому называть ОС по ядру в технической статье я считаю нецелесообразным, в отличие от устной речи, где подобные сокращения считаются нормой.
4144
К сожалению, такая система уже есть, и почти захватила все дистрибутивы GNU/Linux :(
Хоть она и не от Линуса, но специально для линукс ядра.
Это называется SystemD. Сейчас это почти дистрибутив, за исключением загрузчика и графической части и да пока еще без сишной библиотеки.
Praktik
Он — ядро
Wedmer
Минусаторы кроме минусов других аргументов привести не могут?
Andrey2008
Предлагаю не отвечать и не кормить тролля. По-иному я подобные комментарии оценит не могу.
Wedmer
Это не троллинг. Просто было бы не плохо, если бы вещи назывались своими именами. Меня выше попросили привести аргументацию, я привел.
Вот вам описание проекта Debian.
https://www.debian.org/intro/about
taulatin_one
Ну, коллега, вы же не будете спорить с тем, что некоторые слова имеют несколько иное значение, чем то, которое подразумевается при их повседневном использовании. Например «ксерокс» — для нашей страны все еще актуально.
Wedmer
Эх… Знали бы люди, сколькими разработками этой конторы они сейчас пользуются.
Wedmer
Видимо кто то не в восторге от мышек, и общепринятых графических интерфейсов.
LynXzp
Дистрибутив ОС на основе ядра Linux нормально? Сокращенно linux.
Вы же не говорите «манипулятор типа мышь». А мышь это не то что у вас на столе.
GNU/Linux наверное тоже не правильно. Не все дистрибутивы чисты и полностью GNU и если перечислять все то будет очень долго (как с 4-х пунктной лицензией BSD).
khim
AllexIn
ТО есть вы уверены, что PVS Studio будет работать под всеми ОС попадающими под определение GNU/LInux?
Готов денег поставить, что так не будет.
Так что не точно и не полно.
mva
Смотря что вкладывать в «работать».
Учитывая формат распространения (проприетарная какашка слинкованная как попало неумёхами-вендузятниками, как, например, у 2Gis или Steam) — завести можно будет где угодно, в крайнем случае подсунув пару библиотек в локальный LD_PATH вместо системного. Уж больно любят господа говнокодеры (сюда, кроме приведённых выше, я бы ещё добавил разработчиков Phusion Passenger, FreeSWITCH и ещё некоторых вещей) использовать в продакшн-версиях продукта патченные 3party библиотеки (и не всегда публикуя эти патчи и тем паче не отсылая их в апстрим) вместо тех, что поставляются с дистрибутивами.
— На самом деле, в тональности этого комментария больше виновата команда 2Gis, которая собирает бинарники под Linux так, что он зависит сразу от двух версий библиотеки icu, плюс они используют свой патченный qt-вебкит, который чёрт-те что делает и его не подебажишь. Поэтому я до сих пор не могу завести их поделие на Gentoo и производных (допускаю, что на Ubuntu оно-таки работает).
Со стимом и играми в нём — часто такая же штука. Линкуют черезанально, работает так же.
Что примечательно, в заопенсорсившихся проектах подобную хрень фиксят в пределах первого десятка (в крайнем случае, сотни, если проект сильно популярный) коммитов.
khim
ibKpoxa
Если это не троллинг, то сделайте отдельный пост, опишите свои размышления на тему, а тут давайте обсуждать тему поста, а не то, что вы считаете неточностью.
jcmvbkbc
А андроид — это линукс?
robert_ayrapetyan
Хорош )
taulatin_one
RIP (помним, непонимаем, скорбим)
ваш суицид лучший на этой неделе
Wedmer
Конечно, чтобы не вызывать бурю негодования, надо было написать иначе. Но зато видно, на сколько хорошо народ знает, чем он пользуется.
"?Linux-based operating system"!=Linux
Delphinum
Надо было написать в личку с указанием ошибки. Минусующие прекрасно знаю, что такое Linux, потому и минусуют.
Wedmer
Тех, кто знает, такие утверждения не не задевают. Проверено в профильных темах.
taulatin_one
коллега, для надежного самоуничтожения вы выбрали не ту тему для своих откровений. Здесь было бы уместно высказать мнение, что C++ не язык программирования, или что GCC не является компилятором.
И только в этом случае вы можете гарантировать многократный эффект и кучу отличнейших отзывов.
Wedmer
Понимаете, простой слив не принесет никакой пользы. А так кто то начнет читать, научится называть вещи своими именами.
Wedmer
Судя по количеству переходов кармы через ноль, стоит все таки сочинить статью, но только после того как срастется правая рука и если будет свободное время.
Wedmer
Смотрю тут много шовинистов. Ну, желаю вам всего хорошего, а особенно никогда не ломать руки. Те кто ломал, наверное знают, как неудобно работать без одной руки.
mammuthus
Добрый день.
Почему вы беседуете сами с собой?
Wedmer
Лично я это вижу как комментарий или дополнение к предыдущему. Ну или просто реакция на оценки комментария.
Wesha
Из-за ограничения в пару минут на редактирование/дополнение комментария?
al_one
Ну, GCC, допустим, действительно, не компилятор, а набор компиляторов. А C++-то почему не язык программирования?
Wedmer
Человек просто предложил варианты высказываний, чтобы слить себе карму до четырех знаков в минус.
khim
taulatin_one
Господи, я немного решил повеселить народ, но тут нашлись и те, кто прицепился к какой-то мелочи… причем, это даже не является существенным.
al_one
Согласен, что всё это буквоедство. Тем не менее, мне показалось ироничным, что ваш пример ложного высказывания о GCC оказался не далёк от истины.
makedonsky94
Взято с linux.com