[Tutor] newbie Questions

Steven D'Aprano steve at pearwood.info
Mon Jul 16 16:40:51 CEST 2012


Matthew Ngaha wrote:
> Hi all. I'm new to Python and Programming in general. I've started out with
> Python for beginners, and so far so good. My friend who i might add, is not
> a programmer but has had experience in the world of programming (i dont
> know how much but he claims a lot), has told me to forget about Python and
> focus on PHP. He knows i studied a HTML and CSS course and told me for the
> direction i'm going in, Python is not needed and won't give me all the
> options or variety PHP can. Thats he's opinion, i'd rather make my own mind
> up, but its lead me to these questions out of curiousity:

What do you want to do? Do you want to program in a clean, fun language?

Or do you want to find it easy to get a low-paying coding job?

(Admittedly, low-paying is relative -- slinging PHP code may be at the bottom 
of the programming totem pole, but it's better than slinging hamburgers at 
McDonalds.)

There are more PHP jobs available than Python jobs. But there are also more 
PHP developers than Python developers, because every doofus with a copy of 
Idiots Guide To Idiot Programming thinks they can code in PHP :)

Seriously, you will be competing with a million other PHP coders, and ten 
million more in India willing to work for $10 an hour. *And* using a horrible 
language.


> a) at this early stage i dont exactly know what web options are:(  but is
> Python limited when it comes to matters relating to Web options/developing?

Absolutely not. Python has many powerful web development systems:

Django, Zope, Plone, MoinMoin, Trac, Pylons, TurboGears, and my favourite (for 
what little it's worth), CherryPy.

More here: http://wiki.python.org/moin/WebProgramming/

The one limitation is that while nearly all hosting providers supply PHP by 
default, only a few supply Python.


> b) Are there better options, or can Python get the job done as good as any?

The opposite: some systems can get the job done almost as well as Python.


> c) after completing and understanding a beginner's book, would i be at
> intermediate level, or still below?

"If I tie two pieces of short string together, will it be as long as a long 
piece of string?"

:)



> d) Would i need a more advanced tutorial, what do you advise after
> finishing a beginners course?

Tutorials are great, but nothing beats programming. Program program program.

Even if your programs are never finished, just keep coding.


> e) And finally, are there other essential things i must learn after Python?
> i heard Django is important?

Django is one out of many web frameworks. If you don't like Django, there are 
alternatives.


> f) is Django the equivelent to PHP's MySql?

No, and no.

Django is something like an application-builder for the web, using Python.

MySQL is a database which you can use from any programming language, including 
PHP and Python. There are many other databases, ranging from SQLite to 
Oracle's monster database systems. Python can talk to (nearly) them all.


> You dont have to answer all questions. Just answering one would help me
> greatly in my future decisions, as i want to commit fully to the right
> programming language.

You will be a better programmer if you expose yourself to multiple different 
languages and programming paradigms. It's like being a cook: the world-class 
chefs learn many different styles of cooking, and are equally at home cooking 
Italian, Chinese or Cajun, and can invent new fusion recipes that combine the 
best of different cultures. Average chefs can grill a pretty good steak, and 
absolutely nothing else.


> since this isnt a forum, how can i thank everyone for helping?

Dibs on your first born child!!!

But seriously, just remember that this is a community staffed by volunteers. 
Some day, you can give back to the community by helping others just as you 
were helped.



-- 
Steven


More information about the Tutor mailing list