Path: csiph.com!usenet.pasdenom.info!aioe.org!news.stack.nl!newsfeed.xs4all.nl!newsfeed4.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.004 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'output': 0.05; 'subject:Python': 0.06; 'compiler': 0.07; 'revision': 0.07; 'string': 0.09; '2to3': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'wrote': 0.14; '2.7': 0.14; "wouldn't": 0.14; '(modulo': 0.16; 'backward': 0.16; 'backwards': 0.16; 'exceptions,': 0.16; 'fine.': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'gonna': 0.16; 'identifiers': 0.16; 'interpreter,': 0.16; 'keyword,': 0.16; 'subject:Was': 0.16; 'language': 0.16; 'wrote:': 0.18; 'bit': 0.19; 'basically': 0.19; 'separate': 0.22; 'cc:addr:python.org': 0.22; 'bytes': 0.24; 'mon,': 0.24; 'cc:2**0': 0.24; 'supported': 0.26; 'header:In- Reply-To:1': 0.27; 'am,': 0.29; 'unix': 0.29; '2.3': 0.30; 'cool': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'code': 0.31; 'too.': 0.31; 'pipe': 0.31; 'probably': 0.32; 'compatible': 0.32; 'run': 0.32; 'says': 0.33; 'bugs': 0.33; "i'd": 0.34; 'subject: (': 0.35; "can't": 0.35; 'problem.': 0.35; 'something': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'next': 0.36; 'effort': 0.37; 'two': 0.37; 'easily': 0.37; '12,': 0.39; 'sure': 0.39; 'major': 0.40; 'how': 0.40; 'skip:u 10': 0.60; 'cost.': 0.60; 'hardware': 0.61; 'today.': 0.61; 'simply': 0.61; "you'll": 0.62; 'subject:The': 0.64; 'more': 0.64; 'here': 0.66; 'latest': 0.67; "today's": 0.70; 'subject:have': 0.80; 'around,': 0.84; 'cheating': 0.84; 'old,': 0.85; 'to:none': 0.92; 'light.': 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=12RtTPTxp1yb85LEcCZpVbNp/P8cs+5gKw21UhT79dA=; b=Tm1oIe8zL1wXtOo2/awYdzUJh4Pj+zf06oMWPPRfrslN5MYrfd66Gk3aetdcSkVlL0 HbkYlmTiT06v4v8N0xhhMmyKSrZBrg8iqqy2+L1EbdgPpkJ5PllTjnfrV3BXaGEKJtCJ rf0YhOZjbUYWwaht74sX+rO/XxfpnqTX3E+QycCgB34dCGTit7+bfAu7r19rvs6DXpLa h+JI9Ib+87a89JnKdPKYfQm8lRUsQbh/weR2B405LCdTfNnlYuxdXy7GOjmILK1kp05X vXzy2F0C2sAJpBnLzTG/5AYaF00CnrBggAjCo7OnaFQO10uWQkxzSWS0KmkR2CxFRiEB WS9g== MIME-Version: 1.0 X-Received: by 10.58.187.165 with SMTP id ft5mr431136vec.47.1399826533734; Sun, 11 May 2014 09:42:13 -0700 (PDT) In-Reply-To: <20140511160952.GA5383@tau1.ceti.pl> References: <87ha50hagu.fsf@elektro.pacujo.net> <536b8411$0$29965$c3e8da3$5496439d@news.astraweb.com> <536b9308$0$29965$c3e8da3$5496439d@news.astraweb.com> <536bab23$0$29965$c3e8da3$5496439d@news.astraweb.com> <536f2227$0$29980$c3e8da3$5496439d@news.astraweb.com> <20140511160952.GA5383@tau1.ceti.pl> Date: Mon, 12 May 2014 02:42:13 +1000 Subject: Re: Fortran (Was: The "does Python have variables?" debate) 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: 33 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1399826542 news.xs4all.nl 2971 [2001:888:2000:d::a6]:40240 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:71325 On Mon, May 12, 2014 at 2:09 AM, Tomasz Rola wrote: > Given that Fortran is here for almost 60 years and lot of effort has > been spent to keep it backwards compatible (AFAIK), I wouldn't hold my > breath. Something may look like cool and great, but wait ten years and > see if after major language revision you can still (more or less) > easily run your existing huge projects with it. The Unix pipe system is still working beautifully, and will continue to do so for the next few decades. Build your system as a number of separate processes that pipe data from one into another, keep your old interpreters and compilers around, and you'll be fine. But retaining that backward compatibility is a huge cost. Sixty years ago's hardware wasn't the same as we have today. You can't simply run the exact same compiler and get the same bytes of output and run them. Someone has to maintain that old compiler, make sure it works with the latest toolchain and hardware, etc. Probably make sure it's bug-for-bug compatible with the original, too. How long do you want to keep that up? It's a huge trade-off. If a language basically says "That code you wrote two years ago? Not gonna work now", then I'd see that as a big blinking red light. But "Ten years ago's code will probably work on today's interpreter, unless it uses as identifiers what's now a keyword, or it might be unintentionally treading on now-fixed bugs in which case it might have to be fixed", that's not as big a problem. Yes, you'd need to 2to3 that old Python 2.3 code to get it to run on Python 3.4, but chances are it'll run mostly-unchanged on 2.7 (modulo string exceptions, maybe). I'm cheating a bit by citing Python 2.7, given that it's now four years old, but it's also going to be supported for a good few more years. Not sixty, presumably, but a good while. ChrisA