This reminds me a bit of how routine spelling checkers and often especially grammar checkers, generate so many suggestions about mistakes as to become ignored. If you are writing using lots of names and jargon that keep getting flagged as errors and they are spelled or used exactly as you want, then it gets to be too annoying and you turn off the feature. Yes, you can sometimes silence some things in a spell checker that allows you to add words to a custom dictionary but for now, that dictionary is not known to every application that checks your spelling.
That can be the nature of the beast. If your compiler decides to warn you every time you do a division that you might be dividing by zero because you do not perform the test right before that, then you end up with code that tests it AGAIN after having arranged for the value to never be zero in the first place, then test it again when you divide something else by it, ... I am sure some programming language has some kind of pragma that lets you whisper to the compiler that this variable at this time is guaranteed not to be zero, or that the region is in a try/catch zone which will intercept and fix the results of a divide by zero error. Just an example. And as you say, new or improved compilers can be made to be ever more picky about trying to find possible anomalies. Things are useful when they are somewhat manageable. If a compiler things it detects 372 places in your code where the same thing needs to be mentioned, such as reserving space for an object without simultaneously filling it with some contents, then it would be nice if instead of printing ALL of them, it consolidated it into one warning and say you can click on something to see the 372 instances. -----Original Message----- From: Python-list <python-list-bounces+avi.e.gross=gmail....@python.org> On Behalf Of Chris Angelico Sent: Saturday, August 6, 2022 8:12 AM To: python-list@python.org Subject: Re: Trying to understand nested loops On Sat, 6 Aug 2022 at 22:08, Richard Damon <rich...@damon-family.org> wrote: > > On 8/6/22 12:01 AM, Chris Angelico wrote: > > On Sat, 6 Aug 2022 at 13:54, Dan Stromberg <drsali...@gmail.com> wrote: > >> On Fri, Aug 5, 2022 at 12:54 PM Grant Edwards > >> <grant.b.edwa...@gmail.com> > >> wrote: > >> > >>> In C, this doesn't do what it looks like it's supposed to do. > >>> > >>> if (foo) > >>> do_this(); > >>> and_this(); > >>> then_do_this(); > >>> > >> It's been quite a while since I used C, but with the right compiler > >> flag(s), I think this may be a thing of the past when compiling with gcc: > >> https://developers.redhat.com/blog/2016/02/26/gcc-6-wmisleading-ind > >> entation-vs-goto-fail > > Ah yes, because compiler warnings are always viewed and acted upon. > > > > Have you ever watched the compilation of a large open-source > > project, done using the project's own build system and therefore the > > team's preferred warning settings? It's normal to have such a spew > > of warnings that you can't find anything interesting, or to have new > > warnings in new versions of GCC be utterly useless for the same > > reason. > > > > ChrisA > > You make it so you HAVE to fix the warning by adding the option to > make warnings into errors. > > This does mean that you need to fix all the warnings that don't > actually mean anything, > > Good code shouldn't generate many warnings, either you have warnings > enabled that you don't care about, or your code is doing things you > have told the complier you shouldn't do. > I say again: have you ever watched the compilation of a large open-source project? You cannot turn warnings into errors, because there are ALWAYS warnings. Maybe, once upon a time, the policy was to ensure that there were no warnings on any major compiler; but times change, compilers add new warnings, new compilers join the club, and it becomes practically impossible to prevent warnings. Which, in turn, makes all warnings basically meaningless. Hmm. I don't think I've ever compiled gcc from source. Maybe I should do that, just to see whether gcc itself compiles with no warnings under gcc. ChrisA -- https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list