On 02/11/2018 03:45, Avi Gross wrote: > I am not totally up on the exact purposes of this group but have noted how > many of the questions asked have been frustrating.
Unfortunately that goes with the territory. We are a list catering to beginners to Python and, frequently, to programming. As a result the participants often have little or no experience of using technical mailing lists or fora. > I wonder if it would make any sense to provide a template people might fill > out to suit their needs. The problem is how. Where would the template reside? We do provide some hints on the welcome mails that go out but its clear that most newcomers don't read it, so a template would likely suffer the same fate. But the biggest problem for a mailing list, unlike a web site, is that there is nowhere to post information in a persistent manner. You could go to the archive and search, but that takes effort which newbies are unlikely to expend. Also, we want to encourage people to use the list and a long list of "rules" and formats is likely to drive them elsewhere. > An example might be people who want you to pretty much do their homework for > them from beginning to end. This has been an issue as long as I've been on the internet (ie since before 1986)and there is IMHO no cure other than to consistently offer help but not solutions. Those who want to learn will come back. Those who just want a quick fix will just ask on Quora... > But to do it ALL for someone generally is not the role of a tutor in the > real world. Absolutely. > On the other hand, when someone discusses how to optimize their code, and > shows the ways they already tried, it may be valid to present them with a > complete program that illustrates it assuming this is not a homework problem > but a more advanced person that may be interested. And that's how we try to deal with it. If its a genuine problem we will give more complete solutions, if its (suspected) homework we give hints and tips. > But, to make this message more meaningful, I have a question. In my reading > I see Python has been bifurcated into often incompatible releases we call 2X > and 3X. Yes, although 2.X is effectively deprecated. But industry usage requires that it still gets some support. > So, does anyone see any further breaks in Python such as when 4.0 comes > along or will we have some backward compatibility for a while? Others can answer this better than I but so far each generation of Python has been close to a decade apart (v1 ~ 1991, v2 ~ c2000, v3 ~ c2010) So v4 would logically appear around 2020, but I've seen no specific discussion of that whereas both v2 and v3 had long debates about what would be in/out and how much backward compatibility would be included. > one of the earlier guiding principles of Python was to have mainly one > obvious way to do something and in my reading, I often see MANY ways Yes, I've never bought the 1 obvious way line. Any decent programming language offers multiple paths. Language idioms may evolve to suggest a preferred option but in practice you need alternatives for expressiveness. > it. Much of this is caused by adding new features while retaining the old. And is exacerbated by the Open Source model. Anyone can come up with a "good idea" to "fix" an issue and it gets adopted. Just look at the long history of how to start an external process from Python. system(), popen() - and its several variants - exec(), command(), subprocess,,, > especially when you use a package written by someone and then abandoned. That's always a problem with 3rd party libraries. If its in the core language and standard library it should be maintained, or at least go through a controlled and published obsolescence process. > I wonder if others have written tools (such as in frozen programs) that > gather up an exact snapshot of the environment needed when you submit a > paper so it can be replicated! That's really a configuration management issue and certainly such tools exist, but they require you to store all the historical versions within the CM system. The best I ever used was ClearCase which had a concept of views, controlled by a text file. By changing the view then restarting the tool it would magically recreate the full disk image of the project as it had been frozen, including code, compilers, debuggers etc. The only problem was when the OS itself was incompatible and that required a virtual machine. As a maintenance programmer it was absolutely brilliant. You could take a bug report and within minutes have the relevant version of the system loaded and ready to work, then next bug you had a completely different version ready in the blink of an eye (well maybe 2 or 3 minutes! :) But ClearCase cost megabucks. -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor