473,407 Members | 2,359 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,407 software developers and data experts.

Hobbyist - Python vs. other languages

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
8 1323
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
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
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
>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
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
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
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
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

220
by: Brandon J. Van Every | last post by:
What's better about Ruby than Python? I'm sure there's something. What is it? This is not a troll. I'm language shopping and I want people's answers. I don't know beans about Ruby or have...
19
by: KefX | last post by:
I've been following the group a bit (somewhat loosely; discussions involving other languages or advanced concepts kind of lose me), and I see all this negativity (OMG Python's lambda is borken...
226
by: Stephen C. Waterbury | last post by:
This seems like it ought to work, according to the description of reduce(), but it doesn't. Is this a bug, or am I missing something? Python 2.3.2 (#1, Oct 20 2003, 01:04:35) on linux2 Type...
28
by: Maboroshi | last post by:
Hi I am fairly new to programming but not as such that I am a total beginner From what I understand C and C++ are faster languages than Python. Is this because of Pythons ability to operate on...
68
by: Lad | last post by:
Is anyone capable of providing Python advantages over PHP if there are any? Cheers, L.
25
by: abhinav | last post by:
Hello guys, I am a novice in python.I have to implement a full fledged mail server ..But i am not able to choose the language.Should i go for C(socket API) or python for this project? What are the...
53
by: Michael Tobis | last post by:
Someone asked me to write a brief essay regarding the value-add proposition for Python in the Fortran community. Slightly modified to remove a few climatology-related specifics, here it is. I...
35
by: John Coleman | last post by:
Greetings, I have a rough classification of languages into 2 classes: Zen languages and tool languages. A tool language is a language that is, well, a *tool* for programming a computer. C is the...
17
by: MilkmanDan | last post by:
I'll be a college freshman this fall, attending Florida Institute of Tech studying electrical engineering. I was considering taking some classes in programming and computer science, and I...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.