Прощаи робот-да здравствует маразм - страница 9

 
C-4:
Вот люди чудаки. Борются такие донкихоты с компилятором как с ветряной мельницей не понимая главного: компилятор ваш союзник! Радуйтесь, что компилятор ругается на потенциально опасные участки кода. Радуйтесь даже тогда, когда приложение вылетает сразу после запуска с указанием строки ошибки. Но не дай вам бог получить неуправляемый код, когда ошибок и предупреждений никаких нет, и программа работает внешне нормально, но время от времени начинают появляться странные глюки, причина которых нигде не прослеживается. В такие моменты покрываешься испаренной и начинаешь мечтаешь об ошибках типа "invalid pointer" или "деления на ноль".

Компилятор компилятору, оказывается, - рознь. Вот, Intel'овский компилятор C/C++ - союзник. Хочется ремарки, - пожалуйста. Не хочется, - да нет проблем. Хочется некоторые ремарки отключить, - стоит только назвать, какие.

А есть более другие компиляторы. Которые - "а мало ли, что хочется".

Радоваться уместно, когда компилятор - союзник, когда он "слушается". А также, когда удаётся воздержаться от создания неуправляемого кода. Тогда и мысли о таких странных мечтах не будут приходить в голову.

 
Andrei01:

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

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

Я так понимаю, что после знакомства со статическими анализаторами у некоторых будет истерика.

Но только после этого наступает понимание, что должен (именно должен) делать компилятор. Сейчас 2014 год, а обычные компиляторы по уровню контроля качества отстают лет на 10 минимум и концентрируются лишь на оптимизациях.

Для информации: интеловый С++ компилер еще не отошел от своих болячек - постоянно выдает internal compiler error на наших проектах. То есть, не пережевывает больших проектов и выдает свои собственные ошибки. Да и мифы про его экстраординарные оптимизирующие свойства уже устарели - все остальные подтянули свой уровень оптимизации здорово.

На таком опасном и самоубийственном языке как С++, дается столько ключей и отключей компиляции для того, чтобы во всем уверенные программисты могли скомпилировать тонны старинного и скопированного неизвестно откуда кода без нервных судорог :)

 
Andrei01:

...

Опять же профессиональные программисты на предупреждения обычно не смотрят...

В анналы!!!
 
C-4:
В анналы!!!
По существу дела можете что-то сказать если без клоунства?
 
Renat:
Могли бы вы порекомендовать среду, компилятор и настройки для оптимального написания (скорость/оптимизация + выявление ошибок и т.д.) программ на C++ и других языках?
 
bxa29869:
Могли бы вы порекомендовать среду, компилятор и настройки для оптимального написания (скорость/оптимизация + выявление ошибок и т.д.) программ на C++ и других языках?
Visual Studio как?
 
_new-rena:
Visual Studio как?

Пробовал, нормально. Но мне не с чем сравнить. А хотелось бы программить на оптимальной инфраструктуре.

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

 
bxa29869:
Могли бы вы порекомендовать среду, компилятор и настройки для оптимального написания (скорость/оптимизация + выявление ошибок и т.д.) программ на C++ и других языках?

Рекомендую для профессиональной разработки:

  • Visual Studio 2012 и выше
  • бесплатный CPP Check обязательно
  • PVS Studio (полный платный, можно дешевую версию CPP Cat) - категорически нужен, если речь идет о профессиональной разработке
  • PC Lint (платный, но дешевый, хорош для автоматических прогонов, быстрый, требует надстройки или гуй как VisualLint)
  • C++ Memory Validator (там целый пакет программ, платный, недорогой, очень эффективный для оптимизации ресурсов и поиска ошибок)
  • Intel Parallel Studio (дорого, тормозно, глюкав как компилер, бесполезен на масс маркете, хорош мат библиотеками, подходит для глубокого тюнинга, мне откровенно не нравится)
 
Спасибо! Выходит заодно, что штатный Visual Studio компилятор можно не менять.
Причина обращения: