[BangPypers] **************PYTHON NEWBIE**************

Faiz Kothari faiz.off93 at gmail.com
Fri Dec 5 11:15:06 CET 2014


Saurabh,

perhaps you should learn some mailing list *etiquettes* first. The
formatting of your mail, sigh..
Don't take it the wrong way but this is a very important thing.

> The issue is even after writing a lot of programs on my own and taking
> these different courses I still feel I have a long way to go before I
write
> a web app on my own.
> There is too much to read and no one to guide as to how one must proceed
> in order to be become proficient enough to code a product on your own.

As far as writing serious apps in python is concerned, the problem is not
with the lack of guidance, but a *lack of creativity or no motive*. The
first part is to identify a problem.
What problem you want to solve with your python app?
Don't think of a very big or ambitious problem. Start with something small.
You can try python cook book. it will give you a lot of ideas.

> The issue is I have a visual idea about what I plan to build in terms of
the algorithm the
> product would use.
> But I don’t know how to go about writing the front end with python and
how to use the different
> frameworks that are heavily endorsed by people on quora.

Don't aim for something big as big as Quora. Definitely you can, but it
requires patience and a lot of determination, specially if you are just a
one man army. If you have a team, then go ahead, but first make a plan. For
example, evaluate the frameworks out there. Do you need something as
complex as Django or you can do away with web.py You can also look at the
source of reddit. AFAIK, reddit was also built on top of web.py Its not a
framework, just a lib, but you see, it powers the Front Page of the
Internet :D Also don't be rigid that you want to build a blog only. There
are many interesting problems to solve out there.

For starters you can build a package installer for Ubuntu (if you use it)
You can also write your own toy shell. You will learn a lot of things about
Unix shells.
or you can start writing a NoSQL data store. like redis, or etcd. Provide
restful APIs for it.
or make a pet search engine.
you can also do image processing in python using SimpleCV or OpenCV. Maybe
make an intruder detector.

So first find a problem to work on. Unless you won't have a motive, you
will be just breaking your head. Also be patient. Your mind will absorb one
thing at a time and it has a finite capacity, so don't try to learn
everything, or in the end you will be the jack of all trades, but master of
none.

In parallel learn how to use git or hg or any version control system, how
to create a patch, send a pull request, send patch in mails, how to write
test cases, how to automate tasks, etc.
These will make you not just a better python dev but also a good software
dev as well.

And most importantly,
Enjoy!

--Faiz


More information about the BangPypers mailing list