On Sat, Aug 03, 2019 at 10:02:39AM +1000, Chris Angelico wrote:
On Sat, Aug 3, 2019 at 9:48 AM Steven D'Aprano <steve@pearwood.info> wrote:
On Fri, Aug 02, 2019 at 07:52:37AM +1000, Chris Angelico wrote:
Maybe there needs to be a second-tier recommendation, where a list of packages can be given that aren't category killers, but have been given the blessing of the Python devs as "this is a good-quality, well-maintained package, and can be depended on"?
Which of the core devs will have the responsibility for checking that something which is a good-quality, well-maintained, dependable package today remains so a year from now?
Nobody. The recommendation would simply be "this is good NOW".
Sure. And "NOW" means *now* when I'm reading the docs, right? *wink* How is the reader supposed to know whether a recommendation made in 2012 is still valid, or if the state of the art has moved on to something else? Any such recommendation is subject to bit-rot. Doc-rot? If its not actively maintained by somebody, it won't be long before the docs are doing the equivalent of recommending that people use Psyco: https://wiki.python.org/moin/UsefulModules#Platform-Specific Psyco has been unmaintained for more than seven years. Now, something like Psyco is not too bad. At least when you go to install it, you can't help but notice the great big notice saying that its unmaintained. But what happens when a recommended package is still actively maintained, but has been overtaken as "best of breed" by another package? The point is, if the core devs are to take on the responsibility for listing "best of breed" third-party libraries, somebody has to accept the responsibility for actively maintaining that list, or it will rot. [...]
There are third-party libraries like numpy, nltk etc which are too specialised, big and complex for anyone to duplicate in their own code.
And it's "common knowledge" that numpy, ntlk, etc are all well-respected pieces of software, but how is that common knowledge to be acquired?
The same way any common knowledge is acquired: by interacting with people who already have that knowledge, whether they are mentors, trainers, more experienced work-mates, bloggers that you read, people who answer Stackoverflow questions, etc. There's a whole community of people capable of passing on this knowledge, the core devs don't have to take it on too. It isn't as if nobody can find out which third-party libraries to use if they aren't listed in the official Python docs.
It must be good, because it's the very first search result, right?
Learning to have a healthy skepticism of Google and the internet is a necessary part of the gaining of experience. -- Steven