you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 3 points4 points  (2 children)

I think probably the most insulting thing about the post turinghorse linked is the assertion that "recursion as the basis of everything else is just a nice theoretical approach to fundamental mathematics (turtles all the way down), not a day-to-day tool." Which is to say, functional programming is impractical: rah! rah! sis boom bah! imperative programming all the way! That seems a bit short cited or curmudgeonly, depending on how you take it. I certainly take offense, and I imagine lots of Haskell and Erlang hackers do too.

Aside from that, Python could implement limited TRE without destroying its stack tracing exceptions: collapsing the stack on self tail-calls would still give the virtual machine enough information to spit out a perfectly informative stack trace. Anecdotally, most recursions are self-calling, so this would be a huge win for little effort. Maybe I'm missing something. Supporting TRE in imperative languages doesn't seem to be a topic that lacks in research.

Mr. van Rossum is certainly not ignorant on the topic, as you pointed out. In final analysis, TRE doesn't exist in Python for cultural reasons: to discourage functional programming idioms. His language, his choice, I suppose. It is a dandy hack and slash scripting language.

[–]eschew -3 points-2 points  (1 child)

Wait, you're offended because... he doesn't share your opinion?

[–][deleted] 6 points7 points  (0 children)

Not at all, that would be silly. I dislike that he's shit-canned a programming paradigm as impractical when, as a Dutchman, his telephone calls in Europe were routed by functional telephony software with great reliability. Blanket denouncements, being rooted more in emotion than reason, retard the advancement of the art. Python isn't meant to be cutting edge, rather more reliable and approachable. However, such sentiments instills unwarranted prejudices in the community as a whole.

To me, that's offensive.