Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #53907
| From | Ben Finney <ben+python@benfinney.id.au> |
|---|---|
| Subject | Re: Language design |
| Date | 2013-09-10 17:07 +1000 |
| References | <522eb795$0$29999$c3e8da3$5496439d@news.astraweb.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.201.1378796842.5461.python-list@python.org> (permalink) |
Steven D'Aprano <steve@pearwood.info> writes: > What design mistakes, traps or gotchas do you think Python has? * Imports are fiendishly complex, hidden below deceptively simple syntax. It's a reasonable expectation that one can import a module from a source code file given its path on the filesystem, but this turns out to be much more complicated than in many other languages. There are reasons for this, some good, some merely historical baggage, some workarounds for OS misdesign, and some that may be Python's own mistakes. Those reasons are difficult to appreciate when first encountering the problem. * Somewhat related, and not really part of language design: The import mechanism and the packaging tools are woefully behind the state of the art in getting applications and their libraries to cooperate with operating system package management. This has the terrible effect that developers choose to insulate Python from the operating system, essentially losing all the benefits of the operating system package manager for their dependencies and needing to re-implement package management all over again, badly. This is largely the fault of operating systems with package dependency managers that are poor (Apple's) to nonexistent (Microsoft's). But the result is that Python's tools have been particularly woeful in this area compared to some other languages, and the Python community now has learned to subvert all OS package managers, even the good ones. > Gotchas are not necessarily a bad thing, there may be good reasons for > it, but they're surprising. * Python requires every programmer to know, or quickly learn, the basics of Unicode: to know that text is not, and never will be again, synonymous with a sequence of bytes. This is, in the long run, a good thing for all programmers and those who will use their programs. Programmers should expect to deal with non-ASCII text earlier than the innocent might suppose, and the likelihood goes up all the time. The sooner we replace the erroneous “text is ASCII” in the common wisdom with “text is Unicode”, the better. Nevertheless, the outstanding robustness of Python's Unicode support is different from most languages, and so is a gotcha. -- \ “Life does not cease to be funny when people die any more than | `\ it ceases to be serious when people laugh.” —George Bernard Shaw | _o__) | Ben Finney
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Language design Steven D'Aprano <steve@pearwood.info> - 2013-09-10 06:09 +0000
Re: Language design diverman <pavel@schon.cz> - 2013-09-09 23:59 -0700
Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-10 17:07 +1000
Re: Language design Nobody <nobody@nowhere.com> - 2013-09-11 01:03 +0100
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-11 00:53 +0000
Re: Language design Nobody <nobody@nowhere.com> - 2013-09-12 18:23 +0100
Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-10 09:58 +0200
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-10 20:20 +1000
Re: Language design Chris Rebert <clp2@rebertia.com> - 2013-09-10 18:46 -0700
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-11 14:21 +1000
Re: Language design Burak Arslan <burak.arslan@arskom.com.tr> - 2013-09-11 13:38 +0300
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-11 14:32 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 00:46 +1000
Re: Language design Wayne Werner <wayne@waynewerner.com> - 2013-09-11 06:42 -0500
Re: Language design Dave Angel <davea@davea.name> - 2013-09-11 12:05 +0000
Re: Language design Ethan Furman <ethan@stoneleaf.us> - 2013-09-11 07:52 -0700
Re: Language design Burak Arslan <burak.arslan@arskom.com.tr> - 2013-09-11 18:41 +0300
Re: Language design Markus Rother <python@markusrother.de> - 2013-09-11 22:41 +0200
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-11 23:40 +0000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 14:22 -0700
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 14:30 -0700
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-11 23:40 +0000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:49 -0700
Re: Language design Steven D'Aprano <steve@pearwood.info> - 2013-09-12 05:33 +0000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-12 20:23 -0700
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-13 05:08 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-13 17:39 +1000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-14 19:37 -0700
Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-15 09:57 +0200
Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-11 21:40 -0400
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 11:41 +1000
Re: Language design Ethan Furman <ethan@stoneleaf.us> - 2013-09-11 14:15 -0700
RE: Language design "Prasad, Ramit" <ramit.prasad@jpmorgan.com.dmarc.invalid> - 2013-09-11 21:56 +0000
Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 09:16 +1000
Please omit false legalese footers (was: Language design) Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 09:22 +1000
Re: Please omit false legalese footers (was: Language design) Grant Edwards <invalid@invalid.invalid> - 2013-09-12 20:12 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 09:27 +1000
Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 09:19 +1000
Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-11 19:51 -0400
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:25 -0700
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 10:31 +1000
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-12 02:33 +0000
Re: Language design Roy Smith <roy@panix.com> - 2013-09-11 22:43 -0400
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 12:58 +1000
Re: Language design Steven D'Aprano <steve@pearwood.info> - 2013-09-12 05:08 +0000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:34 -0700
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-11 17:37 -0700
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-12 10:40 +1000
Re: Language design Benjamin Kaplan <benjamin.kaplan@case.edu> - 2013-09-11 17:54 -0700
Re: Language design Ben Finney <ben+python@benfinney.id.au> - 2013-09-12 10:57 +1000
Re: Language design Joshua Landau <joshua@landau.ws> - 2013-09-12 05:17 +0100
Re: Please omit false legalese footers (was: Language design) Skip Montanaro <skip@pobox.com> - 2013-09-12 04:27 -0500
Re: Please omit false legalese footers (was: Language design) Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-09-12 10:44 +0100
Re: Language design Markus Rother <python@markusrother.de> - 2013-09-12 19:51 +0200
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-12 18:06 +0000
Re: Language design Markus Rother <python@markusrother.de> - 2013-09-12 20:13 +0200
Re: Language design Markus Rother <python@markusrother.de> - 2013-09-12 20:24 +0200
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-12 19:18 +0000
Re: Language design Ethan Furman <ethan@stoneleaf.us> - 2013-09-12 11:05 -0700
Re: Language design Ned Batchelder <ned@nedbatchelder.com> - 2013-09-12 14:37 -0400
Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-12 14:46 -0400
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-13 07:53 +1000
Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-13 09:04 +0200
Re: Language design Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-09-13 10:13 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-13 21:16 +1000
Re: Language design Antoon Pardon <antoon.pardon@rece.vub.ac.be> - 2013-09-13 13:28 +0200
Re: Language design Terry Reedy <tjreedy@udel.edu> - 2013-09-13 15:32 -0400
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-14 09:57 +1000
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-18 14:57 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-19 01:02 +1000
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-18 15:08 +0000
Re: Language design Chris Angelico <rosuav@gmail.com> - 2013-09-19 01:12 +1000
Re: Language design William Ray Wing <wrw@mac.com> - 2013-09-18 12:58 -0400
Re: Language design wxjmfauth@gmail.com - 2013-09-18 10:45 -0700
Re: Language design Neil Cerutti <neilc@norwich.edu> - 2013-09-18 17:55 +0000
Re: Language design Mark Janssen <dreamingforward@gmail.com> - 2013-09-13 17:28 -0700
Re: Language design Vito De Tullio <vito.detullio@gmail.com> - 2013-09-14 07:25 +0200
csiph-web