Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news-out2.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!feed.xsnews.nl!border-1.ams.xsnews.nl!xlned.com!feeder7.xlned.com!news2.euro.net!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; 'assign': 0.04; 'parameter': 0.05; 'subject:Python': 0.05; 'forms,': 0.07; 'display,': 0.09; 'lines:': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'files.': 0.09; 'displayed': 0.10; 'output': 0.10; 'binary': 0.13; 'bieber': 0.16; 'email addr:ix.netcom.com': 0.16; 'email name:wlfraed': 0.16; 'from:addr:ix.netcom.com': 0.16; 'from:addr:wlfraed': 0.16; 'from:name:dennis lee bieber': 0.16; 'gotos': 0.16; 'inherited': 0.16; 'input,': 0.16; 'manageable': 0.16; 'message-id:@4ax.com': 0.16; 'passing,': 0.16; 'received:wlfraed': 0.16; 'style,': 0.16; 'url:netcom': 0.16; 'url:wlfraed': 0.16; 'wulfraed': 0.16; 'wrote:': 0.16; 'rewrite': 0.18; 'url:home': 0.21; 'feb': 0.22; 'wrote': 0.22; 'changed': 0.23; 'interface': 0.23; 'received:166': 0.23; 'translated': 0.23; 'code': 0.25; 'compiled': 0.25; 'lee': 0.28; 'ownership': 0.28; 'goto': 0.30; 'granted,': 0.30; 'kelly': 0.30; 'porting': 0.30; 'translator': 0.30; '(the': 0.30; 'thu,': 0.32; 'changes': 0.32; 'assigned': 0.32; 'implement': 0.32; 'to:addr:python-list': 0.33; 'mostly': 0.34; 'spent': 0.34; 'rather': 0.34; 'jump': 0.34; 'maintained': 0.34; 'header:X -Complaints-To:1': 0.34; '...': 0.35; 'file': 0.35; 'charset:us- ascii': 0.36; 'but': 0.37; 'received:org': 0.37; 'possible,': 0.38; 'smaller': 0.38; 'doing': 0.39; 'subject:: ': 0.39; 'to:addr:python.org': 0.40; 'data': 0.40; 'bring': 0.60; 'company': 0.61; 'address,': 0.72; 'dennis': 0.73; '1001': 0.84; 'else...': 0.84; 'originated': 0.91 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Dennis Lee Bieber Subject: Re: SnakeScript? (CoffeeScript for Python) Date: Fri, 03 Feb 2012 11:20:47 -0500 References: <21293604.477.1328191753730.JavaMail.geo-discussion-forums@vbbfd4> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: mobile-166-147-100-053.mycingular.net X-Newsreader: Forte Agent 6.00/32.1186 X-No-Archive: YES X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 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: 40 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1328286071 news.xs4all.nl 6966 [2001:888:2000:d::a6]:59217 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:19835 On Thu, 2 Feb 2012 18:19:22 -0700, Ian Kelly wrote: >As with all compiled software, you maintain the input, not the output. > I spent nearly 20 years having to maintain the /output/ of such a translator. The application had originated via a subcontractor who maintained ownership of the translator, and my company only inherited the translated output. I had the joy of porting the application from PDP-11 to VAX-11. In the early days, if any changes were needed to a program I tended to rewrite the code entirely (the application was many small programs each doing just one individual task on a common graphics display, and the "controller" user interface which displayed pages of forms, wrote all data to a binary file used to populate common blocks used by the sub-programs). This was mostly to bring it down to manageable sizes -- the output used ASSIGNed GOTOs to implement subroutine calls (no parameter passing, everything was global!) -- the only good thing was it was easy to identify translator generated output as it was right-justified on the lines: ASSIGN 1001 TO I123 GOTO 2200 1001 CONTINUE {subroutine call -- save return address, jump subroutine...} After about 10 years of this, I was able to bloody CODE in that style, rather than rewriting smaller programs into individual files. Granted, as much as possible, IF NOT CONDITION GOTO statements were changed into F77 styel IF CONDITION THEN ... ELSE... ENDIF; but the local subroutine calls were left in place. -- Wulfraed Dennis Lee Bieber AF6VN wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/