Прощаи робот-да здравствует маразм - страница 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 компилятор можно не менять.