Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!xlned.com!feeder7.xlned.com!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.007 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'true,': 0.05; 'xml,': 0.05; 'element': 0.07; 'json': 0.07; 'subject:code': 0.07; 'alternatives': 0.09; 'python:': 0.09; 'subject: [': 0.09; 'subject:skip:c 10': 0.09; 'way:': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'be:': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'json,': 0.16; 'one-element': 0.16; 'roy': 0.16; 'skip:{ 30': 0.16; 'skip:{ 40': 0.16; 'subject: \n ': 0.16; 'unfair': 0.16; 'xml-rpc,': 0.16; 'subject:python': 0.16; 'sat,': 0.16; 'wrote:': 0.18; 'do.': 0.18; 'all,': 0.19; 'else,': 0.19; 'fit': 0.20; 'aug': 0.22; 'cc:addr:python.org': 0.22; 'creating': 0.23; 'cc:2**0': 0.24; "i've": 0.25; 'this:': 0.26; 'header:In-Reply-To:1': 0.27; 'chris': 0.29; 'am,': 0.29; 'array': 0.29; 'xml': 0.29; "doesn't": 0.30; 'compared': 0.30; 'heading': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'end,': 0.31; 'remotely': 0.31; 'lists': 0.32; "we're": 0.32; 'text': 0.33; 'entirely': 0.33; "i'd": 0.34; 'could': 0.34; 'problem': 0.35; 'common': 0.35; 'something': 0.35; 'more,': 0.35; 'usual': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'really': 0.36; 'two': 0.37; 'clear': 0.37; 'being': 0.38; 'remote': 0.38; 'represent': 0.38; 'generic': 0.38; 'subject:]': 0.38; 'anything': 0.39; 'does': 0.39; 'heard': 0.39; 'enough': 0.39; 'major': 0.40; 'even': 0.60; 'negative': 0.60; 'free': 0.61; 'information': 0.63; 'term': 0.63; 'such': 0.63; 'teaching': 0.64; 'more': 0.64; '30,': 0.65; 'talking': 0.65; 'details': 0.65; 'frequently': 0.68; 'smith': 0.68; 'technology,': 0.70; 'other.': 0.75; 'article': 0.77; '9:19': 0.84; 'calls,': 0.84; 'distinguish': 0.84; 'ethan': 0.84; 'furman': 0.84; 'her.': 0.84; 'breakthrough': 0.91; 'to:none': 0.92 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=dS5gJmdSx1i2/N3Gyh9RtMyviYXTB3AuLZc7ICAvk/w=; b=WtvWUTEuveafNYWfx9Z8PTQcL9ZAIFBd8RBbrnS4zsYic0+JjcR9mXJdzBKkcvEpGe y9TsrDV1og5tAKavbpf62z4elM8p7CGbKYbYcpyEiFy5+XXPs57U8tA7HGtsFbBckljt Z4H1PHPmgM1RxGeHKepXKB1tIKGHb0oFaPqilEmyoWB4A0gRjHSkcpHZpTo2Gbg23Tt5 0r39fd2Bm4hTyw6mU3RQgVr5kuEQGPUciRsixPFTJcIcMwZVQeburU/+5DCxcK9rCVq5 6fltRN5dsQbQ1SOZCqKZdJ4ZTV9jbPo4iiA10wTjhxzuFDHL/GKs3eyJrqRGOitxsDVh W9MA== MIME-Version: 1.0 X-Received: by 10.50.66.197 with SMTP id h5mr7842186igt.34.1409355515016; Fri, 29 Aug 2014 16:38:35 -0700 (PDT) In-Reply-To: References: <5400CE4C.8080209@stoneleaf.us> Date: Sat, 30 Aug 2014 09:38:34 +1000 Subject: Re: suckitude classifications [was Re: Keeping python code and database in sync] 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: 70 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1409355518 news.xs4all.nl 2867 [2001:888:2000:d::a6]:41139 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:77300 On Sat, Aug 30, 2014 at 9:19 AM, Roy Smith wrote: > In article , > Chris Angelico wrote: > >> On Sat, Aug 30, 2014 at 5:02 AM, Ethan Furman wrote: >> > Speaking of suckitude, we could classify technologies that way: >> > >> > xml: major suckitude >> > >> > rpc: no suckitude >> > >> > python: negative suckitude >> >> I disagree with your last two qualifications. RPC still sucks, just >> not as much as some things do. > > Are we talking the generic concept of Remote Procedure Calls, or the > specific implementation of Sun RPC? I was thinking of XML-RPC, a particular protocol. Although the generic concept of remotely calling something isn't entirely free of suckitude - it's all very well in its way, but like everything else, it has its flaws. In systems that completely hide the details and make it look identical to local procedure calls, you have the same problem as creating a Python property that does a lot of work ("wait, that call actually goes out over the network??"), and in systems that make it more clear that this is a network transaction, it's not really a remote procedure call any more, it's a network action like any other. But these are small nitpicks. Enough that I'd say "minor suckitude" or "slight suckitude", but not "no suckitude". > I'm surprised at the reaction to the word, as if it were something new. > I thought the term has been in common parlance for many years. Contrast > with winitude. It has. It's just that Skip's Polly has never heard the word before, so we're teaching her. > Anyway, I think it is unfair to describe xml as major suckitude. True, > it is somewhat outdated, with more modern alternatives such as JSON, > YAML, protobuffers, etc. In its day, however, it was a breakthrough > technology, even if only an incremental outgrowth of SGML. I've never used XML for anything that wasn't mandated by some other end, and in every single one of those cases, JSON would have been a much better fit for the data structure. XML is frequently shoehorned into carrying array data like this: footextmore textblah baronly one element In JSON, this would be: {"entry":[ {"heading":"foo","subentry":["text","more text","blah"]}, {"heading":"bar","subentry":["only one element"]} ]} But in XML, there's no way to represent lists/arrays at all, and the usual way of fitting them in doesn't allow you to distinguish one-element lists from text strings (compare the heading entry). So what's the value of XML for information storage? What's it being compared against that makes it look good? And above all, why do people still use it when JSON and other formats are available and well known? ChrisA