Path: csiph.com!usenet.pasdenom.info!news.redatomik.org!newsfeed.xs4all.nl!newsfeed1a.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.003 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'python,': 0.02; 'subject:Windows': 0.02; 'interfaces': 0.04; 'subject:PEP': 0.07; 'subject:support': 0.07; 'subject:using': 0.09; 'api': 0.11; 'cc:addr:python-list': 0.11; 'python': 0.11; 'language,': 0.12; 'translation': 0.12; 'ah,': 0.16; 'devise': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'subject: \n ': 0.16; 'subject:API': 0.16; 'essential': 0.16; 'all.': 0.16; 'language': 0.16; 'wrote:': 0.18; 'code.': 0.18; 'library': 0.18; 'bit': 0.19; "python's": 0.19; 'written': 0.21; 'example': 0.22; 'programming': 0.22; 'cc:addr:python.org': 0.22; 'closely': 0.24; 'library,': 0.24; 'passes': 0.24; "shouldn't": 0.24; 'subject: .': 0.24; 'cc:2**0': 0.24; 'script': 0.25; 'header :In-Reply-To:1': 0.27; 'am,': 0.29; 'message-id:@mail.gmail.com': 0.30; 'along': 0.30; 'code': 0.31; 'layer': 0.31; 'mirror': 0.31; 'pipe': 0.31; 'fri,': 0.33; 'actual': 0.34; 'subject:from': 0.34; 'could': 0.34; 'something': 0.35; 'case,': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'add': 0.35; 'executing': 0.36; 'should': 0.36; 'level': 0.37; 'process,': 0.38; 'whatever': 0.38; 'that,': 0.38; 'channel': 0.39; 'greatest': 0.60; 'simple': 0.61; "you're": 0.61; 'back': 0.62; 'high': 0.63; 'our': 0.64; 'become': 0.64; 'more': 0.64; 'different': 0.65; 'between': 0.67; 'facilities': 0.69; 'fact,': 0.69; 'goal': 0.75; '2015': 0.84; 'compiles': 0.84; 'subject:skip:F 10': 0.84; 'whereas': 0.91; 'to:none': 0.92; 'differences': 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=uFUCV33NpUcSmTbJd+TKt67H6BW7l0VDoOBB9MgU1YM=; b=hGEMLrXCcbEFb9koxWynAYYcewDWDBk7636wmXYjCcVh3ypXsHE9WXIrhe/Ad7WxaL PjAHuDTYFoTlptIfFXVKQSq/deNlU/SO/uVSqjKbxBhlnRcsiCQQDxp8N4mXfh8B4C8m eBVW/ciTmEdGyx80767W0FIIltear0gRG/TXj2RxMfiPMPULRunbd8/kwNZ613q4aG2d OJzzq6AnHGi59euQcSRr/ymFXTEwh6AbMzQi5p0S1bYJllNSZBJlGEuFoKZglaj9FZb4 LZwunLQVECkp3UYPvJt7rHNDBQ1T3Ydx0WjnvuclZ1p8cQwCYiH1hGZT3CWLBoXutXeZ OyjA== MIME-Version: 1.0 X-Received: by 10.43.39.1 with SMTP id tk1mr1631042icb.26.1431049800247; Thu, 07 May 2015 18:50:00 -0700 (PDT) In-Reply-To: <8761845s2c.fsf@elektro.pacujo.net> References: <554AB8A5.708@davea.name> <554adcf8$0$11103$c3e8da3@news.astraweb.com> <1c51085e-7795-4afc-9a4c-ad8b3f3a73a6@googlegroups.com> <87ioc4k89v.fsf@elektro.pacujo.net> <554B4C49.7010500@davea.name> <87a8xgk1ad.fsf@elektro.pacujo.net> <876184jyd4.fsf@elektro.pacujo.net> <8761845s2c.fsf@elektro.pacujo.net> Date: Fri, 8 May 2015 11:50:00 +1000 Subject: Re: PEP idea: On Windows, subprocess should implicitly support .bat and .cmd scripts by using FindExecutable from win32 API 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.20+ 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: 32 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1431049809 news.xs4all.nl 2948 [2001:888:2000:d::a6]:48515 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:90110 On Fri, May 8, 2015 at 1:24 AM, Marko Rauhamaa wrote: >> That's Python's job. Abstracting away all those differences so you >> don't have to look at them. > > That's the difference between our opinions: you want Python to work the > same on different OS's. I want Python's system programming facilities to > closely mirror those of C. In that case, what you should do is devise an alternative language that compiles as a thin layer over C. Have a simple translation script that turns your code into actual C, then passes it along for compilation. You could add whatever Python-like features you want (memory management, maybe), but still be executing as C code. But you don't want a high level language, if your greatest goal is "closely mirror C". > Take your example of subprocess.Popen. It may be essential to know that > the communication channel is a pipe with standard pipe semantics. The > child program might not be written in Python, after all. In fact, at > system design level you shouldn't care what language you use as long as > the communication interfaces are specified. Ah, but that's a completely different thing. If you're working with a child that isn't written in Python, then you're not working at the level of the multiprocessing library - you're working with "I need to give this something on its stdin and get the result back from its stdout". For that, yes, you need something a bit more concrete; but now it's become part of the API for that child process, whereas the example I was giving was about the multiprocessing library, where it's part of the implementation. ChrisA