Ну тут особо умным быть не надо, кури РЕР 8 и все будет хорошо, как говорится. И вообще это не "современные компиляторы", это "современные среды разработки" так делают.
"даже"? сукаблять, ты походу из тех долбоебов, которые описание к играм делают наподобие: "там можно спиздить ДАЖЕ туалетную бумагу", а на деле получается что только бумагу и можно спиздить. трейлерные педерасты. я не знаю как это назвать. но рчеь даже не об этом. ты реально считаешь подсчет пустых строк и колчиество символов в коментарии реально сложной аналитической проблемой? ты ваще олень? сложнее хеллоувролд писал ченить? с какого сегмента рынка? ты ваще кто по разработке? хуль такой дерзкий? россума знаешь, не? while раз, или списком в глаз?
Сами компиляторы мало умеют.
Есть специализированные статические анализаторы. Для C и C++ - бесплатный Clang Static Analyzer, если готов платить, то наш PVS-Studio тот же. Если вообще богатый буратино - Coverity от Синопсиса. Последний и в динамический умеет.
Если б компилятор все отлавливал, всякие qa да и куча девелоперов не нужна была б. С работой бы справлялась стая обезьян с томом Страуструпа и нещадно пизженая тех лидом.
Протестую! В статически типизированном языке (не уверен, что среди компилируемых есть другие) компилятор будет находить ошибки типов. И чем более "крутая" в языке система типов, тем большего количества логических и прочих ошибок можно избежать. Например, у вас есть метод, который ищет в базе пользователя и возвращает что-то вроде Optional, а другой метод принимает User. Хочешь не хочешь, это придется обработать. Вот, минус один потенциальный NullReferenceError.
Кроме того, как выше заметили, современных компиляторы (тот же gcc/g++) очень продвинутые и находят большое количество возможных косяков. Например: некорректное обращение к массивам статических размеров, если это можно вычислить, неправильные форматные строки, многие случаи неправильных указателей, могут ругаться на устаревшие небезопасные методы итп итд.
Ну, вообще-то компилятор тупо выполняет свою работу по трансформации одного кода в другой. И все бы ничего, но синтаксические ошибки не дают ему этого сделать, вот он и ругается
ты так это подаешь, как будто компилятор – какой-то перекодировщик просто.
к счастью, существуют не только синтаксические ошибки, и ради них конечно языки программирования и изобретаются. сиречь, ошибки системы типов, ошибки целостности любых ссылок или скоупов.
One morning you wake up find out you have access to God’s developer console. What’s the first thing you do with this power?
Discussion
♦ 154 + W 479 & Share
^ BEST COMMENTS ▼
I like forks • 5h
hehe3301 • 7h
sudo rm -rf oceans/*/contents/
*.plástic
sudo rm -rf people/*/*.cáncer sudo rm -rf v
Есть специализированные статические анализаторы. Для C и C++ - бесплатный Clang Static Analyzer, если готов платить, то наш PVS-Studio тот же. Если вообще богатый буратино - Coverity от Синопсиса. Последний и в динамический умеет.
Кроме того, как выше заметили, современных компиляторы (тот же gcc/g++) очень продвинутые и находят большое количество возможных косяков. Например: некорректное обращение к массивам статических размеров, если это можно вычислить, неправильные форматные строки, многие случаи неправильных указателей, могут ругаться на устаревшие небезопасные методы итп итд.
к счастью, существуют не только синтаксические ошибки, и ради них конечно языки программирования и изобретаются. сиречь, ошибки системы типов, ошибки целостности любых ссылок или скоупов.
А может и не быть, ёпта.