PyCon: Evangelizing Python
PyCon: Evangelizing Python
Posted Mar 29, 2013 8:04 UTC (Fri) by marcH (subscriber, #57642)In reply to: PyCon: Evangelizing Python by jschrod
Parent article: PyCon: Evangelizing Python
Or rather: those who know it will "steal with pride" what's good in it and leave the rest.
Posted Mar 29, 2013 10:47 UTC (Fri)
by jschrod (subscriber, #1646)
[Link] (16 responses)
It doesn't mention the source of yield either, and even attributes it to Icon. (yield is called suspend there. And Ralph Griswold clearly knew the work of Barbara Liskov, made 3 years earlier, and published in relevant ACM SIG journals.) Even the ultra-short Wikipedia page of CLU acknowledges who came up with yield first - Barbara Liskov, the brilliant scientist who formulated the concept of abstract data types, exceptions, iterators, and many other things first.
Posted Mar 29, 2013 13:03 UTC (Fri)
by marcH (subscriber, #57642)
[Link] (15 responses)
http://mail.python.org/pipermail/python-dev/2005-May/0537...
Looks like C++' RAII was more influential though and much closer to the final feature.
You don't really think any serious language designer group reinvents the wheel without looking at other languages, do you?
Posted Mar 29, 2013 13:56 UTC (Fri)
by jschrod (subscriber, #1646)
[Link] (14 responses)
Well, no (designers), partly (documentation and review) and yes (evangelists).
In my experience, actual language designers know about the concepts. Then it's documented, and the influences are not part of the rationales, though they should be (witness the cited PEP). Then evangelists (witness the talk from the article) come and present 30+ year old stuff as innovative concepts that's the best thing since sliced bread. Reading the article, I couldn't refrain from commenting - you seem to take that much more as an attack as it's meant to.
My comments are not meant specific for Python, you could also look at Javascript with its obvious roots in Self (which pioneered prototype-instance based OOPL) mentioned in almost no documentation.
Posted Mar 29, 2013 18:04 UTC (Fri)
by marcH (subscriber, #57642)
[Link]
Fair enough.
> you seem to take that much more as an attack as it's meant to.
Well, it was an attack on "someone"... vague. Quite clearer now.
Posted Mar 30, 2013 14:49 UTC (Sat)
by intgr (subscriber, #39733)
[Link] (12 responses)
> Then evangelists (witness the talk from the article) come and present 30+ year old stuff as innovative concepts that's the best thing since sliced bread
Did he ever claim that these ideas were invented in Python? Did he say the word "innovative" even once in the talk?
All he said is that these features set Python apart from other "scripting languages", wtih Perl and Ruby brought out as examples. It's a true factual statement.
Lisp isn't even on the radar for being a competitor to Python.
Posted Mar 31, 2013 9:46 UTC (Sun)
by marcH (subscriber, #57642)
[Link] (7 responses)
> All he said is that these features set Python apart from other "scripting languages", wtih Perl and Ruby brought out as examples.
In such a promotion speech context omitting references/credits creates a very fine line between the two. I can imagine the speaker saying the latter and the most of the audience misunderstanding the former (of course we'll never know).
I don't think there should be things like "credits" in reference documents like PEPs (PEPs seem to have pointers to discussions which is more than enough).
On the other hand I (finally) agree with jchrod: I expect a "Python's awesome" talk to give credit where it's due. Not just for honesty but also to help me develop my general software engineering culture and better understand *how* to create awesome things, i.e., by standing on the shoulder of giants, recombining existing ideas in new ways, and not patenting trivial prior art.
Posted Apr 1, 2013 16:16 UTC (Mon)
by kleptog (subscriber, #1183)
[Link] (6 responses)
I hope people aren't just referring to lisp's ability to transform source code at compile time because that (IMO) trivialises what the with-statement adds to the language: the ability to factor out certain idioms that would otherwise require explicit handling of exceptions. There's a difference between "language X makes it possible to do idiom Y" and "language X includes explicit support for idiom X".
While it may be that lisp did it first Python is the only contemporary language I know that includes something like the with-statement, which does say something.
Posted Apr 1, 2013 18:16 UTC (Mon)
by nybble41 (subscriber, #55106)
[Link] (1 responses)
Both expressions execute a block of code with a guarantee that some other code will be executed when control leaves the block, no matter how that happens (e.g. normal exit, exception, calling a continuation). Operations built on top of this mechanism often start with "with-" by convention, e.g. "with-open-file" (Common Lisp) and "call-with-input-file" (Scheme) both ensure that the file provided to the inner block is closed afterward.
[1] http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node96.html
Posted Apr 1, 2013 22:57 UTC (Mon)
by nix (subscriber, #2304)
[Link]
Posted Apr 2, 2013 16:15 UTC (Tue)
by lab (guest, #51153)
[Link] (3 responses)
The C# 'using' statement?
Posted Apr 2, 2013 17:06 UTC (Tue)
by hummassa (subscriber, #307)
[Link] (2 responses)
Posted Apr 2, 2013 17:23 UTC (Tue)
by intgr (subscriber, #39733)
[Link] (1 responses)
1. Python's "with" statement is more flexible, it has access to the exception when it occurs. A "with db_transaction():" block can automatically decide to commit or roll back, unlike C++/C#. You can also implement something like "with ignore_exception(OSError):"
2. Python doesn't require you to create a local variable to hold the state; this always annoys me when using the RAII pattern to hold locks in C++.
3. Prettier syntax ;)
Posted Apr 2, 2013 19:13 UTC (Tue)
by hummassa (subscriber, #307)
[Link]
Posted Apr 5, 2013 12:59 UTC (Fri)
by gvy (guest, #11981)
[Link] (3 responses)
Posted Apr 6, 2013 16:01 UTC (Sat)
by pboddie (guest, #50784)
[Link] (2 responses)
Posted Apr 6, 2013 16:18 UTC (Sat)
by jake (editor, #205)
[Link]
http://code.activestate.com/lists/python-announce-list/9602/
jake
Posted Apr 10, 2013 11:09 UTC (Wed)
by gvy (guest, #11981)
[Link]
PyCon: Evangelizing Python
PyCon: Evangelizing Python
http://starship.python.net/crew/mwh/pep310/8.txt
PyCon: Evangelizing Python
> wheel without looking at other languages, do you?
PyCon: Evangelizing Python
PyCon: Evangelizing Python
PyCon: Evangelizing Python
PyCon: Evangelizing Python
PyCon: Evangelizing Python
[2] http://www.schemers.org/Documents/Standards/R5RS/HTML/r5r...
PyCon: Evangelizing Python
PyCon: Evangelizing Python
http://msdn.microsoft.com/en-us/library/yh598w02(v=vs.110).aspx
PyCon: Evangelizing Python
PyCon: Evangelizing Python
1. std::uncaught_exception() allows for your commit/rollback scenario, but not your ignore_this_exception scenario. The latter does not seem a good idea to me, but...PyCon: Evangelizing Python
2. the lock thing can be implicit... it's a matter of how you do it. Anyway,
{
some_lock_t lock(x);
x.do_something();
}
does not seem sooo wrong to me... although I usually put it on X and do
x.do_something_locked<some_lock_t>();
only, or even
some_locking_scaffold(x).do_something();
and this last one is really easy.
3. it's not! :-D
PyCon: Praising Python for all the wrong reasons
Yeah, especially given Steel Bank Common Python. Crap, the radar you use must be from '60s!
PyCon: Praising Python for all the wrong reasons
PyCon: Praising Python for all the wrong reasons
PyCon: Praising Python for all the wrong reasons
