Description
The TL;DR Version 🥱
I've rewritten Pascal's Triangle as an exercise to practice recursion, but the exercise is currently listed as 'deprecated'. I am of the belief that the conditions under which it became deprecated 8 years ago no longer apply. I am requesting permission to open a PR to re-instate Pascal's Triangle as an exercise.
The Nuanced Version 🎓
As has been brought to my attention, Pascal's Triangle was deprecated with PR #104 in response to Issue #99, the given reason being:
I'd also like to focus the nitpicking community by deprecating some exercises whose core problem appears in other exercises.
My impression from this is that, back in 2014, the pool of contributors to the Python track was limited to such an extent that a decision had to be made about which exercises the maintainers wanted the community to ignore. However, I read this enforced ignorance as a 'for the time being' kind of thing. To my mind, the fact that these exercises were deprecated in the config file (rather than foregone) and still exist in the repository, implies an intention to, at some point in the future, bring them up to date and reinstate them. My belief that deprecation is a temporary state of being for an exercise is reinforced by:
- The reinstatement of the Raindrops exercise in PR #1633 (which, on the whole, was a copying of the Ruby track core into the Python track, but explicitly included the de-deprecation of Raindrops).
- The improvement over the years of the Pascal's Triangle exercise despite its deprecation (see issue #1127, PR #1164, issue #606, PR #705, PR #2792, etc.).
As for the focusing of nitpicking efforts - well, from what I can tell, the Python community is larger today than it was 8 years ago, and while I don't know how active (proportionally speaking) it is now as compared to then, it stands to reason that, on average, a larger community is likely to result in more active contributors overall. If this is so (which seems more likely than not), then I don't think the initial justification still stands.
As for the idea that the 'core problem' of Pascal's Triangle appears in other exercises and it should therefore be deprecated - it's a pretty weak argument. I mean, why does it matter if there are similarities across practice exercises? Isn't that kind of the point of practice exercises - to repeatedly apply the concept(s) (i.e. practice)? Even if the similarities are significant, I still don't think that this renders the exercise pointless. Let's say someone comes across the exercise after having done an exercise with the same 'core problem' - they either will, or won't solve it quickly. If they solve it quickly, then hooray 🎉, they get that sweet, sweet dopamine rush of accomplishment, and they're on to something else in no time. If they struggle to solve it, then apparently they still needed the practice, and it seems like a good thing that the exercise was there. Either way, the existence of the exercise either did no harm, or was outright necessary.
However, if you find my reasoning unconvincing, then the exercise can still be re-instated - the solution is to simply change the exercise to make it sufficiently dissimilar to other exercises. I've noticed the addition of recursion as a concept, and I think Pascal's Triangle is an ideal candidate to practice recursion.
So, with all this in mind, may I please open a PR to re-instate the Pascal's Triangle exercise, with the specific intent that it be used to practice recursion?