Beginning with Python; the right choice?

S

sato.photo

Hi,

As you can imagine, I am new, both to this group and to Python. I
have read various posts on the best book to buy or online tutorial to
read and have started to go through them. I was wondering, as someone
with virtually no programming experience (I am a photographer by
trade), is Python the right language for me to try and learn?

I do vaguely remember learning what I think was BASIC on some old
Apple's back in elementary school (circa 1992). Would something like
that (the name at least makes it SOUND easier) be more feasible?

If I do choose to learn Python, are there any tutorials for the
absolute beginner. I do not mean beginner to Python, but rather,
beginner to programming. Someone who hasn't a clue what object
oriented whatcha-ma-whoozit means. I ask again because I understand
that content is always evolving and there might be new tutorials out
there.

Thanks!

-Daniel Sato
 
M

Mensanator

Hi,

As you can imagine, I am new, both to this group and to Python. �I
have read various posts on the best book to buy or online tutorial to
read and have started to go through them. �I was wondering, as someone
with virtually no programming experience (I am a photographer by
trade), is Python the right language for me to try and learn?

Yes, absolutely.
I do vaguely remember learning what I think was BASIC on some old
Apple's back in elementary school (circa 1992). �Would something like
that (the name at least makes it SOUND easier) be more feasible?

No, go with Python. You can still get BASIC today, but it is usually
far different from what you saw on early Apples. If you have Excel,
try doing some macro programming to get a feel for what BASIC is like.
Excel's macro language is actually Visual Basic for Applications.
I use it extensively, not because it's a wonderful language, but
because
I have things that need getting done in Excel, such as looking at the
contents of a cell and deciding which of the Inhalation vs. Ingestion
TACO standard has been exceeded and performing formatting accordingly.

Nice to have that kind of power on your spreadsheet when you need it.

But away from Excel, I drop Visual Basic like a live grenade. I do
math research as a hobby and Excel even with VBA can't hold a candle
to what I can do in Python.
If I do choose to learn Python, are there any tutorials for the
absolute beginner. �I do not mean beginner to Python, but rather,
beginner to programming. �Someone who hasn't a clue what object
oriented whatcha-ma-whoozit means. �

I've been using Python for 10 years and have never once done any
object-oriented programming, so don't be intimidated by the fact that
Python has it. You don't HAVE to use it. Sure, it would nice to learn
it, but it need not stand in your way.
I ask again because I understand
that content is always evolving and there might be new tutorials out
there.

I'm not up on what's available, tutorial-wise, but I'm sure others
will point you in a decent direction.
 
T

Terry Reedy

Hi,

As you can imagine, I am new, both to this group and to Python. I
have read various posts on the best book to buy or online tutorial to
read and have started to go through them. I was wondering, as someone
with virtually no programming experience (I am a photographer by
trade), is Python the right language for me to try and learn?

I do vaguely remember learning what I think was BASIC on some old
Apple's back in elementary school (circa 1992). Would something like
that (the name at least makes it SOUND easier) be more feasible?

I consider Python the Basic of the 21st century.
 
C

Che M

Hi,

As you can imagine, I am new, both to this group and to Python.  I
have read various posts on the best book to buy or online tutorial to
read and have started to go through them.  I was wondering, as someone
with virtually no programming experience (I am a photographer by
trade), is Python the right language for me to try and learn?

I do vaguely remember learning what I think was BASIC on some old
Apple's back in elementary school (circa 1992).  Would something like
that (the name at least makes it SOUND easier) be more feasible?

If I do choose to learn Python, are there any tutorials for the
absolute beginner.  I do not mean beginner to Python, but rather,
beginner to programming.  Someone who hasn't a clue what object
oriented whatcha-ma-whoozit means.  I ask again because I understand
that content is always evolving and there might be new tutorials out
there.

Thanks!

-Daniel Sato

I was in your exact position (well, I wasn't a photographer) less than
three years ago, and I started Python from no programming knowledge
other than, just as you said, BASIC from long, long ago. I picked
it up enough to do what I want to do and have been quite happy with
it. I learned (my small subset of) it here and there over a year
or so I guess, just as I felt like it, as it was purely for hobby
(and I still learn new stuff of course). If you are hellbent on
learning it and have good instructional material, you could learn
a lot in a good month, really.

My best advice is to get a couple of ultra-basic short tutorials
read/viewed, and then identify *what it is you want to use Python
to do*. Any language can be used to essentially anything, and I
feel it is better to learn *per task* than to try to simply learn
the whole language. You will feel better having accomplished
something in line with your goals.

In terms of good tutorials for absolute beginners, here are two:

Alan Gauld's Learning to Program
http://www.freenetpages.co.uk/hp/alan.gauld/

ShowMeDo.com has lots of Python instructional videos, including this
one
for absolute beginners:
http://showmedo.com/videotutorials/series?name=irgGc9ChS

I also recommend the Python tutor list, which you can sign up for
here:
http://mail.python.org/mailman/listinfo/tutor

So what is it that you want to use Python for?

Che
 
T

Terry Reedy

Chris said:
I don't know whether that's an insult or a compliment... :p

At one time, Basic was the language that everyone learned, at least
amateurs and beginners of the time. It was an important part of the
microcomputer revolution. It made beginning programming available to
anyone, in spite of its faults.
 
H

Hendrik van Rooyen

Terry Reedy said:
I consider Python the Basic of the 21st century.

Oh Dear.

Was it not Dijkstra who said that learning basic
rotted your brain, or words more or less to that effect?

And here I am, feeling rather dull lately... :)

To the OP: - Learning Python will get you going, and productive
in the sense of actually making programmes that do simple stuff
with files on disk, and so on, faster than anything else I know of.

And the beauty of it is that no matter how far, and in which direction,
you want to go, there is a pythonic way to do it. So none of your
effort put in to learn some python thing is wasted - you can literally
start small and build up at your own pace. And when you get stuck,
you can come here or to the tutor list, and you will get friendly help.

- Hendrik
 
O

OdarR

Hi,

As you can imagine, I am new, both to this group and to Python.  I
have read various posts on the best book to buy or online tutorial to
read and have started to go through them.  I was wondering, as someone
with virtually no programming experience (I am a photographer by
trade), is Python the right language for me to try and learn?

I do vaguely remember learning what I think was BASIC on some old
Apple's back in elementary school (circa 1992).  Would something like
that (the name at least makes it SOUND easier) be more feasible?

If I do choose to learn Python, are there any tutorials for the
absolute beginner.  I do not mean beginner to Python, but rather,
beginner to programming.  Someone who hasn't a clue what object
oriented whatcha-ma-whoozit means.  I ask again because I understand
that content is always evolving and there might be new tutorials out
there.

Thanks!

-Daniel Sato

hi,

what is for you the purpose of learning programming ?
what do you want to do ?

at first glance, I think Python is a good choice for you, for its
clarity.

Olivier
 
J

Joachim Strömbergson

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Aloha!

Che said:
In terms of good tutorials for absolute beginners, here are two:

Alan Gauld's Learning to Program
http://www.freenetpages.co.uk/hp/alan.gauld/

....

Also, don't miss the great Dive into Python:

http://diveintopython.org/

A well written, easy to understand and fun (yes) introduction to all
fantastic things in Python.

- --
Med vänlig hälsning, Yours

Joachim Strömbergson - Alltid i harmonisk svängning.
========================================================================
Kryptoblog - IT-säkerhet på svenska
http://www.strombergson.com/kryptoblog
========================================================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkpF3lEACgkQZoPr8HT30QG+jQCgq5ZpTS8ErLA9/YKIPBdJSNGp
F80AoKBZHSCDfzPawcECKsYiIKbmLA5G
=ML8w
-----END PGP SIGNATURE-----
 
S

sato.photo

Thank you for all of the links and advice.

What do I want to learn Python for?

Again, pardon me for my lack of relevant information. I am also a
journalist (an out of work one at the moment, like so many others) and
I feel that learning python could be useful for computer assisted
reporting, that is, utilizing databases, creating interactive maps and
the like.

http://chicago.everyblock.com/crime/

I also am fond of the Ellington Content Management System, made using
django, which, if I am not mistaken, is related to
Python...in...some...way..lol. I'll figure it out? Any additional
advice now that you know what I want to learn and why would be greatly
appreciated.

Oh and, if you need a photographer, www.danielsato.com!

thanks again!

-daniel
 
T

Thomas Lehmann

read and have started to go through them.  I was wondering, as someone
with virtually no programming experience (I am a photographer by
trade), is Python the right language for me to try and learn?

Well, I'm a 100% C++ programmer but I like programming python for
prototyping and tools.

The answer on your question depends on your requirements. Some are
saying
that using Java and Swing are the best way to write applications.
But nothing is for free except the most languages you can download and
install. When you have no idea about software development you should
have a look there first. Do you want some little scripting only to get
some jobs easier done - well - you're right to use python.

However - you should be aware of: When you have learned python a while
and
when you will be forced to programm C++, Java or C# you have to start
again!
Check your requirements...
 
·

·èͼÁé

Hi,

As you can imagine, I am new, both to this group and to Python. I
have read various posts on the best book to buy or online tutorial to
read and have started to go through them. I was wondering, as someone
with virtually no programming experience (I am a photographer by
trade), is Python the right language for me to try and learn?

I do vaguely remember learning what I think was BASIC on some old
Apple's back in elementary school (circa 1992). Would something like
that (the name at least makes it SOUND easier) be more feasible?

If I do choose to learn Python, are there any tutorials for the
absolute beginner. I do not mean beginner to Python, but rather,
beginner to programming. Someone who hasn't a clue what object
oriented whatcha-ma-whoozit means. I ask again because I understand
that content is always evolving and there might be new tutorials out
there.

Thanks!

-Daniel Sato

Oh, i think python is the best programing language for you !
 
C

Charles Yeomans

Hi,

As you can imagine, I am new, both to this group and to Python. I
have read various posts on the best book to buy or online tutorial to
read and have started to go through them. I was wondering, as someone
with virtually no programming experience (I am a photographer by
trade), is Python the right language for me to try and learn?

I do vaguely remember learning what I think was BASIC on some old
Apple's back in elementary school (circa 1992). Would something like
that (the name at least makes it SOUND easier) be more feasible?

If I do choose to learn Python, are there any tutorials for the
absolute beginner. I do not mean beginner to Python, but rather,
beginner to programming. Someone who hasn't a clue what object
oriented whatcha-ma-whoozit means. I ask again because I understand
that content is always evolving and there might be new tutorials out
there.

As an alternative to Python, I'd suggest REALbasic. Its main
disadvantage is that it is not free. But you get a language, editor,
and two application frameworks in one package.

Charles Yeomans
 
K

Kee Nethery

I'll give you the same advice I used to give to people when they
wanted to decide whether to get a Mac or a PC, go with what your local
group of friends is using.

In general, if you have a local friend who can come over weekly (or
you can visit weekly) and have them help you with the stumbling
blocks, that is way more important than whether one language is better
than another. If there is someone at work who can stop by your desk on
a daily basis, that is even better.

All computer languages have a learning curve and a whole set of quirks
that are things that "everyone knows" (-: unless you are new to the
language). Eventually you will grok the language and know all the
weird gotchas that make no sense to a new person and from that point
forward the documentation will make sense and you'll be able to go
very far without having to ask others for help. Until that time,
something as simple as the use of a colon instead of a semi-colon can
halt your project for weeks. Having someone who can look at your code
and say "there's your problem ..." is way more important than the
language itself.

With all that background, here are my personal choices.

I started a long time ago with FORTRAN, BASIC, assembly language for
single chip micros, and ultimately Hypercard and AppleScript (on the
Mac), and finally the language used by the Arduino micros.

I've built a ton of code using Hypercard all the way from web server
CGIs to standalone user applications, to unattended code that runs
forever doing a task when needed. Hypercard is no longer a viable
coding platform so I had to find alternatives.

For GUI stuff on a Mac or PC, I use RunRev.

For all the Hypercard stuff I've built in the past I migrated to
Runtime Revolution (RunRev) which can be described as a multi-platform
Hypercard on steroids. The workflow is similar to Cocoa on the Mac.
You first create the user interface by dragging buttons and fields and
controllers and such onto windows and then when you like the way the
user interface works, you write code to have the various interface
elements do what they are supposed to when a user interacts with them.
For GUI type applications, things that run on a user's computer,
sometimes referred to as a heavy client, I find Runtime Revolution to
be extremely easy and I'm very productive in that environment. I have
web CGIs built in RunRev and it works quite well but ... it is a
single threaded system so a web site with tons simultaneous hits will
have scaling up problems. That said, high traffic web sites do use
RunRev but I wanted something that was not single threaded for web
stuff.

For web stuff I have used RunRev but am moving towards Python.

I went with Python mostly because a friend of mine who knows me and
who writes in many languages, thought it was the best fit for the way
my mind works, and he volunteered to help me when I get stuck on
stuff. He helped me find the Komodo IDE and got me set up to where I
had a very simple hello world CGI that I could expand upon.

Python has a proven ability to scale up and support more users than I
will ever need to support. It is what Google and many others run on.
The philosophy is for there to be only one way to perform a function.
A competent Python programmer can follow the code written by another
because there is only one dialect of Python (unlike Perl). These are
things I like about Python.

I'm using Python 2.6.2 with the Komodo IDE and I'm limiting myself to
the packages that come with the standard install of Python. So I'm not
using TurboGears or Django or WSGI or any of those, I just use cgi and
urllib (and urllib2). Until I know enough to really understand what my
code is doing, and more importantly what those packages are doing or
not, I'm not going to use add-on packages. So far I have not needed
them.

All that said, right now I am extremely inefficient in Python as
compared to RunRev. I can build a fairly complex CGI in RunRev in a
day, with Python, it takes me a month. Much of that has to do with
RunRev being a variation of Hypercard (both use a HyperTalk style
language) and I'm way past the 10,000 hour usage level on the
HyperTalk language. I'm barely at 100 hours with Python so right now
everything is a struggle. But I like Python and plan to stick with it.

Kee Nethery
 
D

Dave Angel

Hi,

As you can imagine, I am new, both to this group and to Python. I
have read various posts on the best book to buy or online tutorial to
read and have started to go through them. I was wondering, as someone
with virtually no programming experience (I am a photographer by
trade), is Python the right language for me to try and learn?

I do vaguely remember learning what I think was BASIC on some old
Apple's back in elementary school (circa 1992). Would something like
that (the name at least makes it SOUND easier) be more feasible?

If I do choose to learn Python, are there any tutorials for the
absolute beginner. I do not mean beginner to Python, but rather,
beginner to programming. Someone who hasn't a clue what object
oriented whatcha-ma-whoozit means. I ask again because I understand
that content is always evolving and there might be new tutorials out
there.

Thanks!

-Daniel Sato
I am also a photographer (portraits, weddings, parties, ...). But my
previous career was computer software (9 patents). So I know a bit
about both.

I only learned Python in the past year, having used 35 languages
professionally previously. And although Python wasn't the easiest to
learn, it was in the top 3, and it has the best ratio of power to
difficulty of learning.

The real point is that unless you're trying to make a career in
software, you're unlikely to need any of these "more powerful"
languages. And you can probably write a useful utility in your first 24
hours with the language. Don't worry too much about "object oriented"
at the start. And don't worry much about using "old tutorials." Until
Python 3, the language has been quite stable for many years. So my
advice would be to download Python 2.6 for your operating system, and
start playing.

Pick something simple for your first tasks, preferably something useful
in your main career. For example, try writing a utility that examines a
directory tree of image files, looking for some anomaly that you come up
with. For example, I use Nikon cameras, so my raw files have a .NEF
extension. I never delete the NEF file, but instead move it into a
subdirectory "Culled." So I could write a script that searches all
subdirectories of directory images/2009-05, looking for gaps in the
filenames found. Or look for .psd files that don't have a corresponding
..NEF file above them. Or check the .xmp files to make sure the business
copyright is in all files.

I don't know what operating system you're using, but it would be a big
help if you're familiar with the use of the command prompt.
 
Z

Zaphod

snip
In terms of good tutorials for absolute beginners, here are two:

Alan Gauld's Learning to Program
http://www.freenetpages.co.uk/hp/alan.gauld/

ShowMeDo.com has lots of Python instructional videos, including this one
for absolute beginners:
http://showmedo.com/videotutorials/series?name=irgGc9ChS

I also recommend the Python tutor list, which you can sign up for here:
http://mail.python.org/mailman/listinfo/tutor

So what is it that you want to use Python for?

Che

Also have a look at http://openbookproject.net/thinkcs/python/english2e/
which is a bit less in depth but faster and also fun way to get started.
I teach high school programming and although I do teach Visual Basic at
the lower levels (grade 9/10) I use Python for my grade 11/12 students.
It's an easy language to learn and has an incredible amount of
functionality through importable libraries.
 
S

Simon Brunning

2009/6/27 [email protected] said:
Thank you for all of the links and advice.

What do I want to learn Python for?

Again, pardon me for my lack of relevant information.  I am also a
journalist (an out of work one at the moment, like so many others) and
I feel that learning python could be useful for computer assisted
reporting, that is, utilizing databases, creating interactive maps and
the like.

http://chicago.everyblock.com/crime/

That's a Python site!

As a journalist, you might also be interested in
<http://www.guardian.co.uk/politics/2009/jun/18/mps-expenses-crowdsourcing-app>
- The Guardian, a UK national newspaper, quickly wrote and deployed a
Python application to allow their readers to cooperate in the massive
manual task of analysing MPs' expenses receipts, looking for
ill-doing.
 
A

Aahz

What do I want to learn Python for?

Again, pardon me for my lack of relevant information. I am also a
journalist (an out of work one at the moment, like so many others) and
I feel that learning python could be useful for computer assisted
reporting, that is, utilizing databases, creating interactive maps and
the like.

You're absolutely right! You're also not the first person to have that
realization:

http://www.time.com/time/business/article/0,8599,1902202,00.html
http://www.ojr.org/ojr/stories/060605niles/
http://www.medill.northwestern.edu/admissions/page.aspx?id=58645

(Probably you already knew this, but I'm posting for other people.)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,566
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top