Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!ecngs!feeder2.ecngs.de!217.188.199.168.MISMATCH!takemy.news.telefonica.de!telefonica.de!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; '(at': 0.04; 'heavily': 0.04; 'interfaces': 0.04; 'languages,': 0.04; 'represents': 0.05; 'subject:Python': 0.06; 'binary': 0.07; 'plenty': 0.07; 'bytes,': 0.09; 'encode': 0.09; 'handful': 0.09; 'if,': 0.09; 'newline': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'programs.': 0.14; '.py': 0.16; 'add,': 0.16; 'binary,': 0.16; 'equivalents': 0.16; 'example).': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'happily': 0.16; 'python),': 0.16; 'screen,': 0.16; 'work"': 0.16; 'wrote:': 0.18; 'thu,': 0.19; 'example': 0.22; 'cc:addr:python.org': 0.22; 'print': 0.22; 'certainly': 0.24; 'simpler': 0.24; 'text.': 0.24; 'typical': 0.24; 'unicode': 0.24; 'fairly': 0.24; 'fine': 0.24; 'cc:2**0': 0.24; 'sort': 0.25; 'options': 0.25; 'least': 0.26; 'header:In-Reply-To:1': 0.27; 'function': 0.29; 'chris': 0.29; 'unix': 0.29; 'primarily': 0.30; 'statement': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'code': 0.31; 'you?': 0.31; 'commonly': 0.31; 'subject:some': 0.31; 'there.': 0.32; 'figure': 0.32; 'quite': 0.32; 'text': 0.33; 'used,': 0.33; 'maybe': 0.34; 'problem': 0.35; 'info': 0.35; 'common': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'instances': 0.36; 'should': 0.36; 'files': 0.38; 'pm,': 0.38; 'anything': 0.39; 'expect': 0.39; "couldn't": 0.39; 'either': 0.39; 'read': 0.60; 'most': 0.60; 'more': 0.64; 'movie': 0.65; 'obvious': 0.74; 'etc,': 0.84; 'have?': 0.84; 'one).': 0.84; 'respectable': 0.84; 'serious.': 0.84; 'seriously,': 0.84; 'streams': 0.84; 'to:none': 0.92; 'imagine': 0.93 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=DTxge7+MaGJLx1siesRXDlF/cTzeR0+1ThSUhOk5WUI=; b=q7LJwpZwULMag8PDnk/6FgPk1P23PXGMdDuC9SioN5hu14Lp+DcRC2W7hioAYX9Zzs OxP3gmEnJT6qhUddXoRUDEd2UyAMrm0UW4wjSe++77eA9XJ/6DQUGyOLthOmPifohbNc bjepWHpyXe2RjD4BpQuCe6ypeP6qnaJpnJ70jdavT9QzzmgSmLX6WmbuPdBau6tfEkS0 FY9fMZ5PQ1sw8t2flAK4yJY+zKdYsDNtg6pbUwhRKqG7i7cgxoiNNMEHKs5Zy7qh9xXu Vhmj0WXjCPAK83IsR9YgrPgs5wS3BSEQ3JOWgOhw3yhzYaxqnFK6IkE1hvbJKy6uh5Kj 6wVQ== MIME-Version: 1.0 X-Received: by 10.220.81.194 with SMTP id y2mr9375806vck.29.1401957417311; Thu, 05 Jun 2014 01:36:57 -0700 (PDT) In-Reply-To: <871tv37pdt.fsf@elektro.pacujo.net> References: <538a8f48$0$29978$c3e8da3$5496439d@news.astraweb.com> <538bcfff$0$29978$c3e8da3$5496439d@news.astraweb.com> <538C5BB8.1020702@chamonix.reportlab.co.uk> <538f1a61$0$29978$c3e8da3$5496439d@news.astraweb.com> <87a99r7rmx.fsf@elektro.pacujo.net> <871tv37pdt.fsf@elektro.pacujo.net> Date: Thu, 5 Jun 2014 18:36:57 +1000 Subject: Re: Python 3.2 has some deadly infection From: Chris Angelico Cc: "python-list@python.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 54 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1401957426 news.xs4all.nl 2962 [2001:888:2000:d::a6]:43647 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:72692 On Thu, Jun 5, 2014 at 6:05 PM, Marko Rauhamaa wrote: > Chris Angelico : > >> If, in Python, I say print("Hello, world!"), I expect that to produce >> a line of text on the screen, without my code having to encode that to >> bytes, figure out what sort of newline to add, etc, etc. > > That example in no way represents the typical Python program (if there > is one). It's simpler than most, but use of print() is certainly quite common. A naive search of .py files in my /usr came up with five thousand instances of ' print(', and given that that search won't necessarily find a Python 2 print statement (and I'm on Debian Wheezy, so Py2 is the system Python), I think that's a fairly respectable figure. >> Only an extreme few Unix programs actually manipulate binary standard >> streams > > That's quite an assumption to make. Okay. Start listing some. You have (de)compression programs like gzip, which primarily work with files but can work with standard streams; some image or movie manipulation programs (eg avconv) can also read from stdin, although again, it's far more common to use files; cat will happily transmit binary untouched, but all its options (at least the ones I can see in my 'man cat') are for working with text. What else do you have? Let's see... grep, sort, less/more, sed, awk, these are all text manipulation programs. All your "give me info about the system" programs (ls, mount, pwd, hostname, date.......) print text to stdout. Some also read from stdin, like md5sum and related. Piles and piles of programs that work with text. A small handful that work with binary, and most of them are more commonly used directly with files, not with pipes. The most common case is that it all be text. >> we should have print() and input() "naturally just work" with Unicode > > No problem there. I couldn't imagine using either function for anything > serious. I don't know about those exact functions, but I do know that there are plenty of Python programs that use the console (take hg as one fairly hefty example). Maybe input() isn't all that heavily used, but certainly print() is a fine function. I can not only imagine using them seriously, I *have used* them, and their equivalents in other languages, seriously. If the standard streams are so crucial, why are their most obvious interfaces insignificant to you? ChrisA