Hello Linda,
 
With respect to user friendly error messages (beginners) I learned to love Perl's "diagnostic" pragma (see sample below). (1)
 
It seems you are already focused on Python (a good choice), but maybe there is something similar for Python for error explanation.
 
Concerning the handling of data and statistics Perl has an interesting extention: Perl Data Language (PDL) (2)
 
Maybe it helps!
 
Dennis.
 
(1) http://perldoc.perl.org/diagnostics.html
(2) http://pdl.perl.org/
 
== Sample ==
 
--- perl-script.pl:
use warnings;
use strict;
use diagnostics -verbose;
 
print $here;
---
 
=== output - as you might understand from the error message: declaring 'my $here = "test";' before printing poses the problem here. ===
 
DESCRIPTION OF DIAGNOSTICS
    These messages are classified as follows (listed in increasing order of
    desperation):
        (W) A warning (optional).
        (D) A deprecation (enabled by default).
        (S) A severe warning (enabled by default).
        (F) A fatal error (trappable).
        (P) An internal error you should never see (trappable).
        (X) A very fatal error (nontrappable).
        (A) An alien error message (not generated by Perl).
    The majority of messages from the first three classifications above
    (W, D & S) can be controlled using the warnings pragma.
    If a message can be controlled by the warnings pragma, its warning
    category is included with the classification letter in the description
    below.  E.g. (W closed) means a warning in the closed category.
    Severe warnings are always enabled, unless they are explicitly disabled
    with the warnings pragma or the -X switch.
    Trappable errors may be trapped using the eval operator.  See
    "eval" in perlfunc.  In almost all cases, warnings may be selectively
    disabled or promoted to fatal errors using the warnings pragma.
    See warnings.

Global symbol "$here" requires explicit package name at perl-script.pl line 31.
Execution of perl-script.pl aborted due to compilation errors (#1)
    (F) You've said "use strict" or "use strict vars", which indicates
    that all variables must either be lexically scoped (using "my" or "state"),
    declared beforehand using "our", or explicitly qualified to say
    which package the global variable is in (using "::").
Uncaught exception from user code:
        Global symbol "$here" requires explicit package name at perl-script.pl line 31
.
        Execution of perl-script.pl aborted due to compilation errors.
 
===
 
Gesendet: Mittwoch, 06. April 2016 um 01:18 Uhr
Von: "Linda McIver" <linda.mci...@gmail.com>
An: ppig-discuss@googlegroups.com
Betreff: [ppig-discuss] Beginner friendly error messages
Hello PPIGers,
 
I am trying to design a data science course for year 10 students that will be taught to, and in some cases *by* beginners. We'll be using Python both for its data science credentials and its user friendliness, but the error messages are a big barrier to success. Students hit one incomprehensible error message and run screaming in the opposite direction.
 
I recall some research on error messages and their user friendliness, but I still can't find any interpreters with beginner friendly error messages, which surprises me.
 
Am I missing something? Is there a treasure trove somewhere? If not, is there at least some solid research on which we could base the design of a beginner friendly Python interpreter?
 
Any and all clues gratefully received.
 
Linda

--

Exploring Life, Parenting and Social Justice: http://lindamciver.wordpress.com/     
Computational Science Education: http://computeitsimple.wordpress.com/               

Dr Linda McIver
Teacher & Freelance Writer
--
Buy Fair Trade - Change the world one coffee at a time

 

--
You received this message because you are subscribed to the Google Groups "PPIG Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ppig-discuss+unsubscr...@googlegroups.com.
To post to this group, send email to ppig-discuss@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PPIG Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ppig-discuss+unsubscr...@googlegroups.com.
To post to this group, send email to ppig-discuss@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to