Path: csiph.com!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed1.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.008 X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; 'subject:: [': 0.04; 'string.': 0.05; 'level,': 0.07; 'string': 0.09; 'appropriate.': 0.09; 'deemed': 0.09; 'incidental': 0.09; 'runs': 0.10; 'wrote': 0.14; 'itself.': 0.14; '(it': 0.16; 'builders': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'included,': 0.16; 'nodes': 0.16; 'phase,': 0.16; 'seconds,': 0.16; 'language': 0.16; 'wrote:': 0.18; "hasn't": 0.19; 'subject:] ': 0.20; 'programming': 0.22; "aren't": 0.24; 'example.': 0.24; 'sends': 0.24; 'java': 0.24; 'gets': 0.27; 'header:In-Reply-To:1': 0.27; 'tried': 0.27; 'point': 0.28; 'function': 0.29; 'feature': 0.29; 'am,': 0.29; 'network.': 0.30; 'message-id:@mail.gmail.com': 0.30; 'node': 0.31; 'them?': 0.31; 'addresses': 0.33; 'fri,': 0.33; 'guess': 0.33; 'implemented': 0.33; 'mac': 0.33; 'comment': 0.34; 'could': 0.34; 'problem': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'addresses,': 0.36; 'are,': 0.36; 'detail': 0.37; 'level': 0.37; 'to:addr:python-list': 0.38; "couldn't": 0.39; 'heard': 0.39; 'to:addr:python.org': 0.39; 'called': 0.40; 'how': 0.40; 'signal': 0.60; 'most': 0.60; 'no.': 0.61; 'simple': 0.61; 'high': 0.63; 'real': 0.63; 'our': 0.64; 'details': 0.65; 'between': 0.67; 'periodically': 0.68; 'fact,': 0.69; 'difference.': 0.84; 'irrelevant': 0.84; 'mechanics': 0.84; 'technically': 0.84; '2013': 0.98 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=r/AxT0LoF2IFg2OULBmSA3S/xtWxYCLkXrHrgvpei4A=; b=TksqOgOYuwkqGic6Dfj1MuIyIdNFcE+mzWpvLYbV5ibxUdR6bw9md0dTn8bvHAdRpV C0M2QPPoxmEhk2r5JTpf+xUKo3V0bE7oVHjxd6th1qIihi4/VmjYzZDLPa9wC3dWKQsA xOevDvEkaOi5J0TiKOng82/W/iDlBaDYUXxp5O8uVP7tiIiNzQ8x6n4zeyajYaoVUwqQ fD/5ZM+CXvf1q1R8qo/HeSDsdVYjqMMcwuTEfj2iHihmoqol47h1VCn5D0jl+hnvo126 +sH7zjWpkNkpauF6CijvSFAw38ImIbrODwTVFRCh0L3baOzJaelDjawp1Z2C5A6FZgQs nFDA== MIME-Version: 1.0 X-Received: by 10.52.89.234 with SMTP id br10mr10378199vdb.52.1368715051518; Thu, 16 May 2013 07:37:31 -0700 (PDT) In-Reply-To: References: <5190b049$0$29978$c3e8da3$5496439d@news.astraweb.com> Date: Fri, 17 May 2013 00:37:31 +1000 Subject: Re: [Off topic] Software epigrams From: Chris Angelico To: python-list@python.org Content-Type: text/plain; charset=ISO-8859-1 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: 35 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1368715061 news.xs4all.nl 15910 [2001:888:2000:d::a6]:44942 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:45426 On Fri, May 17, 2013 at 12:23 AM, Neil Cerutti wrote: > On 2013-05-16, F?bio Santos wrote: >> And in Java we have factories, builders and builderfactories. >> What's so relevant about them? Java is high level, no? > > When I tried to pin down what an irrelevant detail in a computer > program could be, I couldn't do it. I guess comment decorations, > maybe? But those would have no bearing on the level of problem > for which a programming language is most appropriate. Let me give you a real example. One of the programs I wrote at work is a simple daemon that runs on every node in a network. It periodically sends out a heartbeat signal that the other nodes hear, and if any node hasn't been heard from in X seconds, it is deemed "down". (It might technically not be down, if there's a network problem, but the point is that we don't care about the difference. It's down.) There's also some incidental statussy data included, for convenience. This is implemented using UDP. Do I care about how a UDP packet is structured? No. Do I care about the mechanics of IP routing? No. Do I care about MAC addresses? No. They might feature in our IPv6 addresses, but I still don't care - the IP addresses (v4 or v6) of the nodes are treated as opaque tokens. All I care about is that I call a function with a string of data and a corresponding function gets called in the other program with that same string. All the details of how that happens in between aren't important to my program. They're somewhat of note in the design phase, but not to the program itself. They are, in fact, irrelevant. ChrisA