How to become more motivated to learn Python

mm0fmf none at invalid.com
Tue May 3 13:44:20 EDT 2016


On 03/05/2016 17:50, Rob Gaddi wrote:
> Cai Gengyang wrote:
>
>> So I have completed up to CodeAcademy's Python Unit 2 , now moving on to Unit3 : Conditionals and Control Flow.
>>
>> But I feel my motivation wavering , at times I get stuck and frustrated when trying to learn a new programming language ?
>>
>> This might not be a technical question per say, but it is a Python programming related one. How do you motivate a person (either yourself or your child) to become more interested in programming and stick with it ? Is determination in learning (especially in a tough field like software) partly genetic ?
>>
>> Related , This is a very well written essay on determination by Paul Graham ----------------------------------------http://www.paulgraham.com/determination.html
>>
>> Gengyang
>
> You don't.  Learning programming is dull and sloggy and inherently
> unmotiving.
>
> Now, solving a problem, on the other hand.  Solving a problem is fun.  A
> real problem, an actual task that you actually need to do, not
> FizzBang.  The thorny, nasty, horrible problems are great fun, and when
> you beat them into submission and mount their heads on your wall, but
> even the little ones like "I've got an 8GB USB stick, I want to put a
> random selection of all my MP3 files onto it." are entertaining.
>
> The Python's not the point.  It can never be the point.  Have a thing
> you want to do, and not just "Get a high paying job." If the tool for
> doing that thing is Python, so be it. If you need a soldering iron, or a
> hammer and chisel, or a structural engineering degree instead, then go
> figure out how to use one of those and Python will still be waiting when
> you do need it.
>

+1

I learned Python because... I had a problem to solve.

First I had to recompile a Linux kernel for an oddball PPC based NAS I 
used a lowpower computer. Then I had to find the patches that fixed some 
USB issues. Then I had to make a USB GSM modem work as it was a nasty 
Windows Zero-CD system. Then I wrote a program in C/C++ to process data 
from the modem and play with the ASCII strings and then push them to a 
website. I used libcurl to do the web work. It was a nightmare to 
debug/enhance and handling raw C strings in C or C++ was a pain. And I 
thought there has to be a better way.

I kept seeing mention of Python so I thought I'll rewrite this in 
Python. But I couldn't find Python 2.7.x for PPC so I had to get the 
Python source and build that from scrath and check it worked OK.

It took about 7 days of deep hacking to be able to rewrite on a line by 
line basis the C/C++ in Python. Boy was it ugly. But it worked. Then as 
I enhanced the program it became more Pythonic and I starting using the 
language and not abusing it. And the more I used it the easier it 
became. That code is online on a cheap VM running 24/7 and has about 450 
users worldwide growing by several a week. This group was huge source of 
inspiration looking at the replies people gave to questions. It also 
motivated me to stop faffing about and convert my Python2 code to 
Python3 which again was straightforward.

So I learned Python to solve a real world problem and it took a huge 
amount of effort along the way to realise I had to get a better way to 
maintain a program that was now being relied on by others. I didn't set 
out to learn Python but I'm sure glad I did.

In 33 years of code bashing, I found a language that let me think about 
the problem not the programming language.

YMMV







More information about the Python-list mailing list