Top all-time · #760
Neopythonic
Personal blog · neopythonic.blogspot.comprogrammingphilosophy
Neopythonic is a personal blog at neopythonic.blogspot.com about programming and philosophy. Since 2008, 85 different Hacker News readers have linked it 104 times, most often “Tail Recursion Elimination”. The last post was in 2022, but the archive is still widely read.
Rarely recommended · 3 of 40 sampled comments recommend it?
Why HN links it
HN readers link Guido van Rossum's blog mainly for his 2009 tail-call posts, cited as the reason Python lacks TCO and as a standard reference in debates on recursion and Python design.
- Recommended for · 3 comments
- Called 'pretty sound' on why TCO is a language feature, 'worth reading' on why Python lacks it, and liked for a post one commenter returns to.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Ramblings through technology, politics, culture and philosophy by the creator of the Python programming language.
Most-linked posts?
- Tail Recursion Elimination19 people · 20 mentions · first linked 2009-04-22
- Reasoning about asyncio.Semaphore by Guido van Rossum7 people · 8 mentions · first linked 2022-10-05
- Guido's final word on Tail Calls7 people · 7 mentions · first linked 2009-04-28
- GvR: King's Day Speech5 people · 5 mentions · first linked 2016-04-27
- Guido van Rossum responds to Bruce Eckel: Why explicit self has to stay4 people · 5 mentions · first linked 2008-10-26
- /2009/04/final-words-on-tail-calls.html4 people · 4 mentions · first linked 2023-12-31
- Why Operators Are Useful3 people · 3 mentions · first linked 2019-03-15
- Python: a programming language created by a community (2016)3 people · 3 mentions · first linked 2016-09-06
- GvR's Blog2 people · 2 mentions · first linked 2008-10-23
- Bibles or computers - it's the same thing.2 people · 2 mentions · first linked 2008-11-04
What Hacker News says?
> More importantly, Lua has a crucial feature that Javascript lacks: tail call optimization. There are programs that I can easily write in Lua, in spite of its syntactic verbosity, that I cannot write in Javascript because of this limitation. Perhaps this particular JS implementation has tco, but I doubt it reading the release notes. > [...] In my programs, I have banned the use of loops. This is a liberation that i…
Comment linking /2009/04/final-words-on-tail-calls.html
on “Fabrice Bellard Releases MicroQuickJS”Submitted The depth and breadth of Python as a story · 204 points
HN discussionFor TRE: http://neopythonic.blogspot.com/2009/04/tail-recursion-elimi... For the GIL, there are alternative implementations of Python (Jython, IronPython, etc.)
Comment linking /2009/04/tail-recursion-elimination.html
on “Python Language Features and Tricks”Submitted Why Operators Are Useful as a story · 178 points
HN discussion> But keeping the current half-baked async implementation doesn't make the language smaller or simpler. It just makes the language worse. I can't disagree more. In fact, I think that the current state of async Rust is the best implementation of async in any language. To get Pin stuff out of the way: it is indeed more complicated than it could be (because reverse compatibility etc), but when was the last time you nee…
Comment linking /2022/10/reasoning-about-asynciosemaphore.html
on “Rewriting Rust”Submitted Guido van Rossum: Before Python as a story · 171 points
HN discussionmade up http://neopythonic.blogspot.com/2009/04/final-words-on-tail-...
Comment linking /2009/04/final-words-on-tail-calls.html
on “Evolution of a Python programmer”Submitted Google App Engine Datastore API proposal by GvR as a story · 70 points
HN discussionWith the creator of Python on your team, what can't you do? (See http://neopythonic.blogspot.com/2009/04/final-words-on-tail-... )
Comment linking /2009/04/final-words-on-tail-calls.html
on “Welcome Guido”Submitted Python in the Scientific World as a story · 69 points
HN discussion> Then I tried some Fibonacci with tail recursion and surprisingly that worked too. I'm impressed, because often when people reimplement the Python interpreter they get those wrong. Huh? I thought Python didn't have TCO anyway. Guido had a whole blog post about why it supposedly doesn't belong in Python: https://neopythonic.blogspot.com/2009/04/tail-recursion-elim...
Comment linking /2009/04/tail-recursion-elimination.html
on “PyScript: An open source platform for Python in the browser”Submitted Tail Recursion Elimination as a story · 48 points
HN discussionNon-mobile link: https://neopythonic.blogspot.com/2019/03/why-operators-are-u...
Comment linking /2019/03/why-operators-are-useful.html
on “Why Operators Are Useful”Submitted Guido's final word on Tail Calls as a story · 47 points
HN discussionRelated: Guido van Rossum's argument for why there is no TCO in Python. https://neopythonic.blogspot.com/2009/04/final-words-on-tail...
Comment linking /2009/04/final-words-on-tail-calls.html
on “Bun, JavaScript, and TCO”Submitted Before Python as a story · 38 points
HN discussionNo, Python doesn't. Read Guido's justification here: http://neopythonic.blogspot.com/2009/04/tail-recursion-elimi... .
Comment linking /2009/04/tail-recursion-elimination.html
on “Functional Programming in 5 Minutes”Submitted Guido van Rossum responds to Bruce Eckel: Why explicit self has to stay as a story · 34 points
HN discussionPython language creator Guido von Rossum prevents CPython from having tail call optimization because he doesn't want people to use it. http://neopythonic.blogspot.com/2009/04/tail-recursion-elimi...
Comment linking /2009/04/tail-recursion-elimination.html
on “Tcl/Tk 8.6 released (now stackless, w/coroutines, tailcalls, and more)”Submitted GvR's Blog as a story · 33 points
HN discussionAlso. Final Words on Tail Calls http://neopythonic.blogspot.com/2009/04/final-words-on-tail-... Outside pure functional languages, I think the best way to implement them is to have explicit tail call declaration for functions and/and tail positions and ability to disable them for debugging (or have debugger aware of them). This way you can actually use them to implement useful stuff and rely on them. You get a compi…
Comment linking /2009/04/final-words-on-tail-calls.html
on “What happened to proper tail calls in JavaScript? (2021)”Submitted IronPython in Action and the Decline of Windows as a story · 31 points
HN discussionWorth reading why python doesn’t have it either http://neopythonic.blogspot.com/2009/04/tail-recursion-elimi...
Comment linking /2009/04/tail-recursion-elimination.html
on “What happened to proper tail calls in JavaScript? (2021)”Submitted King's Day Speech (2016) as a story · 23 points
HN discussion> outright denial of any attempt at TCO because "Guido doesn't like recursion". No, don’t ignore problems of TCO by saying “guys don’t like functional programimg”. Guido cleary states why he doesn’t like it: [1]. Even though TCO is one of the ES6 standard, TCO also is largely denied by JS implementors (Firefox, Chrome, and Edge devs) because of the similar reasons. As a result, Safari is the only browser that suppor…
Comment linking /2009/04/tail-recursion-elimination.html
on “Stop writing lambda expressions in Python”Submitted Tail Recursion Elimination (2009) as a story · 19 points
HN discussionIt's not flamewar material. GVR himself has acknowledged everything (edit in response to @EdwardDiego: most of what) I said. ( http://neopythonic.blogspot.com/2008/10/why-explicit-self-ha... ) The main contention holding back GVR and 3.1 from fixing this once and for all is that decorators currently need to manipulate the explicit self. From my perspective, it seems like Python decorators are [ab]used to reimplement…
Comment linking /2008/10/why-explicit-self-has-to-stay.html
on “How Python 3 Should Have Worked (2012)”Submitted Sorting a million 32-bit integers in 2MB of RAM using Python as a story · 18 points
HN discussionIt's always amusing to see what Python has become thanks to NumPy and Django and how widely deployed it became when its intended purpose was always to be easy to understand, not performant. But just like JavaScript, people are going to hack it to death to make it fast anyway. Guido on tail calls 16 years ago: https://neopythonic.blogspot.com/2009/04/final-words-on-tail...
Comment linking /2009/04/final-words-on-tail-calls.html
on “Show HN: Tacopy – Tail Call Optimization for Python”Submitted Tail Recursion Elimination (Guido van Rossum, 2009) as a story · 13 points
HN discussion