code review
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Sun Jul 1 05:23:20 CEST 2012
On Sun, 01 Jul 2012 10:37:05 +1000, Chris Angelico wrote:
> On Sun, Jul 1, 2012 at 10:08 AM, Ben Finney <ben+python at benfinney.id.au>
> wrote:
>> Thomas Jollans <t at jollybox.de> writes:
>>
>>> My sole point, really, is that "normally", one would expect these two
>>> expressions to be equivalent:
>>>
>>> a < b < c
>>> (a < b) < c
>>
>> What norm gives you that expectation? That's not how those operators
>> work in mathematical notation. I know of no programming language that
>> would give a newcomer to Python that expectation. So where is the norm
>> you're referring to?
>
> C, SQL, REXX, and many other languages.
All the worse for those languages, since they violate the semantics of
mathematical notation.
The more I learn about C, the less I want to know about C. What sort of
crazy language designer thought that having
2 == 2 == 2
return 0 (false) was a good idea? At least Pascal gives an error, since
you can't compare bools with longints, and forces you to write:
(2 = 2) and (2 = 2)
Sheer craziness for C to abuse mathematical notation like that. But what
is one to expect from a language where
(unsigned)-1 == -1
apparently is true.
http://nitoprograms.blogspot.com.au/2011/05/signed-and-unsigned-
comparisons-in-c-c.html
--
Steven
More information about the Python-list
mailing list