Re: Python?

  • From: "programming" <rproglock@xxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Fri, 13 Feb 2009 10:49:44 -0600

If I recall, regarding indenting, Ed Sharp does have indent notification. this should make indenting easier for those who write in the Python language. ----- Original Message ----- From: "Octavian Rasnita" <orasnita@xxxxxxxxx>

To: <programmingblind@xxxxxxxxxxxxx>
Sent: Friday, February 13, 2009 12:31 AM
Subject: Re: Python?


If you read my message I think you understand that I know that Jaws can be set to announce the indentation. But what I said was that that announcement doesn't take 0 seconds so the productivity decreases if we need to hear the indentation for each row when it changes. So it is not something good for the blind. We can live with it, but it is something bad, not good.

If we need to work in a team of sighted and need to use indentation, then we can do it without beeing forced to do it, but in other cases we could avoid using it in the languages that allow this.

Octavian

----- Original Message ----- From: "Chris Hofstader" <cdh@xxxxxxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Friday, February 13, 2009 12:00 AM
Subject: Re: Python?


JAWS has a setting which will announce indentation levels.  I think
Window-Eyes has something similar but cannot remember for certain.  I
think orca has an indentation announcement when working in Python.
Lastly, emacs has an indentation announcement feature which works
great with both orca and emacspeak.

Happy Hacking,
cdh
On Feb 12, 2009, at 4:02 PM, Octavian Râsnita wrote:

I think that the answer to this question depends on how far want the
students to reach in programming and what kind of programs they are
interested in.

If a student intends to learn many programming languages, to become
a very advanced programmer, to be able to write drivers, database
management systems, compilers, multimedia core libraries, OS
kernels, but real, not just as a sample for a lab, then I think they
should start learning C/C++, even if they won't create too many
programs in those languages.
I think that it is not a good idea these days to need to do memory
management, but it is well to know how it works even if it is done
automaticly.

After that start, I think that they can learn very easy languages
like C#, Java, Perl, Python, PHP, Ruby and others.

On the other hand, if those students want just to do some programs
as easy as possible, very productive, with as little effort as
possible, with as little effort for learning as possible, they
should start by learning a dynamic language like PHP, Perl, or Ruby.
And... if they are sighted... Python also.

The biggest advantage of python for the sighted is the indentation
requirement, because the indentation is very helpful for the
sighted, and if it is required, than this helps them, because the
language doesn't require using extra chars for delimiting blocks or
expression endings.

For the blind persons on the other hand, the indentation not only
that it is not helpful at all, especially for those who use speech
only, because we can't see an entire screen and understand the
structure of the program, but it just means more unuseful space
chars to type, which are harder to count.
If we configure the screen reader to tell us the number of the
indenting chars, this would mean time loss just for hearing that
indentation level, which is not helpful.

But I think there might be a situation in which the blind students
would be advantaged if they would start learning python.
If they don't intend to learn too many languages, and after python
they don't think to learn C or C++, or the assembly language, and if
they are interested mostly in creating desktop programs, then python
might be their best choice.

Perl is much better than Python for creating web apps, because there
are much more tools for it than for python, and they are much
advanced. For simple web apps, PHP is very enough. Even Ruby is
good, although there are no very many libraries for it yet.

Python is better than Perl for creating desktop apps, working with
the elements of the operating system, creating desktop GUIs.

Even though the desktop GUIS are less and less used, the blind users
prefer using them because they are better accessible and faster, so
there may be many blind students interested in creating them, even
though Python is harder to use by the blind and the desktop GUIS are
harder to create.

Octavian

----- Original Message ----- From: "Suzanne Balik" <spbalik@xxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Thursday, February 12, 2009 9:46 PM
Subject: Re: Python?


Thank you all so much for your thoughtful, informative responses.
We had a speaker here today discussing the pros and cons of
teaching Python as a beginning language so I wanted to hear what
you all thought about it. I will either forward your comments to
him or point him to the archive so he can read about the pros/cons
of Python for blind programmers as well your more pedagogical
comments. Coincidentally, right after his talk, a book rep stopped
by and told me that many schools are switching to Python as the
beginning course.

Thanks again,
Suzanne
--
Suzanne Balik          Computer Science Dept  Box 8206
Adjunct Lecturer       North Carolina State University
EB II 2318             Raleigh, NC 27695-8206
(919)515-5617          http://www4.ncsu.edu/~spbalik

When life kicks you, let it kick you forward.  Kay Yow


Jamal Mazrui wrote:
As you may be aware, there seems to be an increasing trend toward
using
Python in beginning computer science courses, e.g., as argued in the
following articles:

In Praise of Scripting:  Real Programming Pragmatism
http://www.cse.wustl.edu/~loui/praiseieee.html

Why Python is a great language for teaching beginners in
introductory
programming classes
http://www.stanford.edu/~pgbovine/python-teaching.htm

The Case For Replacing Java With Python In Education
http://thinkingdigitally.com/archive/the-case-for-replacing-java-with-python-in-education/

Teaching programming
http://gride.googlecode.com/files/lmuziol-teaching-summary.pdf

While a lot of these arguments are persuasive to me, I do think
Python
presents significant usability obstacles to beginning blind
programmers,
unfortunately.  I agree with the defense that indentation is a good
practice that sighted programmers expect, but the problem is not
just
indenting code like in other languages.  With Python, there are no
keywords or punctuation marks that a screen reader user (with
speech)
will automatically encounter when reading code.  Instead, one has to
often check the current indentation level and then translate that
mentally into a code grouping.  It is different for a sighted
person,
where the grouping is simultaneously evident from the indentation
as the
eye views multiple lines at once.  I agree with others that
automatic
styling utilities/code beutifiers work well enough with other
languages so
that indentation can be adjusted for sighted consumption if not
initially
done.

Another problem of Python is case-sensitivity.  Most languages are
case
sensitive, so this is not unusual, but not getting tripped up by
case is
friendlier to beginners.  A blind person hearing code is probably
not as
aware of how identifiers are capitalized when different choices
could be
made, e.g., OpenXMLFile or OpenXmlFile.

Another issue is how Python tends to run words together instead of
consistently using either PascalCase or snake_case.  This makes
reading
with speech less intelligible.

Let me be clear that Python has a lot going for it -- I'm just
citing
problems from a blindness perspective, since you asked.  These
problems
are manageable with various techniques, as demonstrated by blind
programmers on this and other lists.  They are extra challenges,
however, that sighted beginners do not face.

Personally, I have come to the view that Visual Basic .NET is
currently
the best language for a beginning blind programmer to learn.  I
realize
it is Windows-oriented, however, rather than cross-platform, which
may
be important in a computer science curriculum.

I guess the needs of someone wanting to graduate in CS or a related
subject are different from someone else, e.g., a liberal arts
major, who justs wants to take an introductory programming
course.  It
can be expected that a CS-like student would need to manage
challenges
that a casual programming student would not.  Also, a CS-like
student
would need to learn more about theory and have a language that
supports advanced techniques.

Just my opinions -- others differ.

Jamal

On Thu, 12 Feb 2009,
Suzanne Balik wrote:

Date: Thu, 12 Feb 2009 08:07:29 -0500
From: Suzanne Balik <spbalik@xxxxxxxx>
Reply-To: programmingblind@xxxxxxxxxxxxx
To: programmingblind@xxxxxxxxxxxxx
Subject: Python?

Could some of you comment on using Python to teach programming at
the
college level and the effect that would have, if any, on blind
students?

Thanks so much,
Suzanne
--
Suzanne Balik          Computer Science Dept  Box 8206
Adjunct Lecturer       North Carolina State University
EB II 2318             Raleigh, NC 27695-8206
(919)515-5617          http://www4.ncsu.edu/~spbalik

When life kicks you, let it kick you forward.  Kay Yow
__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind


__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

Other related posts: