Hi, I am a newbie at designing webiste. So far I have learned some html, css and
slightest idea about which to choose. It seems that php is the most commonly used ,but I
have a liking for python. Yesterday, I asked my hosting company whether their server supports python and
got the positive answer. Now I wonder if I choose to learn python, will I be able to do all
the things usually done by php and will there be any limitations or will you be kind enough
to give me some other good suggestions. Thank you very much.
Well, you must have seen something you like about Python, so go ahead and keep it in mind. You can use any of the major back-end languages to do web stuff in, so that's not an issue.
Esp since your host says they support Python, you know you won't have to deal with possibly the main reason PHP is most popular even with people who don't like it: many hosters only offer PHP.
Python's is pretty much "there should be one, and preferably only ONE, right way to do it". Coding in the same manner between programmers is more important in the Python community.
Snake Handlers is gone but somewhere in the Python thread 7stud mentions a good Python community, also for newbies, where you can peek in and see if you like how they live and code. Apologies for the crappy Python sticky, we're in the process of redoing it still, and otherwise, a few threads further down in this section someone asked some good questions about Python and 7stud mentioned some excellent resources to learn more.
Ruby is often considered "fun" to program in. People also find it more readable (as in more English-like, which is a little strange for a Japanese language!) when they are first learning it. Take a look at Ruby and see what you like about it.
Perl is of course the most awesome language EVAR : ) The Perl sticky HAS been updated (yay). However one thing people have issues with is hosters. People try to download modules and find they need to be root, which you aren't on shared hosting. But, there are ways around that.
I don't think you have to worry about Python not being able to do something PHP can. I doubt there's anything PHP does that another language (at least another of the big scripting languages) doesn't do. PHP has a bazillion "core functions" lawlz. Other languages just combine fewer together to do the same thing. For any framework you run across in PHP, each of the other languages I listed above have their own, and Ruby's got a lot more than Rails even if they get less attention.
Choose a language because you like it; because it has a good, supportive community; because it does what you want (again, web stuff, anyone does really). I didn't mention any of the Java, .NET, C# stuff, but check out the forums for those languages/frameworks if you were curious. They all have their pros and cons, and if you know what they are before settling on one, you can make a better decision. Not just "will it run my web page" cause as I said, they all can. But whatever else is going on in your head. Are you considering how it affects your skills/resume?
Read blogs written by people who talk about their language. Sure, they're all biased : ) but you get an idea of what the spirit of the language is, and what kinds of people it attracts.
PHP: fast learning and deployment but allows crappy code
Python: Great code readbilitty real oop and google and others use it.
Ruby: kinda like python but is not as pretty and rails framework seems dead and to complicated
I learned php but was to procedral i needed oop goodness lol $ annoys me for variables
Now i use python and php:D imo python is better
I use both PHP and Python in my web development work. Python can do far more than PHP, yet I feel like there are some hurtles that beginners might face with Python, particularly setting up Python through Apache (or another web server). However, if your host has already handled this task, then you can avoid this entirely.
Python has an active community and a host of good, free resources. A good starting point is the online version of [Dive Into Python. For web development, Django is a very popular framework and [URL="http://djangobook.com/"]The Django Book](http://diveintopython.org/toc/index.html) is a good place to start learning about that.
As Stomme poes mentioned, you have to find the development language that works best for you. PHP, Python, and Ruby will all essentially allow you to execute the same tasks, but one may simply feel more natural to you.