[Tutor] TESTING

Avi Gross avigross at verizon.net
Thu Nov 1 23:45:05 EDT 2018


I am not totally up on the exact purposes of this group but have noted how
many of the questions asked have been frustrating.

I wonder if it would make any sense to provide a template people might fill
out to suit their needs.

An example might be people who want you to pretty much do their homework for
them from beginning to end. The purpose of a tutor is to guide someone in
learning how to do something for themselves. If they ask for an idea on an
algorithm in English or pseudocode on how to solve the problem, hey might be
given hints but not actual python code. If they wrote a snippet of code on
their own and wonder how to test it, again, there can be advice. If they ask
for the names of packages that might be useful, ditto. If they encounter an
error and can isolate it to a PART of the code, others might be willing to
point out that $ is not valid in Python user names (other than in regular
expressions or strings) and they should consider writing in a language like
PERL or a shell command language that uses it, albeit for another purpose.

But to do it ALL for someone generally is not the role of a tutor in the
real world.

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.

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. Many times if you want something to be portable, you have to forgo
using some of the niftier new features. But for a language to evolve, you
sometimes need to bite the bullet. I was one of the earliest uses of C++
when I was at Bell Labs and the decision was then made to not just call it C
(or D or add-one-to-C or even ++C) but make a clean break with C and give it
a new name. The aforementioned PERL also split into incompatible languages. 

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? As I see it,
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 to do
it. Much of this is caused by adding new features while retaining the old.
Yes, I also see places where a new feature is accompanied by deprecating an
older one and eventually removing it. But that too causes incompatibilities
especially when you use a package written by someone and then abandoned. I
recently ran into a problem with an R script I wrote a year or so ago that I
needed to modify in a minor way (re-scale the limits of the Y axis on a
graph) which I might have done in a few minutes. But the package I used to
do part of the work had been modified and the function just printed out that
I should use a replacement function which did not work. Reloading old
versions of the package still did not work because it had many dependencies
and getting them all correct was more work than rewriting my code after
reading what their code used to run.

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!

Avi

-----Original Message-----
From: Tutor <tutor-bounces+avigross=verizon.net at python.org> On Behalf Of
Mats Wichmann
Sent: Thursday, November 1, 2018 1:54 PM
To: tutor at python.org
Subject: Re: [Tutor] TESTING

On 11/1/18 11:24 AM, Mario Radomirovic wrote:
> All good
> 
> On Thu, 1 Nov 2018 6:17 pm Alan Gauld via Tutor <tutor at python.org> wrote:
> 
>> On 01/11/2018 14:01, richard mwenya via Tutor wrote:
>>> Hello.
>>> Everyone is quiet or is it my email thats not working?
>>
>> Just quiet, I've seen nothing in the moderators queue for 5 days. But 
>> that happens sometimes.
>>
>> I guess it just means nobody is having any Python issues right now.

or the ones who do gave up on us because people say they won't solve
homework problems :)




More information about the Tutor mailing list