Как стать автором
Обновить

Комментарии 86

Кстати первая наша статья про разработку 64-битных приложений была опубликована в ноябре 2006 года. Однако время летит…

Радует, что она до сих пор открывается на сайте :-).
НЛО прилетело и опубликовало эту надпись здесь
Успехов, Андрей! С наступающим! )
Спасибо! С наступающим!
Хорошая история и хорошо написано. Успехов вам.
Отличная история! Успехов в наступающем году!
Успехов! Автономный анализатор, позволяющий проверить, например, встраиваемые проекты, тоже не оправдал ожиданий? Не возникало мыслей привезти анализатор на Embedded World? Все конкуренты там постоянно «светятся».
Прошу пояснить, что значит автономный? Если речь идёт про утилиту Standalone, то она никуда не делась.

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

То есть embeded — это активная защита от ошибок (надежная работа независимо от ошибок в программах). Тогда как статанализ — это пассивная защита.

я давно уже планирую серию статей про «ненастоящих программистов», чтобы рассказать, что у нас и как. Надеюсь, на зимних каникулах надеюсь, что пару опубликую.
Здорово, очень хотелось бы почитать. Авось что-то новое о нас узнаю :)
ну в общем это ближе всего к DIY, но за деньги. :-)
Великолепно. Жду поста как приглашение к занятной дискуссии :)
Вот первый.
Не наша тема, не сильны мы в embedded.
Настал момент, когда мы приходим в embedded-мир. Состоялся релиз PVS-Studio 6.22:
  • Добавлена поддержка проверки проектов, использующих компиляторы Keil MDK ARM Compiler 5 и ARM Compiler 6.
  • Добавлена поддержка проверки проектов, использующих компилятор IAR C/C++ Compiler for ARM.

Предлагаю желающим попробовать новую версию PVS-Studio.
НЛО прилетело и опубликовало эту надпись здесь
Что такое «маскот»?
НЛО прилетело и опубликовало эту надпись здесь
4 апреля 2011. По крайней мере в этот день картинка попала в систему контроля версий.
Маскот — персонаж, то бишь единорог наш.
Спасибо, познавательная статья. Я пробовал ваш анализатор, впечатляет, но параллельно использовал cppcheck, его особенностью, лично для меня, является помощь в оформлении кода, например он подсказывает, что нужно в объявление конструктора добавить ключевого слово explicit или, что переменную можно создать внутри цикла, а не снаружи и прочие подобные плюшки, которые помогают писать чистый код и использовать ключевые слова там где они нужны. С увеличением опыта программирования на С++ выработались специальные приёмы программирования, которые помогают избегать банальных ошибок. Так исторически сложилось, что в качестве редактора кода я использую eclipse, уж очень сильно к нему прирос, а в нём имеется интеграция с cppcheck, git, doxygen и много чего другого, что я активно использую. Я не призываю разработчиков PVS-Studio тратить силы и время на написание плагина под eclipse и прочие IDE, так как нет в планах покупать анализатор PVS-Studio, во всяком случае на данный момент. Но возможно будет полезным внедрить возможность помогать программисту писать красивый код, к примеру мой многолетний опыт показал, что я только сейчас стал понимать всю глубину С++, стал активно применять ключевые слова: explicit, mutable, noexcept итд. Удобно, когда все инструменты собраны в одном месте, для меня eclipse самый лучший инструмент для написания кода потому, что в нём я объединяю почти все инструменты, которыми пользуюсь. Может быть моё мнение будет интересно разработчика, а может нет, я просто поделился своими мыслями.
НЛО прилетело и опубликовало эту надпись здесь
Удивляет ваша позиция по поводу CppCat.
Хотели сделать как лучше, сделать для разработчиков, но в итоге пожадничали и выставили слишком большой ценник, поэтому интереса и не было.
И не надо говорить, про зарплаты программистов, 250$ даже для 2014 года — порой слишком дорого.
Да, и посмотрите на ценники других инструментов? Тот же решарпер (на тот момент был только для C#) стоил гораздо дешевле вашего поделия.
За статью спасибо.
Мы вообще не жадные. Proof. Но бизнес должен приносить деньги и нет смысл тратить силы на неэффективные направления. Про то что $250 это много, я всерьез воспринимать не могу. Люди тратят много больше даже на бестолковые вещи или хобби. Это означает, что инструмент просто не нужен. А если не нужен, любая цена будет велика.
Полностью поддерживаю мнение автора, лучше делать один инструмент, но качественный, чем создавать множество инструментов, которые предназначены для одного и того же, но при этом каждый из них будет иметь свои недостатки. Язык С++ очень сложный и с появлением С++11 и С++14 стал ещё сложнее, работы для статического анализатора тоже прибавилось. Много интересных нюансов описывает Скотт Мэйерс в своих книгах по С++, было бы полезно иметь инструмент, который мог бы подсказывать где можно улучшить код, например показывать место где желательно использовать оператор переноса, некоторые функции можно определить как noexcept или наоборот, если функция определена как noexcept, а внутри используется обработка исключению, то анализатор предупредит об этом. С приходом новых стандартов в С++ требуется время на осмысление новшеств и велика вероятность наделать глупостей и тут бы анализатор мог быть хорошим помощников в освоении новых стандартов.
$250 — это 15 труб. По моим оценкам такая цена экономически выгодна, начиная с зарплаты программиста в тысяч 40 (ФОП 60 труб). Возможно, что проблема в бесплатной демо-версии. Дело в том, что основной эффект от статанализатор — идет при его первом применении. И эффект этот не только в нахождении застарелых ошибок, но и в наглядном обучении, как лучше не писать.

На самом деле, у многих людей есть проблема с поиском непонятных ошибок в коде. Думаю, что за $20-$30 — у вас бы не было отбоя от желающих один раз проверить проект и получить отчет (по всем анализаторам, а не только по PVS). Понятно, что вам это неинтересно, но такой стартап, ищущий ошибки в чужом коде, вполне жизнеспособен.
Сейчас есть возможность использования PVS-Studio с бесплатной лицензией, думаю этого вполне достаточно для ознакомления с продуктом и лицензии за 20$ тут не нужны. Вообще немного удивлён, что разработчики адаптировали свой продукт под Linux, где царствует бесплатное ПО, а Mac OS остаётся без внимания, ведь именно Mac OS царство комерческого ПО и не просто ПО, а довольно качественного, вероятность заработать денег на этой OS должна быть выше, чем в Linux. Конечно под Mac OS основной язык Object-C, но там там также есть Qt C++, а теперь ещё и Visual Studio с С#.
Вообще немного удивлён, что разработчики адаптировали свой продукт под Linux, где царствует бесплатное ПО, а Mac OS остаётся без внимания...

Как я понимаю PVS-Studio предназначен в первую очередь для проверок кода на сервере сборки, а вот что-то хоть отдалённо похожее на сервер с MacOS я последний раз видел году эдак в 2005 на студии занимающейся видео-клипами и использующих Mac для обработки видео.
А бесплатное ПО никак не мешает существованию таких дистрибутивов как RHEL и SLES, а именно их и предпочитает энтерпрайз, да и телеком по большей части…
Как я понимаю PVS-Studio предназначен в первую очередь для проверок кода на сервере сборки

Ну блин, они же в каждой второй статье пишут что это неправильное применение их продукта!


У них же большинство возможностей заточены на интерактивную работу, а не на пакетную...

Неправильное применение, это разовые проверки перед релизом.

Ежедневные проверки на сервере как раз нужны на случай, если кто-то из разработчиков пренебрегает инкрементальным анализом.
Гм, вы много видели железок под windows или mac OS? ну на банкоматах винда, а где ещё? Зато почти в каждой железке — linux. В тех же роутерах, например. В мобильниках, в планшетах… Только в самых маленьких — FORTH или что-то вроде FreeRTOS.
Вообще немного удивлён, что разработчики адаптировали свой продукт под Linux, где царствует бесплатное ПО, а Mac OS остаётся без внимания, ведь именно Mac OS царство комерческого ПО и не просто ПО, а довольно качественного, вероятность заработать денег на этой OS должна быть выше, чем в Linux.
На Linux есть много разных миров. Enterprise на серверах — это почти один Linux, а софт под него кто-то ведь разрабывает. А MacOS — это, как раз, очень-очень узкая ниша, iOS, фактически, и всё — но там своя, очень серьёзная головная боль, чтобы Objective C++ хотя бы распарсить.
Я хотел сказать, что под Linux очень много проектов с открытым исходным кодом, разработчики таких проектов могут сейчас использовать PVS-Studio бесплатно, соответственно не принесёт ни рубля авторам анализатора. Основной доход, на мой взгляд, будет от коммерческих проектов, а они в основном на windows или mac os. По поводу узкой ниши для mac os — не соглашусь, в нашей стране эта конечно так, но в штатах она почти в каждом доме и офисе и её там очень любят. Когда я создавал свой проект он изначально был только для windows, так как основная масса потребителей использует эту os. Потом начали поступать письма адаптировать программу под linux, благо проект создавался на Qt и проблем с портированием не возникло, но как показала статистика, на несколько тысяч пользователей только несколько человек (меньше 5) использует linux, но при этом у большого числа пользователей (около сотни) стоит дома iMac или macbook и они используют программу на mac os через виртуальную машину Parallels и не возмущаются.
Почти весь большой enterprize — это linux, там не только коммерческое ПО, но и очень дорогое и большое коммерческое ПО. Mac OS — одна очень узкая ниша — десктоп с маленькими пользовательскими приложениями из стора (чаще всего на ObjC).
Изначально приведены 250$ в ценах 2014 года., то есть 8750. Пакет мс офиса. Ну не серьезно, блин.
А зарплаты программеров примерно привязаны к курсу доллара. Ну или вокруг меня так случайно сложилось.
Вот да. Но при цене тех лет экономически выгодно было использовать, если только твои доходы от программирования не пару мрот)
Кстати, не соглашусь, что основной эффект от первого применения, особенно для человека, который еще только учится писать и не все тонкости понимает — основной эффект будет как раз в постоянной дополнительной проверке. Да и на сложных проектах должно бы веселее.
Только культуру использования надо прививать еще в момент обучения, а то некоторые программисты умудряются писать, забивая даже на предупреждения компиляторов…
Как вы считаете экономическую выгоду? Можете описать методику?

некоторые программисты умудряются писать, забивая даже на предупреждения компиляторов…

Ну так и на предупреждения анализатора забьют такой же болт… Впрочем, вы ещё не видели, как пишут математики… Для математика правильно все, что математически эквивалентно.
Как вы считаете экономическую выгоду?

Так же как и вы для 15 тысяч
Впрочем, вы ещё не видели, как пишут математики…

я видел как пишут программисты.
как вам поиск артикула по названию материала — путем цикла по 10 тысяч строк без брека, а потом следующим шагом такой же цикл, только возвращающий уже первых 5 символов того же артикула?
Так же как и вы для 15 тысяч

То есть вы подтверждаете мою гипотезу, что PVS-studio экономит 2 недели труда разработчика по сравнению с бесплатным CppCheck? А исследования были?

Индийский код — не новость. Выльем воду из чайника и сведем задачу к предыдущей.

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

Контроль круиза
Исследование отказавшей техники показало, что виной всему стал развалившийся пластмассовый датчик частоты вращения в трансмиссии. Из-за его кончины бортовой компьютер посчитал, что машина замедляется, и «поддал газу». В современных машинах педаль газа не связана напрямую тросиком с заслонкой дросселя, а подает сигналы электронной системе впрыска топлива. Вдобавок автопилот не понял, что произошло, вошел в ступор и перестал реагировать на команды водителя. В обычном режиме круиз-контроля нажатие на педаль тормоза или газа аналогично команде Reset и отключает автоматическое управление скоростью. Однако в данном случае из-за глюка в программе компьютер перестал реагировать на нажатие педалей, поскольку считал, что машина уже остановлена. Выражаясь компьютерным языком, в этой ситуации требовалось отключение электричества и полная аппаратная перезагрузка, тогда как автоматика допускала лишь горячую программную перезагрузку системы


А вместо изменения порядка проверок они всего лишь заменили пластмассовый датчик на металлический.
«То есть вы подтверждаете мою гипотезу»
Я выдвигаю мысль, что за год работы (около 220 официальных рабочих дней) программиста инструмент в 1,10$/день окупился бы для любого нормального программиста не хуже ежедневной чашки кофе.
А какая программа лучше ищет ошибки — это уже заход на холивар, результаты проверок PVS-studio можно посмотреть в куче статей на хабре, так что можете запилить своё сравнение в любой момент: взять десяток свободных проектов и последовательно прогнать по ним обе программы, благо бесплатная версия PVS — доступна.

PS. Это был, так сказать, «русский код»… причем от специалиста «с дипломом».
Скажите, а болгарку, дремель, микроскоп, паяльную станцию, логический анализатор, JTAG? осциллограф вы уже себе купили? А это все инструменты дешевле 1$ в день. я вообще не понимаю, как вы ловите определенные типы ошибок без осциллографа! :-) Ну вот как вы без осциллографа найдете причины CRC-error в RS-485?

А какая программа лучше ищет ошибки — это уже заход на холивар,

— Армяне — лучше, чем грузин.
— Чем лучше?
-Чем грузин!
(с) анекдот
Кто лучше ищет сферические ошибки в вакууме — это неинтересно. Интересно, найдет ли PVS-studio что-то важное, в коде, уже проверенном бесплатными анализаторами. Причем не в абстрактном коде, а в конкретном.

PS. Это был, так сказать, «русский код»… причем от специалиста «с дипломом».

Если вместо того, чтобы с 13-17 лет писать код до 23х лет сидеть за партой — то диплом, конечно, будет. А вот программер — уже не получиться.
Скажите, а болгарку, дремель, микроскоп, паяльную станцию, логический анализатор, JTAG? осциллограф вы уже себе купили? А это все инструменты дешевле 1$ в день

Когда я делал полный ремонт своей комнаты своими руками я купил себе перфоратор вместо имевшейся ударной дрели. И болгарка у меня тоже есть с тех времен на всякий случай. С учетом количества раз использования перфоратора на той же даче, при замешивании раствора и прочем — он уже давно окупился. А вот болгарка — нет, так как задач под нее до сих пор не нашлось (планировался перенос дверей, но так и не сделали). По этой же причине у меня нет дремеля, который я легко куплю по первой же необходимости работать именно им.
И вот когда клал ламинат, то купил самый дешевый лобзик, который окупился уже даже этим (ибо нанять человека на укладку ламината стоило сильно дороже) и который я потом так же гонял в хвост и гриву на даче. И да, например, если бы я постоянно собирал мебель или крутил саморезы, у меня был бы хороший шуруповерт, но пока для моих задач, в том числе на даче, мне всегда хватало отвертки и перфоратора с переходником на биты (вообще, перфоратор, это такая универсальная вещь!)

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

С учетом, что прочий перечисленный инструмент я не использую от слова совсем, так как отрасль моей деятельности — другая, то да, у меня нет микроскопа, осцилографа и пр.

Так что вообще-то это нормально иметь свои инструменты, занимаясь чем-либо. Более того, занимаясь той же мебелью, нормально иметь свои профессиональные и дорогущие инструменты, типа шурика или лобзика на порядок дороже дешевого шлака. Именно не в пару раз.

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

А мы тут обсуждаем использование проф.программы для программиста C++, который этим как бы зарабатывает себе на жизнь и который в идеале должен бы стремиться сделать свой код более стабильным и менее багнутым, но при этом не усложнить свою жизнь сверхмеры.

Интересно, найдет ли PVS-studio что-то важное, в коде, уже проверенном бесплатными анализаторами.


Нееет, естественно не найдет. Ведь все прочие разработчики, того же хрома, никогда в жизни не додумаются использовать статанализаторы кода, ага. Они ж тупые (читать голосом Задорнова).
Может внимательнее почитаете статьи, которые на хабре выкладываются? В нескольких из них я точно встречал упоминания, что код явно проверяется другими инструментами.
Кто лучше ищет сферические ошибки в вакууме — это неинтересно.

Если же вы считаете, что параллельная прогонка на нескольких проектах — это сферические поиск в вакууме, то мне даже не понятно, что вы хотите получить вообще? Просто поспорить?

Хотите для себя узнать — проверьте сами и принесите пользу сообществу. Хотите просто поболтать и посомневаться, не смотря на наличии кучи статей? Что ж, тогда извиняйте, не разделяю вашу точку зрения и на этом тогда считаю нужным прекратить.

Если вместо того, чтобы с 13-17 лет писать код до 23х лет сидеть за партой — то диплом, конечно, будет. А вот программер — уже не получиться.

Ох, уж эти сказочки! Ох, уж эти сказочники. (с)
Вот, кстати, в тут до этого спрашивали пруфы на исследования. Что ж, я возвращаю вам долг: а пруфы на исследования, подтверждающие ваше высказывания будут?
Так что ваши аналогии — лживы по той простой причине, что вы перечислили кучу инструмента, который далеко не всем нужен для жизни, работы и или хобби.

Дивитесь! я перечислил инструмент, используемый в нашей фирме именно при отладке программ. И не только в нашей — можете перепроверить у других embedчиков.

Болгарка и дремель используется на финальных стадиях отладки, когда нужно монтировать оборудование на трактор или тепловоз. Не все можно отладить в офисе или на автомобиле.

Паяльная станция — при отладке используется регулярно. Последний раз — дня 3 назад. Потребовалось мне часто делать RESET процессору — припаяли кнопочку.

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

Логический анализатор — незаменимый инструмент при отладке протоколов. Особенно — при общении с хитрыми микросхемами. Возьмите datasheet на любую микросхему — там обязательно будет временная диаграмма сигналов. И если микросхема не отвечает — первым делом снимается эта самая временная диаграмма.

JTAG вообще незаменим ничем. Как вы без него зальете прошивку на ПЛИС или некоторые модули микропроцессоров? Да и самый низкоуровневый код им отлаживается.

Осциллограф незаменим при отладке ошибок типа CRC error. Первое. что нужно сделать — это посмотреть форму сигналов. Могут быть заваленные фронты или звон…

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

А мы тут обсуждаем использование проф.программы для программиста C++, который этим как бы зарабатывает себе на жизнь

Ну вот я привел вам список наших профессиональных инструментов. Удивляет?

Меня тоже удивляет ваше понятие «программист С++». Потому что мы просто программисты и пишем на чем угодно. на Delphi, Си, shell, javscript, PHP, языках IEC 61131-3, языках ПЛИС., куче разных ассемблеров… по мне так, если человек умеет писать только на С++ — это не программер, а кодер. Потому что программеру почти все равно, на каком языке писать. Почти — потому что при переходе от процедурных языков к иным (FORTH, Ladder, LISP, APL...) приходится напрягать мозги.

Нееет, естественно не найдет.

Да нет, найти-то найдет, но важное ли? Ну знаю я, что если задать имя файла длиннее 4096 символов, программе станет очень плохо. Вот только, чтобы его задать — надо открыть корпус, спаять диагностические кабели и подключить их. а если уж подключили — так можно и свою собственную прошивку залить, чего мелочиться со взломом нашей?

Может внимательнее почитаете статьи, которые на хабре выкладываются?

Почитал. Ни одного embeded-проекта не проверено. и даже авторы PVS-studio сомневаются в его применимости в embeded.

Если же вы считаете, что параллельная прогонка на нескольких проектах — это сферические поиск в вакууме, то мне даже не понятно, что вы хотите получить вообще?

Хочу понять пользу для своих проектов. У каждого — свои стили написания и свои типичные ошибки в коде. Да и цена PVS-studio для мелкой фирмы очень велика. Так что оправдывает ли польза цену — вопрос открытый.

а пруфы на исследования, подтверждающие ваше высказывания будут?

Смотря про какие высказывания речь.

Вот фото с отладки на путеправильной машине.
image
image

Зачем там болгарка и дремель — думаю, что понятно. Да и осциллограф полезен — зависало там при переходе от аккумуляторов к дизелю, надо смотреть, что с напряжением твориться.

Вы напишите, какие высказывания надо подтверждать пруфами, я отвечу, есть у меня пруфы или нет…
Дивитесь! я перечислил инструмент, используемый в нашей фирме именно при отладке программ. И не только в нашей — можете перепроверить у других embedчиков.

Ага, но спросили почему-то именно у меня, купил ли я их уже себе. Не говоря ни слова про embeded, и не уточняя связан ли я как с ним. Более того, я же нигде вроде как не утверждал, что любой разработчик ОБЯЗАН был купить данную программу. Я просто последовательно придерживаюсь мнения, что в те времена 9к рублей не были даже близко какой-то серьезной суммой для тех, кто зарабатывает на C++.

При этом вы таки купили эти инструменты, поэтому я еще более не понимаю ваше ерничение. Ведь даже тогда данный набор инструментов стоил дороже 250$. Или данный набор инструментов помогает вам писать и отлаживать программы постоянно и на всех языках? (по-моему, в этом случае нагретый паяльник приложенный к нужному месту сработает намного лучше) Или каждый из них экономит вам две недели рабочего времени?
но важное ли?

Пффф, с точки зрения разработчиков важных ошибок вообще может не быть, ага. Например, наши постоянно удивляются, какого фига мы ставим важность «авария», если после их обновления всего лишь отвалилась подсистема печати и у нас начинаются проблемы с выдачей анализов пациентам.
А уж тем более, как могут быть важными десяток-два-сто предупреждений, которые всплыли не при поиске конкретного бага, а при работе проверяющей программы. Мелочь какая, ага. Ведь как-то же это работает.
Потому что мы просто программисты и пишем на чем угодно.

И шнец, и жнец, и на дуде игрец. А в реальности я не видел еще ни одного человека, который мог бы «писать на чем угодно» (слушайте, а как оно, писать на брейнфаке в эмбедед?). Обычно, достаточно ограниченный набор за хотя бы тот же год.

Да и цена PVS-studio для мелкой фирмы очень велика.

Так разговор во всей этой ветке был не о PVS. А о том, почему же не выстрелил CppCat — это разные суммы и разные программы.

А уж ваша мысль про стартап с анализами за 20-30$ — так тем более еще более утопичен. Разовые проверки никак глобально не улучшат качество написания кода в долгосрочных проектах (по хорошему, после исправления ошибок надо будет делать еще одну проверку и т.д.), а при этом есть еще и демо-версия. При этом, если у человека нет навыков и умений работы с таким анализом, то проверка пройдет, считай, в пустую.
Вы напишите, какие высказывания надо подтверждать пруфами, я отвечу, есть у меня пруфы или нет…


Прям чуть повыше моего вопроса, прям на пару строчек, была дословная цитата ваших слов в тегах quote
Более того, я же нигде вроде как не утверждал, что любой разработчик ОБЯЗАН был купить данную программу

Угу. Меня интересует, есть ли польза именно для нашей компании. С учетом текущей цены на PVS-studiobb и того, что покупается всего лишь годовая подписка.

Или данный набор инструментов помогает вам писать и отлаживать программы постоянно и на всех языках?

Угу. Осциллограф и паяльник — совсем языконезависимы. Кстати. PHP и javascript — это тоже embeded, web-интерфейс для управления береговой радиостанцией Сидит себе внутри железки C++ и PHP, а в браузере работает JS, HTML и CSS, загруженные с той же железки.

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

Так у вас программы или программно-аппаратные комплексы? Если комплексы — то осциллограф и паяльник нужен. Потому что за железо и связь железок друг с другом отвечаете тоже вы. Зато и железки подбираете такие, чтобы подсистема печати была сдублирована и не отваливалась. Ну, скажем, USB на одной машине, Wifi на второй, проводной ethernet на третьей. тогда сбой подсистемы печати на двух машинах из трех уже не страшен.

А о том, почему же не выстрелил CppCat — это разные суммы и разные программы

А скорее всего у него нету серьезных преимуществ перед бесплатным cppcheck.

Разовые проверки никак глобально не улучшат качество написания кода

Написания — не улучшат. Они просто помогут найти ошибки в самом коде. Довольно много программеров не умеет искать баги. И не понимает, как их найти.

См. пример авторов PVS-studio. Товарищи не поняли, что чтобы поймать проблемы с 64битными поинтерами, надо было просто откомпилироваться на 16бит. И большая часть проблем — просто вылезла бы явно.

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

Вы на это пруф хотите?
Если вместо того, чтобы с 13-17 лет писать код до 23х лет сидеть за партой — то диплом, конечно, будет. А вот программер — уже не получиться.

Доказательств нету. Есть примеры людей из обоих категорий. ну вот пример знакомого, программирующего за деньги с 13-14 лет. В 17 он был моим сотрудником. Хотя по хорошему — лучше было бы ему быть начальником, а мне его подчиненным. Ну это просто пруф, что такие бывают.
И шнец, и жнец, и на дуде игрец. А в реальности я не видел еще ни одного человека, который мог бы «писать на чем угодно» (слушайте, а как оно, писать на брейнфаке в эмбедед?). Обычно, достаточно ограниченный набор за хотя бы тот же год.

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

Из экзотики — ошибки можно исправлять и на неизвестном языке. 30 лет назад я сначала целый вечер правил деткам ошибки в их программах и только после отбоя сел читать описание языка фокал.

А за год — да, набор обычно ограниченный. Но 6-7 языков в одном проекте — да, бывает.
А вы не прикидывали, пойдёт ли вариант распространения продукта на подписках?
Как-то для pet-проектов 250$ — это дороговато.
«250$ даже для 2014 года — порой слишком дорого.»
250*35 = 8750.
Серьезно? Может тогда человеку стоило еще тогда сменить отрасль и уж тем более НЕ ПИСАТЬ на C++?

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

«вашего поделия»
Ваша непредвзятость заметна невооруженным взглядом. [/sarcazm_off]
Хотя, с учетом, что вы приходите погадитьоставлять подобные комментарии практически исключительно только под статьи в блоге PVS-Studio, трудно удивляться.
У вас давно уже сложилось мнение и вы используете любую причину дое… ся.
Ребят, давайте уже скинемся одной компании на 64 битный анализатор. А то слезы наворачиваются, когда видишь такую картину уже почти в 2017…
Картинка
image

Что хотите сказать этой картинкой?
кажись, что VS2015 32 битная

И Preview 17 тоже.

Что к чему...

НЛО прилетело и опубликовало эту надпись здесь
А что такого ужасного в этой картинке? У вас в исходниках много гигабайтных исходных файлов? Время компиляции не напрягает, нет?

64-бита — это, зачастую, никому не нужная роскошь. Огромное количество утилит и в XXII веке, подозреваю, будут оставаться 32-битными.

Конечно там, где это этого есть выигрыш 64-бита нужно использовать. Но всех туда загонять просто потому что вы это можете… зачем?

P.S. Вот 16-бит отошли в прошлое легко и не напрягаясь. Потому что набрать ручками текст > 64К — никогда не было проблемой. И ещё в 80е годы на 16-битных компьютерах на это натыкались сплошь и рядом. А вот 32-бита… нет, тут ситуация иная. Собственно потому компьютеры и начинались со всяких 32-битных и 36-битных систем, 8-битные и 16-битные появились позже, как попытка упихать что-то работающее в небольшое число транзисторов.

А почему тогда 95 процентов софта на маке и линуксе 64битные? Кажется мне это исключительного проблема винды

Можно ссылочку на статистику плиз

Все бинари в макоси, собранные для последних версий, начиная года с 2011 исключительно x86_64 или universal, который умеет обе архитектуры. Все дистрибутивы линукса со всем софтом полностью собраны для amd64, все новое проприетарное по тоже поставляется в amd64 архитектуре, даже скайп теперь amd64 only. Но точную статистику по макоси не скажу как и по линуксу.
i386 сейчас в основном используется для запуска wine.

А почему тогда 95 процентов софта на маке и линуксе 64битные?
Потому что в MacOS и Linux плохо с поддержкой 32-битных программ на 64-битных системах.

Кажется мне это исключительного проблема винды
Во-первых не проблема, а достоинство, а во-вторых — с Android такая же точно ситуация.

Собственно популярность винды во многом и обусловлена тем, что там разработчиков «калёным железом в рай» не загоняют…
НЛО прилетело и опубликовало эту надпись здесь
Спросите у ребят из JetBrains, например, как R# весело жилось в одном процессе с 32 битной VS. Вообще, эта проблема стоит остро у любой команды, которая пишет плагин. 3Gb адресного пространства доступно всего. Как правило 2 отъедает хост. Итого, на плагин остаётся всего лишь 1-1.5 Gb. Нам тоже пришлось поплясать с бубном при написании плагина к 32 битному ArcMap'y. Какого х, имея железо с 32Гб оперативной памяти, я вообще должен париться об этом?
А что такого ужасного в этой картинке?
А то, что MS — это компания, на которую, по идее, должны все равняться в Windows мире, а она уже как 10 лет не может выродить IDE, адекватное современным реалиям.
Да уж, сосулька…
Настоящая сосулина, разбившая, наверно, кондиционер до неремонтопригодности.
разбившая, наверно, кондиционер до неремонтопригодности.


Так и есть :-(.

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

НЛО прилетело и опубликовало эту надпись здесь
А вы отправили авторам Viva64 сообщение о найденных ошибках? :)
НЛО прилетело и опубликовало эту надпись здесь
В нашей компании, к сожалению, используется C++ Builder. (сожаление не потому, что билдер, а потому что PVS его не поддерживает).

Проверка проектов C++ Builder всё ещё возможна с помощью утилиты PVS-Studio Standalone. Можете попробовать проверить свой проект. Правда мы сейчас не тестируем этот режим работы, так как опять-таки нет никакого интереса со стороны сообщества разработчиков.

А не может анализатор существовать отдельно от среды разработки? Типа как отдельное приложение в которое накидал файлов *.cpp и пусть оно их жуёт. Пусть хоть и с некоторым ухудшением качества анализа.

Никакой нормальный анализ в таком режиме невозможен. Это будет не более чем баловство. Чтобы проводить настоящий анализ надо знать все типы классов, функций и т.п. На эту тему я как раз недавно написал статью, но она ещё не переведена, так что опубликую её только в следующем году.
Правда мы сейчас не тестируем этот режим работы,


Раньше проверял им проект из Qt Creator. Нашел два способа уронить PVS-Studio Standalone. К сожалению, сходу не вспомню. Что-то вроде начать анализ, нажать стоп и снова начать.
А разработчики cppchek то и не знают, что фигню делают…
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Помню ваши статьи про ошибки в 64-битных приложениях ещё на Intel Software Network. Спасибо за статью и успехов в новых направлениях! Даже если вы и повторяете в какой-то мере функционал R#, как пишут многие на Хабре, здоровая конкуренция не бывает вредной.

Молодцы! Очередное подтверждение, что чтобы добиться успеха, надо вкалывать :-)


На программе «Старт» мои знакомые тоже сидели много лет назад. Там были странные условия на фонд оплаты труда, можно было платить одному человеку не больше смешной суммы. Они нанимали фиктивных знакомых, которые числились в конторе, но ничего не делали и их зарплату руководство вытаскивало наличными, после чего уже можно было тратить на то что надо (пусть и за вычетом налогов).

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

А я помню статьи про появление VivaMP и его закрытие. Хотя к плюсам никакого отношения не имею. Просто читаю вас.

Там исходники первого Postal открыли — вот вам для следующей проверки =)
И ещё сделал обзорную презентацию о том, что представляет PVS-Studio на начало 2017 года. Можно быстро узнать, какие возможности предоставляет анализатор.
Решил послать весточку интересующимся анализатором PVS-Studio. Сегодня 06.03.2013 в 15.00 состоится пробный стрим, где можно будет вживую посмотреть на процесс работы PVS-Studio и интерактивно пообщаться. Присоединяйтесь к нашему стриму. Подробности (см. раздел Важно).
Упс. 06.03.2017. Опечаточка. :)
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.