By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,173 Members | 1,079 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,173 IT Pros & Developers. It's quick & easy.

Hobbyist - Python vs. other languages

P: n/a
I have been playing with computers since I first learned to program
moving shapes on an Atari 800XL in BASIC. After many years of dabbling
in programming languages as a hobbyist (I am not a computer scientist
or other IT professional), I have never found a way to stick with a
language far enough to do anything useful. I learn all about loops
and data structures and functions/methods etc. but never get to create
a program that will do anything of value that I can't more easily do
via freeware. Well, except the slot car timing system I wrote in C++
for Linux many moons ago.

Honestly Python seems like a breath of fresh air and possibly a way to
get back to my BASIC roots, you know, programming just for the fun of
it.

Since I don't have a specific problem to solve, besides
Pythonchallenge (which I found very cryptic), and Project Euler (which
I found beyond my mathematics skills), is there a place to go for
increasingly difficult problems to solve? I have followed a number of
the recommended online tutorials that contain a logical progression of
problems and yet they all end at the point where a person has enough
knowledge of the syntax, but not really enough to do anything.
Jul 31 '08 #1
Share this Question
Share on Google+
8 Replies


P: n/a
On Jul 31, 1:32*pm, fprintf <stuart.a.h...@gmail.comwrote:
I have been playing with computers since I first learned to program
moving shapes on an Atari 800XL in BASIC. After many years of dabbling
in programming languages as a hobbyist (I am not a computer scientist
or other IT professional), I have never found a way to stick with a
language far enough to do anything useful. *I learn all about loops
and data structures and functions/methods etc. but never get to create
a program that will do anything of value that I can't more easily do
via freeware. Well, except the slot car timing system I wrote in C++
for Linux many moons ago.

Honestly Python seems like a breath of fresh air and possibly a way to
get back to my BASIC roots, you know, programming just for the fun of
it.

Since I don't have a specific problem to solve, besides
Pythonchallenge (which I found very cryptic), and Project Euler (which
I found beyond my mathematics skills), is there a place to go for
increasingly difficult problems to solve? I have followed a number of
the recommended online tutorials that contain a logical progression of
problems and yet they all end at the point where a person has enough
knowledge of the syntax, but not really enough to do anything.
I've noticed that there's a gap between learning the syntax and
actually being able to do something myself. It's pretty annoying.
However, all you need is to come up with some projects that you'd like
to do, such as inventorying some collection you have (CDs, DVDs,
Clocks, whatever). Then you have a place to start.

The next step is to break the project down into smaller parts until
you have parts to tackle. Let's say you want to inventory your DVDs
for example. First, you'd need to figure out how much data about each
title you want. Examples might include Title, Director, top 3 actors,
price, and purchase date. Once you know what you want to store, you
can learn about data persistence (i.e. databases!).

Or you could join a local Python Users Group or an open source
project. I learn a lot just helping people on this and other Python
lists.

Mike
Jul 31 '08 #2

P: n/a
fprintf:
and yet they all end at the point where a person has enough
knowledge of the syntax, but not really enough to do anything.
A programming language is a tool to solve problems, so first of all:
do you have problems to solve? You can create some visualizations,
some program with GUI, some networked code to download things and
process them, etc.

Another thing is that you probably have to learn beyond syntax, you
can learn about GUIs, network protocols, PyGame, mathematics, some
science, etc, they will give you both more things to learn (about the
language too) and problems/ideas to solve.

Bye,
bearophile
Jul 31 '08 #3

P: n/a
fprintf wrote:
I have been playing with computers since I first learned to program
moving shapes on an Atari 800XL in BASIC. After many years of dabbling
in programming languages as a hobbyist (I am not a computer scientist
or other IT professional), I have never found a way to stick with a
language far enough to do anything useful. I learn all about loops
and data structures and functions/methods etc. but never get to create
a program that will do anything of value that I can't more easily do
via freeware. Well, except the slot car timing system I wrote in C++
for Linux many moons ago.

Honestly Python seems like a breath of fresh air and possibly a way to
get back to my BASIC roots, you know, programming just for the fun of
it.

Since I don't have a specific problem to solve, besides
Pythonchallenge (which I found very cryptic), and Project Euler (which
I found beyond my mathematics skills), is there a place to go for
increasingly difficult problems to solve? I have followed a number of
the recommended online tutorials that contain a logical progression of
problems and yet they all end at the point where a person has enough
knowledge of the syntax, but not really enough to do anything.
--
http://mail.python.org/mailman/listinfo/python-list
My situation's a bit different because I code for a living, but I also
code sometimes for the heck of it. I come up with small, hobby projects
one of two ways. (1) There's a whole lot of comp sci stuff out there
that I don't know. So when I come across a new concept, pattern, etc., I
write a little implementation. E.g., one day I was reading about how
someone used memoization in a certain problem (don't remember what), so
I thought "I bet I could do that as a decorator." So I did. (2) If you
have some simple task, write a program to do it (even if there's a
program out there already). E.g., I recently took a trip to Japan and
decided to learn the kana before going. I found a website to help me
learn them, then implemented my own version in Python for the heck of it.

If you just examine the things you do with a computer, and challenge
yourself "I bet I can do that in 100 lines of Python," I think you'll
find no shortage of projects.

-Matt
Jul 31 '08 #4

P: n/a
>Since I don't have a specific problem to solve, besides
Pythonchallenge (which I found very cryptic), and Project Euler (which
I found beyond my mathematics skills), is there a place to go for
increasingly difficult problems to solve? I have followed a number of
the recommended online tutorials that contain a logical progression of
problems and yet they all end at the point where a person has enough
knowledge of the syntax, but not really enough to do anything.
You may enjoy:

http://www.pythonchallenge.com/

It's a blast and a half. To solve the
puzzles you have to write python programs
that do various things.

Toby
** Posted from http://www.teranews.com **
Aug 1 '08 #5

P: n/a
On Jul 31, 1:32*pm, fprintf <stuart.a.h...@gmail.comwrote:
I have been playing with computers since I first learned to program
moving shapes on an Atari 800XL in BASIC. After many years of dabbling
in programming languages as a hobbyist (I am not a computer scientist
or other IT professional), I have never found a way to stick with a
language far enough to do anything useful. *I learn all about loops
and data structures and functions/methods etc. but never get to create
a program that will do anything of value that I can't more easily do
via freeware. Well, except the slot car timing system I wrote in C++
for Linux many moons ago.

Honestly Python seems like a breath of fresh air and possibly a way to
get back to my BASIC roots, you know, programming just for the fun of
it.

Since I don't have a specific problem to solve, besides
Pythonchallenge (which I found very cryptic), and Project Euler (which
I found beyond my mathematics skills), is there a place to go for
increasingly difficult problems to solve? I have followed a number of
the recommended online tutorials that contain a logical progression of
problems and yet they all end at the point where a person has enough
knowledge of the syntax, but not really enough to do anything.
Don't overlook comp.lang.python as a source.

Can you answer every problem posted? If not, you've much
to learn. And solving them, even if you never reply, is a
great learning experience.

I try to reply when I think I have an answer, often to be
disappointed by someone else's much better answer. But I see
such as much for my benefit as for that of the OP.
Aug 1 '08 #6

P: n/a
On 31 jul, 15:32, fprintf <stuart.a.h...@gmail.comwrote:
I have been playing with computers since I first learned to program
moving shapes on an Atari 800XL in BASIC. After many years of dabbling
in programming languages as a hobbyist (I am not a computer scientist
or other IT professional), I have never found a way to stick with a
language far enough to do anything useful. *I learn all about loops
and data structures and functions/methods etc. but never get to create
a program that will do anything of value that I can't more easily do
via freeware. Well, except the slot car timing system I wrote in C++
for Linux many moons ago.

Honestly Python seems like a breath of fresh air and possibly a way to
get back to my BASIC roots, you know, programming just for the fun of
it.

Since I don't have a specific problem to solve, besides
Pythonchallenge (which I found very cryptic), and Project Euler (which
I found beyond my mathematics skills), is there a place to go for
increasingly difficult problems to solve? I have followed a number of
the recommended online tutorials that contain a logical progression of
problems and yet they all end at the point where a person has enough
knowledge of the syntax, but not really enough to do anything.
Are you interested in web development?
This could be a very good way to use python for doing useful things,
since any app you create for the web can be instantly available to
thousands of people. And now you have Google App Engine, which is a
new and free way to get your python app online.
Actually, any problem you may want to solve should have some kind of
graphical interface if you want your app to be used by other people.
So why not giving your apps a web interface? It has many advantages,
and it seems to be the way to go today.
Aug 1 '08 #7

P: n/a
Tobiah wrote:
You may enjoy:

http://www.pythonchallenge.com/

It's a blast and a half. To solve the
puzzles you have to write python programs
that do various things.
Thanks for that. I can see that will keep me amused for quote some time.
Aug 5 '08 #8

P: n/a
On Jul 31, 8:32*pm, fprintf <stuart.a.h...@gmail.comwrote:
Since I don't have a specific problem to solve, besides
Pythonchallenge (which I found very cryptic), and Project Euler (which
I found beyond my mathematics skills), is there a place to go for
increasingly difficult problems to solve? I have followed a number of
the recommended online tutorials that contain a logical progression of
problems and yet they all end at the point where a person has enough
knowledge of the syntax, but not really enough to do anything.
Just today I saw this recipe on the cookbook, "TV-Series Current
Episode Info":
http://code.activestate.com/recipes/572193/
As you see, there are plenty of useful things you can do with a
programming language ;)
Another trivial example: I am keeping an electronic journal as a
Python script which checks today's date, create a file with that date
(if it does not exist already) and open it with Emacs. That's all. I
can search the journal with grep. Since I write the journal in rst
format I can publish it on the Web in HTML or print it in PDF. It
takes 20 minutes to write a script like that, and it working better
for my needs than any commercial application could. The biggest
feature is the absence of features: less is more.

Michele Simionato
Aug 5 '08 #9

This discussion thread is closed

Replies have been disabled for this discussion.