Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!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; '"c"': 0.07; 'dynamically': 0.07; 'block.': 0.09; 'bytes,': 0.09; 'forcing': 0.09; 'minus': 0.09; 'porting': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'record.': 0.09; 'stored': 0.10; '(the': 0.15; 'file,': 0.15; '"format': 0.16; '(also': 0.16; '488': 0.16; 'algebra,': 0.16; 'blocks': 0.16; 'operation.': 0.16; 'packing,': 0.16; 'preprocessor': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'subprograms': 0.16; 'mon,': 0.16; 'byte': 0.17; 'bytes': 0.17; 'variables': 0.17; 'written': 0.20; 'meant': 0.21; '(by': 0.22; 'assignment': 0.22; "i'd": 0.22; 'needed.': 0.23; 'originally': 0.23; "i've": 0.23; 'second': 0.24; 'creating': 0.26; 'disk': 0.27; 'header:X-Complaints-To:1': 0.28; 'lines': 0.28; 'rest': 0.28; 'record': 0.28; 'i/o': 0.29; 'relational': 0.29; 'statements': 0.29; 'convert': 0.29; 'source': 0.29; 'minimal': 0.30; 'code': 0.31; 'system,': 0.32; 'file': 0.32; 'could': 0.32; '+0200,': 0.33; 'like:': 0.33; 'url:home': 0.33; 'to:addr:python-list': 0.33; 'themselves': 0.33; 'requirements': 0.33; 'needed': 0.35; 'identified': 0.35; 'something': 0.35; 'there': 0.35; 'received:org': 0.36; 'but': 0.36; 'charset:us-ascii': 0.36; 'being': 0.37; 'data': 0.37; 'perform': 0.38; 'things': 0.38; 'to:addr:python.org': 0.39; 'build': 0.39; 'called': 0.39; 'application': 0.40; 'where': 0.40; 'header:Received:5': 0.40; 'address': 0.60; 'easy': 0.60; 'real': 0.61; 'first': 0.61; 'ever': 0.63; 'information': 0.63; 'services': 0.64; 'within': 0.64; 'jul': 0.65; 'subjectcharset:iso-8859-1': 0.67; 'records': 0.68; 'direct': 0.69; 'subject::': 0.83; '512': 0.84; 'dennis': 0.91 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Dennis Lee Bieber Subject: Re: =?ISO-8859-1?Q?the_meaning_of_r=EF=BE=95?= =?ISO-8859-1?Q?.......=EF=BE?= Date: Mon, 23 Jul 2012 14:10:02 -0400 Organization: > Bestiaria Support Staff < References: <500d0632$0$1504$c3e8da3$76491128@news.astraweb.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: adsl-76-249-16-167.dsl.klmzmi.sbcglobal.net X-Newsreader: Forte Agent 3.3/32.846 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: 56 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1343067003 news.xs4all.nl 6866 [2001:888:2000:d::a6]:44144 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:25909 On Mon, 23 Jul 2012 16:42:51 +0200, Henrik Faber declaimed the following in gmane.comp.python.general: > > If that was written by my coworkers, I'd strangle them. > My first real assignment, 31 years ago, was porting an application to CDC MP-60 FORTRAN (what I called "FORTRAN MINUS TWO"). This was a minimal FORTRAN implementation in which one could not do things like: ix = 20 call xyz(ix, ix+2, ix-2) forcing us to produce such abominations as ix = 20 jinx = ix + 2 minx = ix - 2 call xyz(ix, jinx, minx) Now, when you take into consideration that this application, purportedly a requirements traceability system, was only a few functions* shy of being a (pre-SQL) relational database using a form of relational algebra, and did lots of record<>disk-block^ packing, then there were many calls to subprograms that needed things like block #, record #, start&end bytes within record/blocks, with both source and destination information needed. * It needed a dynamic "project" operation; records contained a "format ID" (formats were themselves stored in the "database") which identified the layout of the data in the record. A dynamic "project" operation would have to build a format from the specifications of the desired fields. It also would have needed a simple join operation (also dynamically creating a format for the result set). ^ The MP-60 did not make that easy either... The F-2 did not have direct access I/O, so one had to use OS services to position to "block #" of a file, and then perform the FORTRAN I/O operation. BUT: disk blocks were 512 bytes, but only around 488 bytes were available to the user -- the OS stored something in the rest of the block. That meant we had to change the program to work in 488 byte blocks, but to address the file in 512 byte blocks. My second major assignment was to maintain an application that had been originally written (by a subcontractor) using preprocessor to convert "C" style block statements into FORTRAN-IV (the only valid use I've ever seen for the ASSIGNed GOTO -- emulating the return from "subroutine" calls). I got to maintain the /output/ of the preprocessor -- where programs were 3000-30000 lines of code in a single file, all variables were global... -- Wulfraed Dennis Lee Bieber AF6VN wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/