Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #86869
| Path | csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Christian Gollwitzer <auriocus@gmx.de> |
| Newsgroups | comp.lang.python |
| Subject | Re: Python Worst Practices |
| Date | Tue, 03 Mar 2015 23:46:47 +0100 |
| Organization | A noiseless patient Spider |
| Lines | 37 |
| Message-ID | <md5djb$rtf$1@dont-email.me> (permalink) |
| References | <mclca6$iie$1@ger.gmane.org> <mailman.19318.1425072098.18130.python-list@python.org> <54f1154c$0$12985$c3e8da3$5496439d@news.astraweb.com> <d975f577-03e4-4125-97ee-853a8e177e0f@googlegroups.com> <mailman.19327.1425087893.18130.python-list@python.org> <md3sk8$4p8$1@dont-email.me> <mailman.11.1425381138.21433.python-list@python.org> |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 7bit |
| Injection-Date | Tue, 3 Mar 2015 22:46:04 +0000 (UTC) |
| Injection-Info | mx02.eternal-september.org; posting-host="52ac7a71250a76d941bcb5c514e0f16a"; logging-data="28591"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18aPvuxh5beYKR7hG0pEzva93ea2n/4+mQ=" |
| User-Agent | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 |
| In-Reply-To | <mailman.11.1425381138.21433.python-list@python.org> |
| Cancel-Lock | sha1:WUj2VDZQfXZv1Gulli0WY7sAsfQ= |
| Xref | csiph.com comp.lang.python:86869 |
Show key headers only | View raw
Am 03.03.15 um 12:12 schrieb Chris Angelico: > On Tue, Mar 3, 2015 at 7:51 PM, Christian Gollwitzer <auriocus@gmx.de> wrote: > >> Are you trying to pick on C++ streams? I could never understand why >> anybody has problems with an arrow << that means "put into the left >> thing" instead of "shift the bits to the left". How often do you use >> bitshift operations in your programs as opposed to output? Ot would be >> equally silly to complain, that in Python you divide a string by a >> tuple, and the modulus gives you a formatted string. > > I am, yes. Both your examples seem lovely and simple when you first > look at them, but operator precedence means you get weird edge cases. > In the case of string modulo, there's another edge case as a > consequence of the operator being, by necessity, binary. A function > call makes better sense here. I can agree with the argument that operator precedence can make problems; e.g. this cout<<a==b; does not output the truth value of a==b, but instead outputs a and compares the stream to b (which will usually fail to compile, but still). But the argument that << is a left-shift and nothing else is silly. << for bitshift is nothing more intuitive than % for modulus (where in math does this symbol occur?) or [] for indexing. We just got used to it, and to me << as an arrow for putting someting into a stream seems pretty obvious. > Operator overloading in each case here is "cute", not optimally practical. Maybe just sub-optimal? With today's C++ one could use a variadic template and still have type-safe compile-time bound output formatting. This hasn't been possible in the original iostream library back then. Christian
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: Python Worst Practices Travis Griggs <travisgriggs@gmail.com> - 2015-02-27 13:21 -0800
Re: Python Worst Practices Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-28 12:09 +1100
Re: Python Worst Practices sohcahtoa82@gmail.com - 2015-02-27 17:32 -0800
Re: Python Worst Practices Chris Angelico <rosuav@gmail.com> - 2015-02-28 12:44 +1100
Re: Python Worst Practices Christian Gollwitzer <auriocus@gmx.de> - 2015-03-03 09:51 +0100
Re: Python Worst Practices Chris Angelico <rosuav@gmail.com> - 2015-03-03 22:12 +1100
Re: Python Worst Practices Christian Gollwitzer <auriocus@gmx.de> - 2015-03-03 23:46 +0100
Re: Python Worst Practices Chris Angelico <rosuav@gmail.com> - 2015-03-04 10:12 +1100
Re: Python Worst Practices Christian Gollwitzer <auriocus@gmx.de> - 2015-03-04 21:27 +0100
Re: Python Worst Practices Dan Sommers <dan@tombstonezero.net> - 2015-02-28 04:42 +0000
Re: Python Worst Practices Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-28 17:36 +1100
Re: Python Worst Practices Dan Sommers <dan@tombstonezero.net> - 2015-02-28 07:50 +0000
Re: Python Worst Practices Chris Angelico <rosuav@gmail.com> - 2015-02-28 19:55 +1100
Re: Python Worst Practices Ethan Furman <ethan@stoneleaf.us> - 2015-02-27 23:51 -0800
Re: Python Worst Practices Marko Rauhamaa <marko@pacujo.net> - 2015-02-28 10:50 +0200
Re: Python Worst Practices Ian Kelly <ian.g.kelly@gmail.com> - 2015-02-28 01:48 -0700
Re: Python Worst Practices Chris Angelico <rosuav@gmail.com> - 2015-02-28 19:58 +1100
Re: Python Worst Practices Tim Chase <python.list@tim.thechases.com> - 2015-02-27 21:50 -0600
Re: Python Worst Practices Cousin Stanley <cousinstanley@gmail.com> - 2015-02-28 09:03 -0700
Re: Python Worst Practices Rustom Mody <rustompmody@gmail.com> - 2015-02-28 08:16 -0800
Re: Python Worst Practices MRAB <python@mrabarnett.plus.com> - 2015-02-28 17:56 +0000
Re: Python Worst Practices Ethan Furman <ethan@stoneleaf.us> - 2015-02-28 10:13 -0800
Re: Python Worst Practices Tim Chase <python.list@tim.thechases.com> - 2015-02-28 12:30 -0600
Re: Python Worst Practices Tim Chase <python.list@tim.thechases.com> - 2015-02-28 12:39 -0600
Re: Python Worst Practices BartC <bc@freeuk.com> - 2015-02-28 10:39 +0000
Re: Python Worst Practices Chris Angelico <rosuav@gmail.com> - 2015-02-28 23:45 +1100
Re: Python Worst Practices Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-03-01 13:29 +1300
csiph-web