> On Aug 8, 2016, at 2:45 AM, Cory Benfield <c...@lukasa.co.uk> wrote:
> 
>> On 8 Aug 2016, at 07:56, Yarko Tymciurak <yark...@gmail.com 
>> <mailto:yark...@gmail.com>> wrote:
>> 
>> Question: isn't SansIO / Corey's work just a specific instance of Bob 
>> Martin's "Clean Architecture"?  It sounds familiar to me, when thinking of 
>> Brandon Rhode's 2014 PyOhio talk, and his recast of the topic in Warsaw in 
>> 2015.  It seems like it...  If so, then perhaps async aspects are just a 
>> second aspect.
> 
> 
> Yeah, so this is worth highlighting more clearly. =) I apologise to the list 
> in advance for this, but this is going to be something of a digression, so I 
> have re-titled the thread.
> 
> I have invented and pioneered *nothing* here. Designing protocol 
> implementations this way is not new in the world of software development. 
> No-one is going to give me a medal or name a design pattern after me, and I 
> don’t even think that pushing for this design pattern will help me move up my 
> employer’s technical career path the way spending time on writing RFCs would 
> have.

I wouldn't be so sure about that - I have definitely been referring to the 
principle that one should design an I/O free layer in every system as 
"Benfield's Law" in recent conversations ;-).

> That said, I’d love to have Brandon weigh in on this too. I do feel a bit bad 
> that I am re-treading ground that others have covered before, but…hell, we 
> can’t all be top-tier programmers! If all I say is that I have repackaged an 
> idea my intellectual betters have previously made such that it’s more 
> appealing to the masses, I think I can call myself happy with that.

I really don't think you should feel even a bit bad here.  I'm one of the 
people who has been trying to tell people to do this for the last decade or so, 
and frankly, I'd been expressing myself poorly.  There's also a "do as I say, 
not as I do" problem here: I learned this lesson _after_ I had implemented a 
bunch of protocols the wrong way (stacks and stacks of inheritance, tight I/O 
coupling), and then decided I'd surely do the _next_ one right.  But of course 
then I was buried under the crushing maintenance burden of the existing stuff 
and I still have not managed to crawl my way out.  Certainly, none of the 
popular code I've written works this way.

As a result, I feel tremendously grateful that you have managed to noticeably 
increase the popularity of this concept, and as far as I'm concerned, you 
deserve quite a bit of credit.  Given the number of people publicly associated 
with it now, clearly it's something we all thought was important to advocate 
for (and did successfully, to the extent that some people have learned those 
lessons!), but nevertheless nobody that I'm aware of, especially in the Python 
community, has managed as impactful a presentation as you have.  This is not 
entirely an accident of history - it was a very good talk that was deceptively 
simple-looking but belied a lot of deep expertise.  So don't sell yourself 
short: you may not have invented the concept, but I know I could not have given 
that talk in quite that way; I'm not sure any of the giants whose shoulders you 
stand upon could have either.

-glyph

_______________________________________________
Async-sig mailing list
Async-sig@python.org
https://mail.python.org/mailman/listinfo/async-sig
Code of Conduct: https://www.python.org/psf/codeofconduct/

Reply via email to