[Edu-sig] Why Python?

Andrew Harrington aharrin at luc.edu
Mon Apr 12 03:03:03 CEST 2010


Well put David.

My choices are always about me and a particular situation.  I would not
teach J to beginners or to people not crunching a lot of mathematical stuff
regularly, but for the professional statisticians and electronic traders I
know, J is a fabulous language, and very worth the modest learning curve.

J is an interesting case.  Iverson did not totally open up the source.
JSoftware still sells that to big users who want extra insurance for the
future of their codebase, but the very powerful language is freely
available.  The statisticians in my university are talking about dumping
traditional massively expensive statistical environments, not for a switch
to some Python tool, but to J and its freely available libraries.

I fear I sometimes push Python in ways that can easily be interpreted as
meaning for essentially all people and all situations.  I know that inside
my head I am not thinking about so general a situation, but I think I could
often communicate it better.

Andy

On Sun, Apr 11, 2010 at 6:50 PM, David MacQuigg <macquigg at ece.arizona.edu>wrote:

> Edward Cherlin wrote:
>
>> On Sat, Apr 10, 2010 at 09:33, Christian Mascher
>> <christian.mascher at gmx.de> wrote:
>>
>>
>>> Edward Cherlin wrote:
>>>
>>>
>>>> [sigh]
>>>>
>>>> Do math tables in a math array language.
>>>>
>>>> degrees =. i. 91  NB. 0..90
>>>>
>>>> radians =. degrees * o. % 180
>>>>
>>>> table =. |: degrees, 1 2 3 o./ radians
>>>>
>>>>
>>>
> <snip>
>
>  Python is much nearer to standard Math-notation, that is a good thing.
>>>
>>>
>>
>> LOL. Math notation is what mathematicians use, not schoolchildren.
>> They are constantly inventing more of it. What you call math notation
>> is known to mathematicians as "arithmetic".
>>
>> There is no standard math notation.
>>
>>
>
> I think what Christian means to say is that Python is much nearer to a
> notation (pseudocode) that might be used by scientists and engineers who are
> trying to express an idea involving computation, without relying on a
> specific language.  Of course, there is no "standard" pseudocode, but if you
> look at textbooks that are most successful at expressing algorithms this way
> (my examples would be from engineering - Hachtel & Somenzi on Logic
> Synthesis, Stinson on Cryptography) what you see is a notation very close to
> Python.
>
> Pseudocode has to be self-explanatory.  There is no introductory chapter on
> how to read it.  Likewise, an introductory computer language should be close
> to self-explanatory.  It will be difficult to get math and science teachers
> to accept it, if they have to make extra efforts explaining the notation.
>  Getting math and science teachers to accept computation as a vital part of
> their curricula is my current focus, so I wouldn't try to push something
> like your example above.
>
> Python is just a means to an end, the closest thing we have to pseudocode.
>  When someone who favors another language (typically Java) asks me why
> Python, I find the comparison to pseudocode to be the best answer.  Specific
> examples, like the absence of type declarations, tends to invite unthinking
> reactions.  (Students will make too many errors.)  Even something as simple
> as requiring correct indentation is not obvious to someone who hasn't used
> Python.  (Although that one does have some appeal to teachers who have had
> to read sloppy student code.)  Ultimately, it is word-of-mouth, one teacher
> telling another, that I think will decide which language gets used.
>
> -- Dave
>
> ************************************************************     *
> * David MacQuigg, PhD    email: macquigg at ece.arizona.edu   *  *
> * Research Associate                phone: USA 520-721-4583   *  *  *
> * ECE Department, University of Arizona                       *  *  *
> *                                 9320 East Mikelyn Lane       * * *
> * http://purl.net/macquigg        Tucson, Arizona 85710          *
> ************************************************************     *
>
>
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig
>



-- 
Andrew N. Harrington
 Director of Academic Programs
 Computer Science Department
 Loyola University Chicago
 512B Lewis Towers (office)
 Snail mail to Lewis Towers 416
 820 North Michigan Avenue
 Chicago, Illinois 60611

http://www.cs.luc.edu/~anh
Phone: 312-915-7982
Fax:    312-915-7998
gpd at cs.luc.edu for graduate administration
upd at cs.luc.edu for undergrad administration
aharrin at luc.edu as professor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20100411/dab2c23c/attachment.html>


More information about the Edu-sig mailing list