Looks nice.
I have two comments: (1) what is "the N900"?, and (2) the naming convention,
using 'Num' for a variable and 'clsAddress' for a class, is opposite of the
usual Python convention where one'd write 'num' and 'Address'.
Shameless plug for my own writings, an introduction to /programming/ for
newbies, using Python -- this work is progressing slowly but steadily:
<url: http://preview.tinyurl.com/ProgrammingBookP3>
which is in Google Docs; a table of contents available as text file (it's not
complete wrt. to latest stuff I added) and also in the PDF files themselves.
Comments very welcome! :-)
Cheers,
- Alf
PS: The last three or four paragraphs in ch 2 were sort of negative so I've
replaced them with one single short much more upbeat paragraph. Working...
(2) I agree that the naming convention is nonPythonic.
The N900 is what I consider the coolest portable device ever:
http://temporaryland.wordpress.com/2009/10/09/nokian900-not-just-an-itoy/
http://www.themaemo.com/and-now-for-something-completely-different-the-n900-and-its-killer-feature/
This tutorial is also a work in progress. We welcome the help. In
fact there is a Google Wave already set up for this purpose.
I'll take a look at your writings. What license are you making them
available with.
One of the reasons I started writing this tutorial was because I found
the lot of existing tutorials lacking in their approachability by
people new to programming. Just about all of them were either not
comprehensive enough, or seemed written by geniuses for geniuses. I
hope you will allow me to quote a little excerpt from your tutorial
that makes my point quite eloquently:
"I have to use as-yet-unexplained language features in order to
present examples that do relevant things, because it would be too much
to explain the language features & concepts here. These features are
explained in later chapters, so for now you can just adopt a very
casual attitude, hey, it works!"
Don't get me wrong, your approach probably works for a certain type of
people. But there are a lot of us that find this approach very
difficult to follow. The approach of this tutorial is gradually
introduce new concepts so that the student can follow along at a
logical and pleasant pace. Yes, it has a disadvantage. The examples
can't be too elaborate. But, the purpose of tutorial, to teach the
language, is better accomplished this way. If I was teaching a group
of people the English language, I would not go about doing so with a
George Gordon Byron poem.
Well, we agree on that. :-)
You just quoted the above a little out of context. It's about the code examples
in ch 1. Ch 1 is /not/ about programming: it's about tool usage, getting
started, and next to nothing about the language or programming is discussed.
So from my POV as author that criticism is like criticizing a bus driver for not
explaining the technical workings of the bus when he's taking potential new bus
drivers on a tour of the bus routes they may/will be driving later.
Of course if the potential new drivers expect to be educated about the bus'
technical stuff on that tour, just ignoring or not registering the up-front
information about the tour, then they may grumble about only being shown some
scenery, and what's this all about places and distances and routes?
So, I think you read that with wrong expectations.
> Yes, it has a disadvantage. The examples
> can't be too elaborate.
But here we disagree somewhat.
If you look at ch 2 you'll see that with Python examples can be quite impressive
without using more than just the tiniest little subset of the language.
That is, when one has room to discuss things (difficult in an web based tutorial
like yours, or like my once-upon-a-time C++ tutorial, but now I do have that
room for discussion and guidance!) then a student's first examples do not need
to be text only or dry academic. :-)
> But, the purpose of tutorial, to teach the
> language, is better accomplished this way. If I was teaching a group
> of people the English language, I would not go about doing so with a
> George Gordon Byron poem.
Oh, I think you should!
Especially considering that his daughter Augusta Ada was the world's first
programmer and could be suspected of having an affair with Augustus de Morgan
(who together with George Boole invented boolean logic, they published their
works in the same week, and anyway was Augusta's private math tutor).
Or perhaps start more easy, with Augustus de Morgan's infamous recursive fleas
poem (ah, one may suspect some connection to Lord Byron there)!
Cheers,
- Alf
Dunno if you intended to, but in the last link you imply that you can't run
Python on android, when you can do so either via ASE or through the
JNI.
Geremy Condra
The article you mention says:
"I realize that there is an effort in Android to make Python and other
scripting languages available to some degree, but from what I have
seen they are relegated to macro like functionality. In other words,
you wont be able to create full blown stand alone Python applications
in Android. The N900, on the other hand, will allow this. Even the GUI
side of the applications can be created with well known Python
toolkits like PyGTK and PyQt."
That impression came from this blog:
http://google-opensource.blogspot.com/2009/06/introducing-android-scripting.html
Are you saying that one can write full blown stand alone Android
applications in Python, GUI and all.